Chuyển tới nội dung chính

Chuyển Đổi Website từ cPanel sang DirectAdmin

Giới Thiệu

Việc di chuyển website giữa các nền tảng quản lý hosting là một tác vụ phổ biến, thường xảy ra khi bạn muốn thay đổi nhà cung cấp dịch vụ, tìm kiếm giải pháp tiết kiệm chi phí, hoặc đơn giản là muốn trải nghiệm một control panel khác. cPanel và DirectAdmin là hai trong số các bảng điều khiển máy chủ phổ biến nhất. DirectAdmin thường được biết đến với giao diện nhẹ nhàng, hiệu suất tốt và chi phí bản quyền thấp hơn, thu hút nhiều người dùng chuyển đổi từ cPanel.

Hướng dẫn này sẽ đi sâu vào các bước cần thiết để di chuyển một website từ môi trường cPanel sang DirectAdmin, bao gồm sao lưu dữ liệu, database, và cập nhật cấu hình cần thiết để đảm bảo website hoạt động trơn tru trên máy chủ mới.

📋 Thời gian: 60-120 phút | Độ khó: Trung bình

Yêu Cầu

Để thực hiện quá trình di chuyển này, bạn cần đảm bảo các điều kiện tiên quyết sau:

  • Quyền truy cập:
    • Quyền truy cập vào bảng điều khiển cPanel của website cũ (username, password).
    • Quyền truy cập vào bảng điều khiển DirectAdmin của máy chủ mới (username, password).
    • Quyền truy cập FTP/SFTP hoặc SSH (nếu có) vào cả hai máy chủ.
  • Kiến thức cơ bản:
    • Hiểu biết cơ bản về quản lý file và thư mục trên hosting.
    • Kiến thức về quản lý database MySQL/MariaDB và phpMyAdmin.
    • Biết cách chỉnh sửa các file cấu hình của website (ví dụ: wp-config.php cho WordPress).
  • Công cụ:
    • Một ứng dụng FTP/SFTP client (ví dụ: FileZilla).
    • Trình soạn thảo văn bản (ví dụ: Notepad++, VS Code).
    • Kết nối Internet ổn định.
  • Dung lượng: Đảm bảo máy chủ DirectAdmin mới có đủ dung lượng trống để chứa toàn bộ dữ liệu website của bạn.

Các Bước Thực Hiện

Bước 1: Sao Lưu Dữ Liệu từ cPanel

Bước đầu tiên và quan trọng nhất là sao lưu toàn bộ dữ liệu website từ máy chủ cPanel hiện tại.

1.1. Sao lưu Files Website

Bạn có thể sử dụng File Manager trên cPanel hoặc một ứng dụng FTP/SFTP để tải về toàn bộ thư mục public_html (hoặc thư mục gốc của domain bạn).

  • Sử dụng FTP/SFTP: Kết nối bằng FileZilla, điều hướng đến /public_html và tải về toàn bộ nội dung.
  • Sử dụng File Manager (cPanel): Truy cập cPanel -> File Manager -> public_html. Chọn tất cả các file và thư mục, sau đó nén chúng thành một file .zip hoặc .tar.gz để tải về dễ dàng hơn.
# Ví dụ nếu có quyền SSH trên cPanel:
# Di chuyển vào thư mục gốc của website (thường là public_html)
cd /home/yourcpaneluser/public_html

# Nén toàn bộ file và thư mục
tar -czvf website_backup.tar.gz .

⚠️ Lưu ý: Đảm bảo bạn sao lưu cả các file ẩn như .htaccess và các thư mục ẩn khác.

1.2. Sao lưu Database

Sử dụng phpMyAdmin trên cPanel để xuất database của website.

  1. Đăng nhập vào cPanel -> phpMyAdmin.
  2. Chọn database mà website của bạn đang sử dụng từ danh sách bên trái.
  3. Nhấp vào tab "Export" (Xuất).
  4. Chọn phương thức "Custom" (Tùy chỉnh) để có nhiều tùy chọn hơn, nhưng "Quick" (Nhanh) cũng thường đủ.
  5. Đảm bảo định dạng là "SQL".
  6. Nhấp vào "Go" (Thực hiện) để tải file .sql về máy tính của bạn. 💡 Mẹo: Ghi lại tên database, user và mật khẩu database cũ từ file cấu hình của website (ví dụ: wp-config.php cho WordPress) để tham khảo.

Bước 2: Chuẩn Bị Môi Trường DirectAdmin

Trên máy chủ DirectAdmin mới, bạn cần chuẩn bị không gian và database cho website của mình.

2.1. Tạo Domain và Thư Mục

Nếu domain của bạn chưa được thêm vào DirectAdmin, hãy thêm nó:

  1. Đăng nhập DirectAdmin -> User Level.
  2. Tìm "Domain Setup" hoặc "Add Domain".
  3. Nhập tên domain của bạn và tạo. Thao tác này sẽ tự động tạo cấu trúc thư mục cần thiết (ví dụ: /domains/yourdomain.com/public_html).

2.2. Tạo Database và User Mới

Bạn cần tạo một database và user mới trên DirectAdmin cho website của mình.

  1. Đăng nhập DirectAdmin -> User Level.
  2. Tìm "MySQL Management".
  3. Nhấp vào "Create New Database" (Tạo database mới).
  4. Điền tên database, username và mật khẩu. Ghi lại các thông tin này cẩn thận.
# Ví dụ nếu có quyền SSH trên DirectAdmin để tạo database (ít phổ biến hơn cho người dùng cuối):
# mysql -u root -p
# CREATE DATABASE new_database_name;
# CREATE USER 'new_database_user'@'localhost' IDENTIFIED BY 'new_password';
# GRANT ALL PRIVILEGES ON new_database_name.* TO 'new_database_user'@'localhost';
# FLUSH PRIVILEGES;
# EXIT;

Lưu ý: Tên database và user trên DirectAdmin có thể có tiền tố (ví dụ: admin_yourdb). Hãy sử dụng tên đầy đủ bao gồm tiền tố.

Bước 3: Tải Lên và Khôi Phục Dữ Liệu lên DirectAdmin

Bây giờ là lúc chuyển dữ liệu đã sao lưu lên máy chủ DirectAdmin.

3.1. Tải lên Files Website

Sử dụng FTP/SFTP client (FileZilla) để tải toàn bộ nội dung đã sao lưu từ public_html của cPanel lên thư mục public_html của domain trên DirectAdmin (thường là /domains/yourdomain.com/public_html).

# Nếu bạn đã nén file thành website_backup.tar.gz và tải lên thư mục public_html trên DirectAdmin:
cd /home/yourdirectadminuser/domains/yourdomain.com/public_html

# Giải nén file
tar -xzvf website_backup.tar.gz

# Sau khi giải nén, bạn có thể xóa file nén để tiết kiệm dung lượng
rm website_backup.tar.gz

⚠️ Quan trọng: Đảm bảo các file và thư mục có quyền hạn chính xác (thường là 644 cho file và 755 cho thư mục). Bạn có thể chỉnh sửa quyền hạn bằng FTP client hoặc lệnh chmod qua SSH.

3.2. Khôi phục Database

Sử dụng phpMyAdmin trên DirectAdmin để nhập file .sql đã sao lưu.

  1. Đăng nhập DirectAdmin -> MySQL Management -> phpMyAdmin.
  2. Chọn database mới mà bạn đã tạo ở Bước 2.2.
  3. Nhấp vào tab "Import" (Nhập).
  4. Nhấp vào "Choose File" và chọn file .sql đã sao lưu từ máy tính của bạn.
  5. Nhấp vào "Go" (Thực hiện) để bắt đầu quá trình nhập.
# Ví dụ nếu có quyền SSH trên DirectAdmin để nhập database:
# mysql -u new_database_user -p new_database_name < /path/to/your/website_backup.sql
# Nhập mật khẩu database khi được yêu cầu.

Bước 4: Cập Nhật Cấu Hình Website

Sau khi dữ liệu và database đã được chuyển, bạn cần cập nhật file cấu hình của website để nó kết nối với database mới trên DirectAdmin.

4.1. Cập nhật thông tin Database

Tìm file cấu hình của website của bạn (ví dụ: wp-config.php cho WordPress, configuration.php cho Joomla, hoặc app/config/parameters.yml cho Symfony). Mở file này bằng trình soạn thảo văn bản và cập nhật các thông tin sau:

  • DB_NAME: Tên database mới trên DirectAdmin.
  • DB_USER: User database mới trên DirectAdmin.
  • DB_PASSWORD: Mật khẩu database mới trên DirectAdmin.
  • DB_HOST: Thường là localhost hoặc 127.0.0.1.
// Ví dụ cho WordPress (wp-config.php)
/** The name of the database for WordPress */
define( 'DB_NAME', 'new_directadmin_database_name' );

/** MySQL database username */
define( 'DB_USER', 'new_directadmin_database_user' );

/** MySQL database password */
define( 'DB_PASSWORD', 'new_directadmin_database_password' );

/** MySQL hostname */
define( 'DB_HOST', 'localhost' );

4.2. Cập nhật đường dẫn và URL (nếu cần)

Đối với một số CMS hoặc framework, bạn có thể cần cập nhật đường dẫn tuyệt đối của server hoặc URL trong database hoặc các file cấu hình khác.

  • WordPress: Nếu URL website thay đổi (ví dụ từ HTTP sang HTTPS hoặc domain phụ), bạn có thể cần cập nhật siteurlhome trong bảng wp_options của database, hoặc sử dụng plugin như Better Search Replace sau khi website hoạt động.
  • Đường dẫn tuyệt đối: Đôi khi, các ứng dụng có thể sử dụng đường dẫn tuyệt đối đến thư mục gốc của website. Đường dẫn này sẽ khác giữa cPanel (/home/cpaneluser/public_html) và DirectAdmin (/home/directadminuser/domains/yourdomain.com/public_html). Hãy kiểm tra và cập nhật nếu cần.

Bước 5: Cập Nhật DNS và Kiểm Tra

Đây là bước cuối cùng để chuyển hướng khách truy cập đến máy chủ mới của bạn.

5.1. Cập nhật bản ghi DNS

Đăng nhập vào nhà cung cấp tên miền (domain registrar) của bạn (ví dụ: GoDaddy, Namecheap, Cloudflare) và cập nhật bản ghi DNS của domain:

  • A record: Trỏ bản ghi A của domain chính (và www nếu có) về địa chỉ IP của máy chủ DirectAdmin mới.
  • NS record: Nếu bạn muốn sử dụng nameserver của DirectAdmin, hãy cập nhật các bản ghi NS.
# Để kiểm tra IP của domain hiện tại hoặc mới:
ping yourdomain.com
dig +short yourdomain.com

💡 Mẹo: Thời gian cập nhật DNS (DNS propagation) có thể mất từ vài phút đến 48 giờ. Bạn có thể kiểm tra tiến độ tại các trang web như dnschecker.org.

5.2. Kiểm tra Website trước khi DNS propagate

Để kiểm tra website trên máy chủ DirectAdmin mới trước khi DNS propagate hoàn toàn, bạn có thể chỉnh sửa file hosts trên máy tính của mình.

  • Windows: C:\Windows\System32\drivers\etc\hosts
  • macOS/Linux: /etc/hosts

Thêm một dòng như sau vào cuối file:

IP_MAY_CHU_DIRECTADMIN_MOI yourdomain.com www.yourdomain.com

Sau đó, lưu file và truy cập yourdomain.com trong trình duyệt. Nó sẽ tải website từ máy chủ mới. Sau khi kiểm tra xong, hãy xóa dòng này khỏi file hosts. ✅ Thành công: Khi bạn đã xác nhận website hoạt động tốt trên máy chủ DirectAdmin, bạn có thể yên tâm chờ DNS propagate.

Troubleshooting

Dưới đây là một số lỗi thường gặp và cách khắc phục trong quá trình di chuyển:

  • Lỗi kết nối database (Error establishing a database connection):
    • Nguyên nhân: Sai tên database, user, mật khẩu hoặc host trong file cấu hình website.
    • Khắc phục: Kiểm tra lại file cấu hình (wp-config.php, v.v.) và so sánh với thông tin database trên DirectAdmin. Đảm bảo DB_HOSTlocalhost.
  • Website không hiển thị đúng hoặc lỗi 500 Internal Server Error:
    • Nguyên nhân: Lỗi quyền hạn file/thư mục, sai đường dẫn tuyệt đối, hoặc lỗi trong file .htaccess.
    • Khắc phục:
      • Kiểm tra quyền hạn file (644) và thư mục (755).
      • Thử đổi tên file .htaccess thành .htaccess_old để xem lỗi có biến mất không. Nếu có, .htaccess cũ có thể không tương thích với cấu hình Apache/Nginx trên DirectAdmin.
      • Kiểm tra log lỗi của server (error logs) trên DirectAdmin để biết chi tiết.
  • Website hiển thị nội dung cũ hoặc không tải được:
    • Nguyên nhân: DNS chưa propagate hoàn toàn, hoặc cache trình duyệt/website.
    • Khắc phục:
      • Xóa cache trình duyệt của bạn.
      • Nếu website có plugin cache (ví dụ: WP Super Cache, LiteSpeed Cache), hãy xóa cache của plugin đó.
      • Kiểm tra lại DNS propagation.
  • Không thể tải lên file lớn qua FTP/SFTP:
    • Nguyên nhân: Giới hạn kích thước tải lên của FTP client hoặc server.
    • Khắc phục: Sử dụng công cụ nén file như tar.gz hoặc zip và tải lên qua SSH, sau đó giải nén trên server.

Kết Luận

Di chuyển website từ cPanel sang DirectAdmin là một quá trình đòi hỏi sự cẩn thận và tuân thủ từng bước. Bằng cách sao lưu đầy đủ dữ liệu, chuẩn bị môi trường mới một cách kỹ lưỡng, và cập nhật chính xác các file cấu hình, bạn có thể đảm bảo quá trình chuyển đổi diễn ra suôn sẻ và website của bạn hoạt động ổn định trên máy chủ DirectAdmin.

Best practices:

  • Luôn sao lưu đầy đủ: Đừng bao giờ bỏ qua bước sao lưu. Đây là lưới an toàn của bạn.
  • Kiểm tra kỹ lưỡng: Sau mỗi bước quan trọng (nhập database, cập nhật cấu hình), hãy kiểm tra lại để đảm bảo không có lỗi.
  • Sử dụng môi trường staging: Nếu có thể, hãy tạo một bản sao của website trên một domain phụ hoặc subdomain trên DirectAdmin để kiểm tra mọi thứ trước khi chuyển domain chính.
  • Thông báo cho người dùng: Nếu website của bạn có lưng truy cập lớn, hãy cân nhắc thông báo cho người dùng về thời gian bảo trì ngắn để tránh gián đoạn trải nghiệm.
  • Giữ lại bản sao lưu cũ: Sau khi quá trình di chuyển hoàn tất và website hoạt động ổn định trên DirectAdmin, hãy giữ lại bản sao lưu từ cPanel trong một thời gian nhất định phòng trường hợp cần thiết.

Chúc mừng bạn đã hoàn tất việc di chuyển website của mình sang DirectAdmin!

Xem thêm: