Hướng dẫn sử dụng WP Manage

v1.3.0

🔒 Đăng nhập & Bảo mật tài khoản

Đăng nhập

  1. Truy cập panel tại https://yourdomain.com
  2. Nhập EmailMật khẩu
  3. Nhấn Đăng nhập
Lưu ý

Sau 10 lần đăng nhập sai liên tiếp, IP sẽ bị khóa tạm thời 5 phút.

Xác thực 2 bước (2FA)

Nếu tài khoản đã bật 2FA, sau khi nhập đúng email/mật khẩu sẽ xuất hiện màn hình nhập mã 6 chữ số từ ứng dụng xác thực (Google Authenticator, Authy...). Nếu mất điện thoại, dùng recovery code (8 ký tự) đã lưu khi bật 2FA.

Bật/Tắt 2FA

  1. Vào Settings → tab Bảo mật
  2. Nhấn Bật xác thực 2 bước
  3. Quét mã QR bằng ứng dụng xác thực
  4. Nhập mã 6 chữ số để xác nhận
  5. Lưu lại 10 recovery codes vào nơi an toàn

Yêu cầu mật khẩu

Tối thiểu 8 ký tự, có ít nhất 1 chữ hoa, 1 chữ thường, 1 chữ số.

📈 Dashboard

Dashboard hiển thị tổng quan hệ thống theo thời gian thực.

Thống kê tổng quan

Chỉ sốÝ nghĩa
Total ServersTổng số server đang quản lý
Total SitesTổng số WordPress site
Active SitesSites đang hoạt động (% online)
Storage TrackedTổng dung lượng đang theo dõi (GB)

Real-time Server Metrics

Mỗi server hiển thị % CPU, RAM, Disk theo thời gian thực. Indicator xanh = online, xám = offline. Dữ liệu cập nhật mỗi 30 giây qua WebSocket.

Danh sách nhanh

Servers — trạng thái, IP, CPU/RAM/Disk. Sites — domain, PHP version, server, trạng thái.

🖥 Quản lý Servers

Thêm Server mới

  1. Vào Servers → nhấn + Thêm Server
  2. Điền: Tên server, IP Address, SSH User (mặc định: root), SSH Port (mặc định: 22), xác thực bằng Password hoặc SSH Key
  3. Nhấn Deploy — panel tự động kết nối SSH, cài đặt Nginx, PHP-FPM, MariaDB, Redis, Fail2Ban, UFW, Certbot, WP-CLI, và khởi động agent
  4. Theo dõi tiến trình cài đặt theo từng bước trong log realtime
Yêu cầu server

Ubuntu 22.04/24.04, tối thiểu 1GB RAM, port 22 mở.

Xóa Server

Vào trang chi tiết server → nhấn Delete Server → xác nhận. Lưu ý: chỉ xóa record trong panel, không xóa dữ liệu trên VPS.

🔧 Server Tabs chi tiết

Nhấn vào tên server để mở trang chi tiết với các tab sau:

Overview

Thông số phần cứng (OS, CPU cores, RAM, Disk), trạng thái agent và phiên bản, thời gian heartbeat cuối, trạng thái các services (Nginx, PHP-FPM, MariaDB, Redis, Certbot, Fail2Ban, UFW, Cron, WP-CLI).

Firewall (UFW)

Xem danh sách rule hiện tại. Thêm rule: chọn Allow/Deny, protocol (TCP/UDP/both), port, source IP. Xóa rule: nhấn icon xóa. Mọi thay đổi áp dụng ngay.

Nginx

Xem/sửa cấu hình Nginx, thêm custom location blocks, cấu hình redirect rules. Rebuild Config — tái tạo toàn bộ vhost từ database. Health Check — kiểm tra Nginx/PHP-FPM/MariaDB/Redis.

PHP-FPM

Xem pool từng site, chỉnh pm.max_children, pm.start_servers, timeout. Autotune — tự tính toán cấu hình tối ưu dựa trên RAM server.

MariaDB

Danh sách databases với sizes, tạo/xóa database và users, cấp/thu quyền, import SQL file (tối đa 512MB).

OPcache

Bật/tắt OPcache, xem thống kê hit rate và memory usage, flush cache thủ công.

Redis

Cấu hình Redis server-level, xem thống kê memory/hits/misses, flush cache.

Cron Jobs

Thêm/bật/tắt/xóa cron job hệ thống. Mỗi job có command, schedule (cron expression), user chạy.

SSH Keys

Thêm/xóa SSH public keys. Keys được deploy vào ~/.ssh/authorized_keys của root.

Alerts

Tạo rule cảnh báo: chọn metric (CPU/RAM/Disk), ngưỡng %, kênh (Telegram/Slack/Email), cooldown time. Xem lịch sử cảnh báo đã kích hoạt.

Fail2Ban

Xem danh sách jails đang active, IP đang bị ban. Unban IP thủ công. Chỉnh cấu hình jail: maxretry, bantime, findtime.

Logs

Stream log realtime: Nginx access/error, PHP-FPM, MariaDB, syslog. Chọn số dòng hiển thị.

🌐 Quản lý Sites

Tạo Site mới

Wizard tạo site gồm 3 bước:

  1. Thông tin cơ bản: Domain (ví dụ: example.com), chọn Server, chọn PHP Version (7.4–8.4)
  2. WordPress: WP Admin User, Email, Password. Chọn Install Type: Auto (cài WP tự động) hoặc Manual (chỉ tạo cấu trúc thư mục)
  3. Tùy chọn: Bật SSL (tự động cấp Let's Encrypt), bật Redis cache

Nhấn Create — theo dõi tiến trình tạo site: tạo Linux user → Database → Download WP → Nginx config → PHP-FPM → SSL. Thời gian khoảng 2–3 phút.

Đổi PHP Version

Tab Overview → nhấn dropdown PHP Version → chọn version mới → xác nhận. PHP-FPM pool sẽ được tạo lại.

Xóa Site

  1. Trang danh sách Sites → nhấn icon Delete
  2. Nhập domain để xác nhận
  3. Nhấn Delete — xóa hoàn toàn: files, database, Nginx config, PHP-FPM pool, SSL cert, Linux user
Cảnh báo

Xóa site là hành động không thể hoàn tác. Hãy tạo backup trước khi xóa.

📄 Site Tabs chi tiết

Nhấn vào domain để mở trang chi tiết với 20+ tabs:

📄
Tổng quan

Thông tin WP, credentials, SSL, hành động nhanh (Restart, Suspend, WP Admin, Visit)

📁
Quản lý File

Duyệt, tải lên (kéo thả), chỉnh sửa có syntax highlight, giải nén, đổi quyền

🔁
Staging

Tạo bản sao staging, đẩy lên production, xem trạng thái

🔃
Cập nhật

Kiểm tra core/plugins/themes, áp dụng cập nhật, cấu hình auto-update

🗃
Cơ sở dữ liệu

Tối ưu bảng, dọn revisions (giữ 5 bản), xóa transients hết hạn

📈
Hiệu suất

Google PageSpeed Insights: Mobile/Desktop, LCP, CLS, FID, TTFB, Lighthouse

📷
Hình ảnh

Nén JPEG/PNG (jpegoptim, optipng), chuyển WebP, Nginx WebP auto-serve

🌐
Multisite

Chuyển sang multisite (subdomain/subfolder), tạo/xóa subsites

🔗
Tên miền

Thêm domain alias, redirect 301/302, SSL riêng, kiểm tra DNS

🚀
Redis

Bật/tắt Redis cache, xem hit rate/memory, flush, cấu hình max memory

🕐
Cron

Xem WordPress cron jobs, thống kê thực thi

📂
SFTP

Tạo tài khoản SFTP chroot, cách ly theo site, thông tin kết nối

🛡
WAF

ModSecurity, OWASP CRS, paranoid level 1–4, IP whitelist, custom rules

🔒
SSL

Let's Encrypt, upload cert tùy chỉnh, Force HTTPS, trạng thái hết hạn

WP-CLI

Terminal chạy lệnh WP-CLI từ xa, lịch sử lệnh, 24 lệnh cho phép

Bộ nhớ đệm

Nginx FastCGI cache, cấu hình cache time, loại trừ URL, purge

📥
Nhập khẩu

Import từ server ngoài qua SSH: rsync files + mysqldump database

💾
Sao lưu

Tạo backup Full/DB, lịch trình tự động, khôi phục, remote storage

🔐
Gia cố bảo mật

6 quy tắc: tắt XML-RPC, ẩn WP version, headers, quyền file, limit login

🔧
Cấu hình PHP

PHP-FPM pool, open_basedir, disabled functions

Tab Tổng quan — Hành động nhanh

Hành độngMô tả
RestartRestart PHP-FPM và Nginx cho site
SuspendTạm dừng site — trả về 503
ResumeKhôi phục site đang bị suspend
WP AdminAutologin vào WordPress admin (HMAC-signed)
Visit SiteMở website trong tab mới
Force HTTPSRedirect toàn bộ HTTP → HTTPS

Tab File Manager

Đường dẫn gốc: /var/www/{domain}/public/. Hỗ trợ: duyệt thư mục, upload kéo thả (chunk upload cho file lớn), download, tạo thư mục, đổi tên, xóa, chỉnh sửa với syntax highlight, giải nén .zip/.tar.gz, thay đổi permissions (chmod), tìm kiếm nội dung file, copy/move, xóa hàng loạt.

Tab Staging

  1. Create Staging — clone toàn bộ site sang subdomain staging.{domain}
  2. Chỉnh sửa, test thoải mái trên staging
  3. Push to Production — đưa thay đổi lên production (bỏ qua wp-config.php)
  4. Hoặc Delete Staging nếu không cần nữa

Tab Cập nhật — Cấu hình Auto-Update

Tùy chọnMô tả
Tự động cập nhật CoreTự động cập nhật WordPress core
Tự động cập nhật PluginsTự động cập nhật tất cả plugins
Tự động cập nhật ThemesTự động cập nhật tất cả themes
Sao lưu trước khi cập nhậtTạo backup trước mỗi lần auto-update
Gợi ý

Auto-update chạy lúc 3 giờ sáng mỗi ngày. Nên bật "Sao lưu trước khi cập nhật" để có thể rollback.

Tab WP-CLI

Giao diện terminal chạy lệnh WP-CLI trực tiếp trên server. Không cần gõ wp ở đầu. Ví dụ:

plugin list
user list
option get siteurl
cache flush
theme status
Giới hạn bảo mật

Chỉ 24 lệnh con được phép. Các lệnh nguy hiểm như eval, shell, db export bị chặn.

💾 Sao lưu & Khôi phục

Tạo Backup thủ công

  1. Vào Backups → nhấn + Tạo Backup
  2. Chọn Site, loại backup (Full hoặc Database Only), và Storage
  3. Nhấn Create — theo dõi tiến trình

Backup Full bao gồm: WordPress files + database + cấu hình Nginx + cấu hình PHP-FPM. Mật khẩu database được mã hóa AES-256-GCM, tệp backup có checksum SHA-256.

Khôi phục Backup

  1. Tìm backup cần restore → nhấn Restore
  2. Nhập lại domain để xác nhận (tránh restore nhầm)
  3. Nhấn Confirm Restore
Cảnh báo

Restore sẽ ghi đè toàn bộ dữ liệu hiện tại. Nếu site đã bị xóa, hệ thống sẽ tự tạo lại toàn bộ (DB, thư mục, Nginx, PHP-FPM, SSL).

Lên lịch Backup tự động

  1. Tab Backup của site → nhấn + Thêm lịch trình
  2. Cấu hình: Type (Full/DB), Schedule (cron expression), Retention Days, Storage (local hoặc S3/R2/GDrive/B2)
  3. Nhấn Save

Remote Storage

ProviderThông tin cần nhập
AWS S3Access Key, Secret Key, Bucket, Region
Cloudflare R2Account ID, Access Key, Secret Key, Bucket
Google DriveService Account JSON
Backblaze B2Key ID, Application Key, Bucket

🚀 Migration

Di chuyển WordPress site từ server này sang server khác.

Tạo Migration

  1. Vào Migrations → nhấn + Tạo Migration
  2. Chọn Site cần migrate và Server đích
  3. Chọn Mode: Giữ domain (source bị suspend, tùy chọn auto DNS) hoặc Đổi domain (source vẫn chạy, WP search-replace tự động)
  4. Nhấn Bắt đầu Migration

5 giai đoạn Migration

Giai đoạnMô tả
Chuẩn bịTạo SSH key (ed25519), kiểm tra kết nối đến server đích
Đồng bộ lần đầursync toàn bộ files + mysqldump database sang server đích
Đồng bộ deltaĐồng bộ các files thay đổi sau lần sync đầu
Chuyển đổiCấu hình Nginx/PHP-FPM/SSL trên server đích, cập nhật DNS
Dọn dẹpXóa SSH keys tạm, hoàn tất migration

Rollback & Dọn dẹp

Rollback: Nếu migration thất bại, nhấn Rollback — source site khôi phục, target bị xóa. Dọn dẹp source: Sau khi hoàn tất, nhấn "Dọn dẹp Server nguồn" để xóa files/DB cũ, giải phóng dung lượng.

🛡 Bảo mật

Quét Malware

  1. Vào Security → nhấn + Quét mới
  2. Chọn: Site, Loại quét (Nhanh/Toàn bộ/Tùy chỉnh), Engine (WP Signatures / ClamAV / Cả hai)
  3. Nhấn Bắt đầu quét

Kết quả hiển thị: số file đã quét, số mối đe dọa, chi tiết từng threat (file path, loại, mức độ nghiêm trọng).

Critical High Medium Low

Lên lịch quét tự động

Tab Schedules → + Thêm lịch → chọn site, engine, tần suất (6h / 12h / 24h / 48h / 72h / 168h).

Cài đặt ClamAV

Nếu server chưa có ClamAV: trang chi tiết Server → nhấn Install ClamAV. Chờ khoảng 2–3 phút.

WAF (Web Application Firewall)

Cấu hình per-site tại Site Detail → tab WAF:

Tùy chọnMô tả
OWASP CRSBộ rule chuẩn, bảo vệ XSS, SQL injection, LFI...
Paranoid Level 1–4Càng cao càng chặt (mức cao có thể gây false positive)
IP WhitelistIP được bypass WAF (dùng cho IP của team dev)
Custom RulesViết rules ModSecurity tùy chỉnh

WordPress Hardening

6 quy tắc gia cố bảo mật (có thể hoàn tác): tắt XML-RPC, ẩn phiên bản WP, bảo mật quyền file (644/755), thêm security headers (HSTS, X-Frame-Options, CSP), tắt trình soạn thảo file trong WP Admin, giới hạn số lần đăng nhập sai qua Nginx rate limiting.

🔔 Giám sát & Cảnh báo

Uptime Monitoring

  1. Vào Monitoring → nhấn + Thêm Check
  2. Chọn Site, URL (mặc định homepage), Interval (60s / 5m / 15m / 30m)
  3. Nhấn Save
Online — HTTP 2xx/3xx Offline — HTTP 4xx/5xx hoặc timeout No data — chưa có lần check nào

Xem lịch sử 30 lần check gần nhất với response time (ms). Nhận thông báo down qua Telegram/Slack/Email.

Alert Rules

  1. Trang chi tiết Server → tab Alerts+ Thêm Rule
  2. Chọn: Metric (CPU/RAM/Disk), Ngưỡng % (ví dụ: 85%), Kênh (Telegram/Slack/Email), Cooldown (phút)
  3. Nhấn Save

SSL Expiry tự động

Panel tự động kiểm tra SSL hàng ngày. Tự gia hạn khi còn ≤30 ngày. Gửi cảnh báo khi còn 14, 7, 3, 1 ngày trước khi hết hạn.

🌐 Quản lý DNS

Thêm DNS Provider

  1. Vào DNS+ Thêm Provider
  2. Chọn provider: Cloudflare (API Token, Zone ID) hoặc Route53 (Access Key, Secret Key, Hosted Zone ID)
  3. Nhấn Test ConnectionSave

Quản lý DNS Records

Chọn provider → chọn domain → xem/thêm/sửa/xóa records: A, AAAA, CNAME, MX, TXT, NS, SRV. Cloudflare hỗ trợ toggle Proxy (orange cloud).

👥 Teams & Phân quyền

Tạo Team

Vào Teams → + Tạo Team → nhập tên và mô tả → Save.

Thêm thành viên & Gán Server

Chọn team → tab Members → + Thêm thành viên → chọn user → chọn role (Admin/Member). Tab Servers → + Gán Server → chọn server. Tất cả thành viên team có quyền truy cập servers được gán.

Bảng phân quyền

Vai tròQuyền hạn
AdminToàn quyền: quản lý users, servers, sites, settings
ManagerQuản lý servers và sites được assign cho mình
ViewerChỉ xem, không thực hiện thao tác thay đổi

👤 Quản lý Users

Phân quyền

Chỉ Admin mới truy cập được trang này.

Vào Users → + Thêm User → nhập Email, Tên, Mật khẩu, chọn Role (Admin/Manager/Viewer) → Create. Có thể sửa thông tin, đặt lại mật khẩu, gán servers cho user (role Manager), hoặc xóa user.

⚙ Cài đặt

Bảo mật tài khoản

Đổi mật khẩu: Settings → tab Security → nhập mật khẩu cũ và mới → Save.

API Keys

Settings → tab API Keys → Generate Key → sao chép key (chỉ hiện 1 lần). Sử dụng trong header: X-API-Key: wpm_xxxxxx. Mỗi key có rate limit (mặc định 100 req/phút).

Thông báo

KênhCấu hình
EmailSMTP Host, Port, Username, Password, From address
TelegramBot Token (tạo qua @BotFather), Chat ID
SlackWebhook URL

Cập nhật Panel

Settings → tab Panel Updates → Check for Updates. Nếu có bản mới: xem release notes → Apply Update. Panel tự download binary mới và restart.

Cập nhật Agent (Rollout)

  1. Tạo Agent Release: version, download URL, SHA256 checksum, release notes
  2. Tạo Rollout Plan với chiến lược: Canary (test vài server trước), Rolling (batch theo %), Immediate (tất cả cùng lúc)
  3. Theo dõi trạng thái rollout từng server. Có thể Pause/Resume rollout

📝 Nhật ký hoạt động

Ghi lại toàn bộ hành động trong hệ thống. Mỗi entry hiển thị: thời gian, user, action (ví dụ: create_site, delete_backup, login...), resource bị ảnh hưởng, IP Address, chi tiết thêm.

Bộ lọc: theo User, Server, Action type, khoảng thời gian.

Dọn dẹp: Settings → nhập số ngày retention (mặc định 90 ngày) → Cleanup. Worker tự động xóa logs cũ hàng ngày.

🔸 Bảng trạng thái tham chiếu

Trạng thái Site

StatusÝ nghĩa
activeSite đang chạy bình thường
suspendedSite bị tạm dừng, trả về 503
creatingĐang trong quá trình tạo
errorCó lỗi trong quá trình tạo/thao tác

Trạng thái Server

StatusÝ nghĩa
activeAgent đang kết nối, heartbeat bình thường
provisioningĐang cài đặt agent và stack
offlineKhông nhận được heartbeat (>5 phút)
errorLỗi trong quá trình provisioning

🕐 Cron Expression tham chiếu

ExpressionÝ nghĩa
0 2 * * *2:00 sáng mỗi ngày
0 2 * * 02:00 sáng mỗi Chủ nhật
0 */6 * * *Mỗi 6 tiếng
0 */12 * * *Mỗi 12 tiếng
0 2 1 * *2:00 sáng ngày 1 mỗi tháng
0 2 * * 1-52:00 sáng các ngày trong tuần

Cú pháp: phút giờ ngày tháng thứ. Dùng * cho "tất cả", */N cho "mỗi N".

Cần hỗ trợ?

Kiểm tra Activity Log để xem lỗi chi tiết. Kiểm tra Server → tab Logs để xem log server. Chạy Health Check trên server để kiểm tra trạng thái dịch vụ.