Những lỗi thường gặp khi thay cPanel bằng panel khác và cách xử lý
cPanel mạnh, quen, nhiều tài liệu. Nhưng chi phí tăng, nhu cầu tối ưu tài nguyên, hoặc muốn kiểm soát sâu hơn khiến nhiều đội kỹ thuật chuyển sang panel khác như DirectAdmin, Plesk, CyberPanel, aaPanel, CloudPanel, Webmin/Virtualmin, ISPConfig.
Vấn đề: thay panel không giống đổi giao diện quản trị. Panel gắn sâu với web server, PHP, DNS, mail, SSL, backup, user, permission, database. Chuyển sai cách dễ làm website lỗi 500, mất mail, DNS lệch, SSL hỏng, cron không chạy, backup không khôi phục được.
Dưới đây là lỗi hay gặp nhất khi thay cPanel bằng panel khác, kèm cách xử lý thực tế.
1. Nghĩ rằng có thể “gỡ cPanel rồi cài panel mới”
Lỗi
Nhiều người cố gỡ cPanel khỏi server hiện tại rồi cài panel khác lên cùng hệ điều hành. Đây là lỗi lớn. cPanel thay đổi nhiều thành phần hệ thống: Apache, Exim, Dovecot, BIND, PHP, user, quota, cấu trúc thư mục, service.
Gỡ không sạch dễ tạo xung đột package, port, config, permission. Panel mới cài lên có thể chạy nhưng lỗi ngầm: mail không nhận, SSL không cấp, PHP-FPM lỗi, DNS không reload.
Cách xử lý
Không migration trực tiếp trên server cPanel cũ. Dùng server mới, OS sạch, cài panel mới, rồi migrate dữ liệu.
Quy trình an toàn:
1. Tạo VPS/server mới.
2. Cài OS đúng yêu cầu panel mới.
3. Cài panel mới.
4. Chuyển website, database, mail, DNS.
5. Test bằng hosts file hoặc staging domain.
6. Hạ TTL DNS.
7. Trỏ domain sang IP mới.
8. Giữ server cũ vài ngày để rollback.
2. Không kiểm tra tương thích hệ điều hành và stack
Lỗi
Mỗi panel yêu cầu OS khác nhau. Ví dụ CloudPanel ưu tiên Debian/Ubuntu, DirectAdmin hỗ trợ AlmaLinux/Rocky/Debian/Ubuntu, CyberPanel gắn với OpenLiteSpeed/LiteSpeed. Cài sai OS hoặc phiên bản không hỗ trợ khiến update lỗi, service lỗi, module thiếu.
Ngoài OS, stack cũng khác. cPanel thường dùng Apache + PHP-FPM/EasyApache. Panel mới có thể dùng Nginx, OpenLiteSpeed, Apache reverse proxy. Rewrite rule, .htaccess, cache, PHP handler có thể khác.
Cách xử lý
Trước migration, lập bảng tương thích:
– OS panel mới hỗ trợ.
– Web server đang dùng và web server mới.
– Phiên bản PHP từng website cần.
– Extension PHP bắt buộc: imagick, ioncube, intl, soap, zip, redis, memcached.
– Database: MySQL/MariaDB version.
– Mail service: Exim/Postfix, Dovecot, Rspamd/SpamAssassin.
– DNS service: BIND, PowerDNS, NS ngoài.
Nếu website phụ thuộc .htaccess, tránh chuyển ngay sang Nginx thuần nếu chưa chuyển rewrite rule. Với WordPress, Laravel, Magento, WooCommerce, cần test riêng từng site.
3. Backup thiếu hoặc backup sai định dạng
Lỗi
Nhiều admin chỉ tải file website và database, quên mail, DNS zone, cron, SSL, user, subdomain, addon domain, forwarder, autoresponder. Khi chuyển xong, web chạy nhưng mail mất, cron không chạy, subdomain 404.
cPanel full backup chứa nhiều thứ nhưng panel khác không phải lúc nào import trọn vẹn được.
Cách xử lý
Trước khi chuyển, xuất đủ:
– Home directory: /home/user/public_html, file ẩn, .htaccess.
– Database: dump từng database bằng mysqldump hoặc phpMyAdmin.
– Mail: thư mục mail, account, forwarder, filter.
– DNS zone: A, AAAA, MX, TXT, SPF, DKIM, DMARC, CNAME.
– SSL certificate: certificate, private key, CA bundle nếu dùng SSL trả phí.
– Cron job.
– PHP config riêng: php.ini, .user.ini.
– Addon domain/subdomain/alias.
– FTP account, nếu còn dùng.
– Application config: .env, wp-config.php, config database.
Test backup bằng restore thử trên server mới. Backup chưa restore thử = chưa đáng tin.
4. Sai permission và owner sau khi copy dữ liệu
Lỗi
Khi dùng rsync, scp, FTP hoặc giải nén thủ công, file có thể thuộc root, không thuộc user web. Kết quả: website lỗi upload ảnh, cache không ghi được, Laravel báo lỗi storage hoặc bootstrap/cache, WordPress yêu cầu FTP khi cài plugin.
Cách xử lý
Sau khi copy, kiểm tra owner theo user panel mới. Ví dụ user là siteuser:
Với WordPress, kiểm tra thêm upload_path trong database nếu từng cấu hình custom.
6. Lỗi PHP version và extension
Lỗi
Website đang chạy PHP 7.4 trên cPanel, sang panel mới mặc định PHP 8.2. Kết quả: plugin cũ lỗi, theme lỗi, framework cũ không tương thích. Ngược lại, app mới cần PHP 8.1 nhưng panel mới chưa bật đúng version.
Không nâng PHP trong cùng lúc migration nếu không cần. Chuyển ổn trước, nâng sau.
7. DNS chuyển quá nhanh, TTL quá cao
Lỗi
Nhiều người đổi nameserver hoặc A record ngay khi chưa test đủ. TTL cũ còn cao, DNS cache lan chậm. Một số người vào server mới, số khác vào server cũ. Đơn hàng, comment, form, mail bị chia đôi.
Cách xử lý
Trước migration 24-48 giờ, giảm TTL xuống 300 giây cho bản ghi quan trọng:
– A
– AAAA
– MX
– CNAME
– TXT liên quan mail
Nếu dùng DNS ngoài như Cloudflare, Route 53, DNS Made Easy, giữ DNS ở đó để chỉ đổi IP, không đổi nameserver nếu không cần.
Sau cutover, kiểm tra:
dig domain.com A
dig domain.com MX
dig domain.com TXT
Dùng nhiều resolver:
dig @8.8.8.8 domain.com A
dig @1.1.1.1 domain.com A
8. Mail migration thiếu SPF, DKIM, DMARC
Lỗi
Website chạy được nhưng mail vào spam hoặc không gửi được. Nguyên nhân thường là:
– MX vẫn trỏ server cũ.
– SPF chưa thêm IP mới.
– DKIM khác panel cũ.
– DMARC chặn mail.
– Reverse DNS chưa đúng.
– Port 25 bị nhà cung cấp VPS chặn.
– Mailbox không migrate đủ.
Cách xử lý
Xác định mail đặt ở đâu:
– Mail local trên server.
– Google Workspace.
– Microsoft 365.
– Zoho.
– Mail gateway ngoài.
Nếu dùng mail local, migrate mailbox bằng IMAP sync hoặc copy maildir đúng cách. Cấu hình lại:
– MX trỏ đúng host mail.
– SPF chứa IP mới hoặc include đúng dịch vụ gửi.
– DKIM tạo lại trên panel mới, cập nhật TXT.
– DMARC kiểm soát từ mức mềm:
Kiểm tra gửi mail bằng Mail Tester, Gmail header, log mail server.
9. SSL bị mất hoặc cấp lại lỗi
Lỗi
cPanel tự cấp AutoSSL. Panel mới chưa cấu hình Let’s Encrypt đúng, domain chưa trỏ về IP mới, IPv6 sai, DNS proxied sai, hoặc webroot bị chặn. Kết quả: website báo không an toàn, redirect HTTPS vòng lặp.
Cách xử lý
Trước cutover, nếu cần test HTTPS, dùng hosts file hoặc staging domain. Sau khi DNS trỏ đúng, cấp SSL trên panel mới.
Kiểm tra:
– Domain và www cùng trỏ đúng IP.
– Port 80 mở để Let’s Encrypt xác thực HTTP-01.
– IPv6 không trỏ sai.
– Cloudflare SSL mode dùng Full hoặc Full (strict), tránh Flexible với site ép HTTPS.
– Không có redirect chặn /.well-known/acme-challenge/.
Nếu dùng SSL trả phí, import đủ certificate, private key, CA bundle.
10. Cron job và background worker bị bỏ quên
Lỗi
Cron trong cPanel nằm riêng từng user. Khi chuyển, nhiều người chỉ copy web/database. Tác vụ tự động dừng: gửi email, đồng bộ kho, xóa cache, chạy queue, backup, renew token.
Cách xử lý
Xuất cron từ server cũ:
crontab -l -u username
Tạo lại trên server mới đúng user, đúng PHP path, đúng working directory.
Ví dụ Laravel:
* cd /path/to/project && /usr/bin/php artisan schedule:run >> /dev/null 2>&1
Nếu app dùng queue worker, cấu hình Supervisor hoặc service tương đương. Panel không luôn tự quản lý worker.
11. Database import lỗi charset, collation, user privilege
Lỗi
Import database xong website vẫn lỗi. Nguyên nhân: sai charset, collation không hỗ trợ, MySQL/MariaDB version khác, user database thiếu quyền, hostname khác localhost, SQL mode khác.
– Database user đúng.
– Password trong config đã đổi.
– User có đủ privilege.
– Charset utf8mb4.
– Collation tương thích.
Nếu lỗi collation như utf8mb4_0900_ai_ci trên MariaDB cũ, đổi sang utf8mb4_unicode_ci hoặc nâng DB tương thích.
12. Không có kế hoạch rollback
Lỗi
Migration xong mới phát hiện lỗi, nhưng server cũ đã xóa, backup thiếu, DNS không còn bản ghi cũ. Downtime kéo dài, mất dữ liệu mới.
Cách xử lý
Luôn có rollback plan:
– Giữ server cũ ít nhất 3-7 ngày.
– Không xóa account cPanel ngay.
– Ghi lại IP cũ, DNS cũ, MX cũ.
– Freeze nội dung động trong thời gian cutover nếu cần.
– Với shop, forum, LMS: chọn giờ thấp điểm, bật maintenance mode ngắn.
– Sau cutover, đồng bộ lại file upload/database phát sinh nếu có.
Kết luận thực tế
Thay cPanel bằng panel khác không khó vì thao tác, khó vì chi tiết. Lỗi lớn nhất không nằm ở nút import, mà ở giả định: tưởng panel nào cũng giống nhau. Mỗi panel có cấu trúc user, web server, mail, DNS, SSL, PHP, backup khác nhau.
Cách làm an toàn: dựng server mới sạch, kiểm kê đủ dữ liệu, test trước khi đổi DNS, chuyển từng nhóm dịch vụ, giữ rollback. Nếu website quan trọng, đừng migration cùng lúc với nâng PHP, đổi web server, đổi mail provider, đổi DNS provider. Đổi một thứ mỗi lần giúp lỗi dễ khoanh vùng.
Panel mới tốt chỉ khi migration sạch. Chuẩn bị kỹ vài giờ có thể tránh downtime vài ngày.