Checklist 30 phút trước khi thay cPanel bằng một cPanel alternative
Bạn không thay cPanel vì “thích đổi gió”. Thường là vì chi phí tăng, license phình, giao diện nặng, hoặc bạn muốn kiểm soát server tốt hơn. Nhưng đổi control panel không giống đổi theme WordPress. Sai một bước → website down, email mất, SSL lỗi, DNS lệch, khách hàng gọi liên tục.
Tin tốt: trước khi migration, bạn chỉ cần 30 phút kiểm tra có hệ thống để giảm phần lớn rủi ro. Bài này là checklist thực tế trước khi thay cPanel bằng các lựa chọn như DirectAdmin, CyberPanel, CloudPanel, Webmin/Virtualmin, Plesk, aaPanel, ISPConfig hoặc panel tự quản khác.
Mục tiêu: biết mình đang có gì, cái gì phải giữ, cái gì có thể bỏ, cái gì cần test trước khi bấm nút chuyển.
1. Chốt lý do đổi: đừng migration chỉ vì “nghe hay”
Trước khi đụng server, hãy trả lời nhanh:
– Bạn đổi vì giảm chi phí license? – Vì cần hiệu năng nhẹ hơn? – Vì muốn dùng OpenLiteSpeed/LiteSpeed? – Vì cPanel thiếu tính năng nào đó? – Vì muốn tách email, DNS, hosting ra riêng? – Vì khách hàng cần panel đơn giản hơn?
Nếu không có lý do rõ, rất dễ chọn sai alternative.
Ví dụ:
– Muốn panel rẻ, quen kiểu shared hosting → DirectAdmin. – Muốn nhẹ, tập trung PHP app, không cần email nội bộ → CloudPanel. – Muốn OpenLiteSpeed, WordPress cache tốt → CyberPanel. – Muốn quản trị Linux rộng, linh hoạt → Virtualmin/Webmin. – Muốn panel thương mại polished → Plesk.
Checklist nhanh:– [ ] Lý do đổi đã rõ. – [ ] Panel mới đáp ứng đúng nhu cầu chính. – [ ] Không chọn panel chỉ vì miễn phí. – [ ] Đã kiểm tra panel mới còn duy trì, có tài liệu, có cộng đồng.
2. Kiểm kê toàn bộ tài khoản, domain, website
Đây là bước quan trọng nhất. Trước khi rời cPanel, bạn cần biết server hiện có gì.
Trong WHM/cPanel, liệt kê:
– Số lượng account. – Domain chính. – Addon domain. – Subdomain. – Parked/alias domain. – Website WordPress, Laravel, static site, app custom. – Dung lượng từng account. – Version PHP đang dùng. – Database MySQL/MariaDB. – Cron job. – Email account. – FTP account. – SSL certificate.
Nếu server chỉ có 3 website, bạn có thể làm thủ công. Nếu có 50+ account, nên export danh sách trước.
Checklist nhanh:– [ ] Có danh sách account. – [ ] Có danh sách domain/subdomain. – [ ] Biết site nào quan trọng nhất. – [ ] Biết site nào có traffic/doanh thu cao. – [ ] Biết site nào có cron/background job. – [ ] Biết site nào cần PHP version đặc biệt.
3. Backup: không có backup thì chưa được migration
Migration không có backup là đánh bạc. Trước khi thay cPanel, cần ít nhất một bản backup độc lập, không nằm cùng server nguồn.
Tối thiểu cần backup:
– File website: public_html, thư mục app, upload.
– Database.
– Email mailbox nếu dùng mail trên cPanel.
– DNS zone.
– SSL certificate nếu cần giữ.
– Cron job.
– Config đặc biệt: .htaccess, redirect, PHP ini, Node/Python app config.
Nên có 2 lớp:
1. Full cPanel backup để restore nếu cần. 2. Backup rời: file + database + mail, lưu ở S3, Google Drive, NAS, server khác.
Kiểm tra backup không chỉ là “đã tạo xong”. Phải thử mở file, import thử database nhỏ, xem archive có lỗi không.
Checklist nhanh:– [ ] Full backup từng account đã tạo. – [ ] Backup đã tải ra ngoài server. – [ ] Database dump đọc được. – [ ] File archive giải nén được. – [ ] Email mailbox đã backup nếu cần. – [ ] Có kế hoạch rollback nếu panel mới lỗi.
4. Kiểm tra tương thích web server: Apache, Nginx, LiteSpeed
cPanel thường dùng Apache, có thể kèm LiteSpeed hoặc Nginx reverse proxy. Alternative panel có thể dùng stack khác. Đây là nguồn lỗi phổ biến.
Cần kiểm tra:
– Website đang phụ thuộc .htaccess không?
– Có rewrite rule phức tạp không?
– Có redirect HTTP → HTTPS ở nhiều lớp không?
– Có rule chặn IP, hotlink, basic auth không?
– Có cache plugin phụ thuộc LiteSpeed không?
– Có app Laravel cần public/ làm document root không?
– Có WordPress multisite không?
Nếu panel mới dùng Nginx thuần, .htaccess sẽ không tự hoạt động. Phải chuyển rewrite sang Nginx config. Nếu dùng OpenLiteSpeed, phần lớn rule Apache tương thích, nhưng vẫn nên test.
– [ ] Biết web server hiện tại.
– [ ] Biết web server panel mới.
– [ ] Đã kiểm tra .htaccess.
– [ ] Đã kiểm tra rewrite/redirect.
– [ ] Đã kiểm tra document root từng site.
– [ ] Đã kiểm tra plugin cache/CDN.
5. PHP, extension, limit: lỗi nhỏ nhưng gây trắng trang
Rất nhiều migration fail vì khác version PHP hoặc thiếu extension.
Trước khi chuyển, ghi lại:
– PHP version từng domain.
– memory_limit.
– upload_max_filesize.
– post_max_size.
– max_execution_time.
– Extension: mysqli, pdo_mysql, gd, imagick, intl, zip, mbstring, curl, ionCube, redis, soap.
Các site WordPress cũ có thể lỗi với PHP 8.x. Một số theme/plugin cũ cần PHP 7.4. Một số script thương mại cần ionCube đúng version.
Checklist nhanh:– [ ] PHP version đã ghi lại. – [ ] Extension bắt buộc đã liệt kê. – [ ] App cũ đã kiểm tra tương thích PHP mới. – [ ] ionCube/Redis/Imagick đã được xác nhận. – [ ] PHP limit panel mới đủ dùng.
6. Database: đừng chỉ export rồi import
Database không chỉ là file .sql. Cần kiểm tra version, charset, user permission.
Ghi lại:
– MySQL/MariaDB version. – Tên database. – User database. – Charset/collation. – Dung lượng database. – Trigger, view, stored procedure nếu có. – App config chứa DB host/user/pass ở đâu.
Các lỗi hay gặp:
– Charset lệch → lỗi tiếng Việt.
– SQL mode khác → query cũ lỗi.
– User thiếu quyền.
– Database lớn import timeout.
– App hardcode localhost.
– [ ] Đã dump database. – [ ] Đã ghi DB user/pass hoặc chuẩn bị user mới. – [ ] Đã kiểm tra charset/collation. – [ ] DB lớn có phương án import CLI. – [ ] Đã biết file config app cần sửa.
7. Email: phần dễ bị xem nhẹ nhất
Nếu cPanel đang xử lý email, migration sẽ nhạy cảm hơn nhiều. Mất web 5 phút còn chịu được. Mất email vài giờ có thể gây thiệt hại lớn.
Cần xác định:
– Email còn nằm trên cPanel không? – Hay đang dùng Google Workspace, Microsoft 365, Zoho? – Có bao nhiêu mailbox? – Có forwarder, autoresponder, filter không? – Có mailing list không? – Có DKIM, SPF, DMARC không? – Có email client đang cấu hình IMAP/SMTP theo hostname nào?
Nếu panel mới không mạnh về mail, nên cân nhắc tách email ra dịch vụ chuyên biệt. Đây thường là quyết định tốt hơn cố nhồi mail vào panel mới.
Checklist nhanh:– [ ] Biết mail đang host ở đâu. – [ ] Mailbox đã backup. – [ ] Forwarder/filter đã ghi lại. – [ ] SPF/DKIM/DMARC đã lưu. – [ ] Có phương án cập nhật mail client. – [ ] Đã cân nhắc tách mail khỏi web server.
8. DNS: giảm TTL trước khi đổi
DNS quyết định thời gian downtime cảm nhận. Trước migration, giảm TTL càng sớm càng tốt. Nếu chỉ còn 30 phút, vẫn nên làm.
Kiểm tra:
– Domain đang dùng nameserver nào?
– DNS zone nằm ở cPanel, Cloudflare, registrar hay DNS riêng?
– A record trỏ về IP nào?
– AAAA record có dùng IPv6 không?
– MX record trỏ đi đâu?
– TXT SPF/DKIM/DMARC có đủ không?
– CNAME cho www, mail, ftp, cpanel có cần không?
Khuyến nghị: nếu chưa có lý do đặc biệt, dùng Cloudflare DNS only hoặc DNS của nhà cung cấp uy tín để tách DNS khỏi hosting panel. Khi đổi panel, chỉ đổi A record, không phải đổi cả nameserver.
Checklist nhanh:– [ ] Đã giảm TTL xuống 300 giây nếu có thể. – [ ] Đã export/lưu DNS zone. – [ ] Đã xác định record cần đổi. – [ ] MX/TXT mail không bị ghi đè. – [ ] Không quên AAAA nếu dùng IPv6. – [ ] Có kế hoạch đổi DNS theo từng domain.
9. SSL: tránh lỗi “Not secure” sau migration
cPanel thường tự cấp AutoSSL. Panel mới có thể dùng Let’s Encrypt nhưng cơ chế khác.
Trước khi chuyển:
– Kiểm tra domain nào cần SSL. – Có wildcard SSL không? – Có SSL trả phí không? – Có subdomain đặc biệt cần cert không? – Website có hard redirect HTTPS không? – App có callback URL HTTPS không?
Nếu dùng Cloudflare, chú ý mode SSL:
– Flexible dễ gây redirect loop. – Full cần cert trên origin. – Full strict cần cert hợp lệ.
Checklist nhanh:– [ ] Đã liệt kê domain cần SSL.
– [ ] Panel mới hỗ trợ Let’s Encrypt.
– [ ] DNS đã sẵn sàng để verify SSL.
– [ ] Cloudflare SSL mode đã kiểm tra.
– [ ] Không quên SSL cho www.
10. Cron job, queue, background task
Website vẫn mở được chưa chắc app đã chạy đúng. Cron job bị quên là lỗi rất thường gặp.
Cần lưu:
– Lệnh cron. – User chạy cron. – Tần suất. – Đường dẫn PHP binary. – Working directory. – Log output. – Queue worker nếu có Laravel, Node, Python.
Ví dụ cPanel có thể dùng đường dẫn PHP khác panel mới. Lệnh cũ chạy tốt trên server cũ nhưng lỗi trên server mới.
Checklist nhanh:– [ ] Đã export cron. – [ ] Đã kiểm tra đường dẫn PHP mới. – [ ] Đã tạo lại cron trên panel mới. – [ ] Job quan trọng có log. – [ ] Queue/background worker có phương án chạy lại.
11. Bảo mật, user, quyền file
Sau migration, lỗi permission có thể khiến site trắng trang hoặc nguy hiểm hơn: file writable quá rộng.
Kiểm tra:
– Ownership file đúng user.
– Folder thường là 755.
– File thường là 644.
– Không để 777 tràn lan.
– SSH key nếu cần.
– SFTP/FTP account.
– Firewall port.
– Fail2ban hoặc cơ chế chống brute force.
– Backup sau migration.
Đừng bê nguyên thói quen cũ sang panel mới nếu nó không còn cần thiết. Migration là cơ hội dọn rác: xóa FTP cũ, user cũ, subdomain test, database không dùng.
Checklist nhanh:– [ ] File owner đúng. – [ ] Permission không quá rộng. – [ ] FTP/user cũ đã rà soát. – [ ] Firewall mở đúng port. – [ ] SSH key/admin access đã kiểm tra. – [ ] Có backup policy sau migration.
12. Test trước khi đổi DNS thật
Đừng đổi DNS rồi mới test. Hãy test bằng một trong các cách:
– Sửa file hosts trên máy cá nhân.
– Dùng temporary domain.
– Dùng preview URL nếu panel hỗ trợ.
– Test bằng staging domain.
Cần test:
– Trang chủ. – Login admin. – Form liên hệ. – Upload ảnh/file. – Checkout/thanh toán nếu có. – Search. – Cron. – Email gửi ra. – SSL. – Redirect HTTP/HTTPS, non-www/www. – Mobile layout cơ bản.
Checklist nhanh:– [ ] Site mở được qua IP/hosts. – [ ] Admin login được. – [ ] Form hoạt động. – [ ] Upload hoạt động. – [ ] Redirect đúng. – [ ] Log không có lỗi nghiêm trọng.
Kết luận: 30 phút để tránh vài giờ cháy server
Thay cPanel bằng một alternative không khó nếu bạn biết mình đang chuyển cái gì. Khó nhất không phải cài panel mới. Khó nhất là không bỏ sót web, mail, DNS, SSL, cron, database, permission.
Nếu chỉ nhớ một checklist ngắn, hãy nhớ:
– Backup ngoài server. – Kiểm kê account/domain/database/email. – Ghi PHP version + extension. – Lưu DNS zone + giảm TTL. – Test bằng hosts trước khi đổi DNS. – Có rollback plan.
Đổi panel nên là một ca kỹ thuật có kiểm soát, không phải một cú nhảy niềm tin. Chuẩn bị 30 phút đúng cách → migration gọn hơn, ít downtime hơn, ít cuộc gọi khẩn cấp hơn.
Bình luận (0)
Chưa có bình luận. Hãy là người đầu tiên!