🔒 Đăng nhập & Bảo mật tài khoản
Đăng nhập
- Truy cập panel tại
https://yourdomain.com - Nhập Email và Mật khẩu
- Nhấn Đăng nhập
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
- Vào Settings → tab Bảo mật
- Nhấn Bật xác thực 2 bước
- Quét mã QR bằng ứng dụng xác thực
- Nhập mã 6 chữ số để xác nhận
- 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 Servers | Tổng số server đang quản lý |
| Total Sites | Tổng số WordPress site |
| Active Sites | Sites đang hoạt động (% online) |
| Storage Tracked | Tổ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
- Vào Servers → nhấn + Thêm Server
- Đ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
- 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
- Theo dõi tiến trình cài đặt theo từng bước trong log realtime
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:
- Thông tin cơ bản: Domain (ví dụ: example.com), chọn Server, chọn PHP Version (7.4–8.4)
- 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)
- 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
- Trang danh sách Sites → nhấn icon Delete
- Nhập domain để xác nhận
- Nhấn Delete — xóa hoàn toàn: files, database, Nginx config, PHP-FPM pool, SSL cert, Linux user
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 động | Mô tả |
|---|---|
| Restart | Restart PHP-FPM và Nginx cho site |
| Suspend | Tạm dừng site — trả về 503 |
| Resume | Khôi phục site đang bị suspend |
| WP Admin | Autologin vào WordPress admin (HMAC-signed) |
| Visit Site | Mở website trong tab mới |
| Force HTTPS | Redirect 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
- Create Staging — clone toàn bộ site sang subdomain
staging.{domain} - Chỉnh sửa, test thoải mái trên staging
- Push to Production — đưa thay đổi lên production (bỏ qua wp-config.php)
- 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ọn | Mô tả |
|---|---|
| Tự động cập nhật Core | Tự động cập nhật WordPress core |
| Tự động cập nhật Plugins | Tự động cập nhật tất cả plugins |
| Tự động cập nhật Themes | Tự động cập nhật tất cả themes |
| Sao lưu trước khi cập nhật | Tạo backup trước mỗi lần auto-update |
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
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
- Vào Backups → nhấn + Tạo Backup
- Chọn Site, loại backup (Full hoặc Database Only), và Storage
- 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
- Tìm backup cần restore → nhấn Restore
- Nhập lại domain để xác nhận (tránh restore nhầm)
- Nhấn Confirm Restore
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
- Tab Backup của site → nhấn + Thêm lịch trình
- Cấu hình: Type (Full/DB), Schedule (cron expression), Retention Days, Storage (local hoặc S3/R2/GDrive/B2)
- Nhấn Save
Remote Storage
| Provider | Thông tin cần nhập |
|---|---|
| AWS S3 | Access Key, Secret Key, Bucket, Region |
| Cloudflare R2 | Account ID, Access Key, Secret Key, Bucket |
| Google Drive | Service Account JSON |
| Backblaze B2 | Key ID, Application Key, Bucket |
🚀 Migration
Di chuyển WordPress site từ server này sang server khác.
Tạo Migration
- Vào Migrations → nhấn + Tạo Migration
- Chọn Site cần migrate và Server đích
- 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)
- Nhấn Bắt đầu Migration
5 giai đoạn Migration
| Giai đoạn | Mô tả |
|---|---|
| Chuẩn bị | Tạo SSH key (ed25519), kiểm tra kết nối đến server đích |
| Đồng bộ lần đầu | rsync 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 đổi | Cấu hình Nginx/PHP-FPM/SSL trên server đích, cập nhật DNS |
| Dọn dẹp | Xó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
- Vào Security → nhấn + Quét mới
- Chọn: Site, Loại quét (Nhanh/Toàn bộ/Tùy chỉnh), Engine (WP Signatures / ClamAV / Cả hai)
- 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).
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ọn | Mô tả |
|---|---|
| OWASP CRS | Bộ rule chuẩn, bảo vệ XSS, SQL injection, LFI... |
| Paranoid Level 1–4 | Càng cao càng chặt (mức cao có thể gây false positive) |
| IP Whitelist | IP được bypass WAF (dùng cho IP của team dev) |
| Custom Rules | Viế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
- Vào Monitoring → nhấn + Thêm Check
- Chọn Site, URL (mặc định homepage), Interval (60s / 5m / 15m / 30m)
- Nhấn Save
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
- Trang chi tiết Server → tab Alerts → + Thêm Rule
- Chọn: Metric (CPU/RAM/Disk), Ngưỡng % (ví dụ: 85%), Kênh (Telegram/Slack/Email), Cooldown (phút)
- 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
- Vào DNS → + Thêm Provider
- Chọn provider: Cloudflare (API Token, Zone ID) hoặc Route53 (Access Key, Secret Key, Hosted Zone ID)
- Nhấn Test Connection → Save
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 |
|---|---|
| Admin | Toàn quyền: quản lý users, servers, sites, settings |
| Manager | Quản lý servers và sites được assign cho mình |
| Viewer | Chỉ xem, không thực hiện thao tác thay đổi |
👤 Quản lý Users
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ênh | Cấu hình |
|---|---|
| SMTP Host, Port, Username, Password, From address | |
| Telegram | Bot Token (tạo qua @BotFather), Chat ID |
| Slack | Webhook 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)
- Tạo Agent Release: version, download URL, SHA256 checksum, release notes
- 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)
- 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 |
|---|---|
| active | Site đang chạy bình thường |
| suspended | Site bị tạm dừng, trả về 503 |
| creating | Đang trong quá trình tạo |
| error | Có lỗi trong quá trình tạo/thao tác |
Trạng thái Server
| Status | Ý nghĩa |
|---|---|
| active | Agent đang kết nối, heartbeat bình thường |
| provisioning | Đang cài đặt agent và stack |
| offline | Không nhận được heartbeat (>5 phút) |
| error | Lỗ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 * * 0 | 2: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-5 | 2: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".
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ụ.