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

Chuyển Website từ cPanel sang DirectAdmin

Giới Thiệu

Việc chuyển đổi website từ một control panel này sang một control panel khác là một tác vụ phổ biến khi bạn thay đổi nhà cung cấp hosting hoặc muốn sử dụng một giao diện quản lý khác. cPanel và DirectAdmin là hai trong số các bảng điều khiển phổ biến nhất trên thị trường. Hướng dẫn này sẽ chỉ cho bạn cách di chuyển website của mình một cách thủ công từ môi trường cPanel sang DirectAdmin, đảm bảo dữ liệu được chuyển giao an toàn và website hoạt động trở lại bình thường 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 chuyển đổi này, bạn cần có:

  • Quyền truy cập quản trị đầy đủ (hoặc tài khoản người dùng) vào cả cPanel và DirectAdmin.
  • Quyền truy cập SSH vào cả hai máy chủ (tùy chọn nhưng rất hữu ích, đặc biệt với các tệp lớn và cơ sở dữ liệu).
  • Một ứng dụng FTP client như FileZilla hoặc khả năng sử dụng trình quản lý tệp trên cả hai bảng điều khiển.
  • Tên miền của website đã được đăng ký và có thể thay đổi bản ghi DNS.
  • Kiến thức cơ bản về quản lý tệp, cơ sở dữ liệu và SSH (nếu sử dụng).

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à tạo một bản sao lưu đầy đủ của tất cả các tệp website và cơ sở dữ liệu của bạn từ cPanel.

  1. Sao lưu tệp website:

    • Đăng nhập vào cPanel của bạn.
    • Tìm "File Manager" (Trình quản lý tệp) hoặc "Backup Wizard" (Trình hướng dẫn sao lưu).
    • Nếu dùng File Manager: Điều hướng đến thư mục public_html (hoặc thư mục gốc của website). Chọn tất cả các tệp và thư mục bên trong, sau đó nén chúng thành một tệp .zip hoặc .tar.gz. Tải tệp nén này xuống máy tính của bạn.
    • 💡 Mẹo: Nếu bạn có quyền SSH, bạn có thể nén trực tiếp trên server để tiết kiệm thời gian và băng thông:
      cd public_html
      zip -r website_backup.zip .
    • Nếu dùng Backup Wizard: Chọn "Full Backup" hoặc "Home Directory Backup" và tải tệp sao lưu xuống.
  2. Sao lưu cơ sở dữ liệu:

    • Đăng nhập vào cPanel của bạn.
    • Tìm "phpMyAdmin" trong mục "Databases" (Cơ sở dữ liệu).
    • Chọn cơ sở dữ liệu mà website của bạn đang sử dụng từ danh sách bên trái.
    • Nhấp vào tab "Export" (Xuất).
    • Chọn phương thức "Quick" (Nhanh) và định dạng "SQL", sau đó nhấp "Go" để tải tệp .sql xuống máy tính của bạn.
    • 💡 Mẹo: Nếu bạn có quyền SSH, bạn có thể xuất cơ sở dữ liệu trực tiếp:
      mysqldump -u username -p database_name > database_backup.sql
      # Nhập mật khẩu khi được yêu cầu

Bước 2: Chuẩn bị môi trường DirectAdmin

Trước khi chuyển dữ liệu, bạn cần chuẩn bị một không gian trên DirectAdmin cho website của mình.

  1. Tạo tài khoản người dùng và tên miền:

    • Đăng nhập vào DirectAdmin.
    • Nếu bạn là người dùng cuối, hãy đảm bảo tài khoản của bạn đã được tạo và bạn có quyền tạo hoặc quản lý tên miền.
    • Trong giao diện người dùng, tìm và nhấp vào "Domain Setup" (Thiết lập tên miền).
    • Nhấp "Add New" (Thêm mới) và thêm tên miền của bạn (ví dụ: yourdomain.com). Thao tác này sẽ tự động tạo thư mục gốc cho website của bạn (thường là domains/yourdomain.com/public_html).
  2. Tạo cơ sở dữ liệu và người dùng cơ sở dữ liệu:

    • Trong DirectAdmin, tìm và nhấp vào "MySQL Management" (Quản lý MySQL).
    • Nhấp vào "Create New Database" (Tạo cơ sở dữ liệu mới).
    • Nhập tên cơ sở dữ liệu, tên người dùng cơ sở dữ liệu và mật khẩu mạnh. Ghi lại thông tin này cẩn thận, bạn sẽ cần nó sau này.
    • Lưu ý: DirectAdmin có thể tự động thêm tiền tố vào tên database và username (ví dụ: user_database, user_dbuser). Hãy sử dụng tên đầy đủ có tiền tố.

Bước 3: Chuyển tệp website sang DirectAdmin

Bây giờ là lúc tải các tệp website đã sao lưu lên máy chủ DirectAdmin mới.

  1. Tải lên tệp nén:
    • Sử dụng FTP client (như FileZilla) hoặc "File Manager" (Trình quản lý tệp) trong DirectAdmin.
    • Tải tệp website_backup.zip (hoặc .tar.gz) mà bạn đã sao lưu từ cPanel lên thư mục public_html của tên miền trên DirectAdmin. Đường dẫn thường là domains/yourdomain.com/public_html.
  2. Giải nén tệp:
    • Nếu sử dụng "File Manager" của DirectAdmin, nhấp chuột phải vào tệp nén và chọn "Extract" (Giải nén).
    • Nếu sử dụng SSH, điều hướng đến thư mục public_html và giải nén:
      cd domains/yourdomain.com/public_html
      unzip website_backup.zip
      # Hoặc tar -xzf website_backup.tar.gz nếu là tệp .tar.gz
    • ⚠️ Cảnh báo: Đảm bảo rằng các tệp được giải nén trực tiếp vào thư mục public_html chứ không phải vào một thư mục con khác (ví dụ: public_html/website_backup/). Nếu có, hãy di chuyển chúng ra ngoài.

Bước 4: Nhập cơ sở dữ liệu vào DirectAdmin

Sau khi tệp website đã được chuyển, bạn cần nhập cơ sở dữ liệu.

  1. Tải lên tệp .sql (tùy chọn):
    • Bạn có thể tải tệp database_backup.sql lên máy chủ DirectAdmin (ví dụ: vào thư mục private_html hoặc một thư mục tạm thời khác) nếu muốn nhập qua SSH hoặc nếu tệp quá lớn để nhập qua phpMyAdmin trực tiếp từ máy tính.
  2. Nhập cơ sở dữ liệu qua phpMyAdmin:
    • Trong DirectAdmin, đi đến "MySQL Management" (Quản lý MySQL).
    • Nhấp vào "phpMyAdmin" (thường là một liên kết bên cạnh tên database của bạn hoặc một liên kết riêng).
    • Chọn cơ sở dữ liệu mà bạn đã tạo ở Bước 2.
    • Nhấp vào tab "Import" (Nhập).
    • Nhấp "Choose File" (Chọn tệp) và chọn tệp database_backup.sql từ máy tính của bạn (nếu bạn chưa tải lên server) hoặc từ thư mục tạm thời trên server.
    • Nhấp "Go" để bắt đầu quá trình nhập.
  3. Nhập cơ sở dữ liệu qua SSH (khuyến nghị cho DB lớn):
    • Nếu bạn đã tải tệp .sql lên máy chủ và có quyền SSH:
      mysql -u your_db_username -p your_new_database_name < database_backup.sql
      # Nhập mật khẩu khi được yêu cầu
    • Thay thế your_db_usernameyour_new_database_name bằng thông tin bạn đã tạo ở Bước 2.

Bước 5: Cấu hình lại website

Website của bạn cần biết thông tin cơ sở dữ liệu mới để hoạt động.

  1. Cập nhật tệp cấu hình:

    • Sử dụng "File Manager" của DirectAdmin hoặc FTP client để chỉnh sửa tệp cấu hình chính của website trong thư mục public_html.
    • Đối với WordPress, chỉnh sửa tệp wp-config.php. Cập nhật các dòng sau với thông tin cơ sở dữ liệu mới (tên, người dùng, mật khẩu) bạn đã tạo ở Bước 2:
      define('DB_NAME', 'your_new_database_name');
      define('DB_USER', 'your_new_db_username');
      define('DB_PASSWORD', 'your_new_db_password');
      define('DB_HOST', 'localhost'); // Thường là localhost
    • Đối với các CMS hoặc framework khác (Joomla, Drupal, Laravel, v.v.), tìm tệp cấu hình tương ứng và cập nhật thông tin database.
  2. Cập nhật URL website (nếu cần):

    • Nếu bạn thay đổi tên miền hoặc đường dẫn website (ví dụ từ http sang https), bạn cần cập nhật các URL trong cơ sở dữ liệu.
    • Với WP-CLI (cho WordPress, qua SSH):
      cd domains/yourdomain.com/public_html
      wp search-replace 'http://old_domain.com' 'https://new_domain.com' --skip-columns=guid --dry-run
      # Chạy lại lệnh bỏ --dry-run nếu kết quả dry-run đúng và bạn muốn thực hiện thay đổi
      wp search-replace 'http://old_domain.com' 'https://new_domain.com' --skip-columns=guid
    • Với phpMyAdmin: Chọn database, vào tab SQL và chạy các lệnh SQL tương tự:
      UPDATE wp_options SET option_value = REPLACE(option_value, 'http://old_domain.com', 'http://new_domain.com') WHERE option_name = 'home' OR option_name = 'siteurl';
      UPDATE wp_posts SET guid = REPLACE(guid, 'http://old_domain.com','http://new_domain.com');
      UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://old_domain.com', 'http://new_domain.com');
      UPDATE wp_postmeta SET meta_value = REPLACE(meta_value,'http://old_domain.com','http://new_domain.com');
    • ⚠️ Cảnh báo: Luôn sao lưu cơ sở dữ liệu trước khi thực hiện các thay đổi trực tiếp như thế này.

Bước 6: Cập nhật DNS

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

  1. Thay đổi Nameservers:
    • Đăng nhập vào nhà cung cấp tên miền của bạn (ví dụ: GoDaddy, Namecheap, Cloudflare).
    • Thay đổi Nameservers của tên miền để trỏ đến Nameservers của máy chủ DirectAdmin mới. Thông tin này thường được cung cấp bởi nhà cung cấp hosting DirectAdmin của bạn.
    • Ví dụ: ns1.yourhost.com, ns2.yourhost.com.
  2. Hoặc thay đổi bản ghi A:
    • Nếu bạn chỉ muốn thay đổi bản ghi A mà không thay đổi Nameservers, hãy cập nhật bản ghi A của tên miền chính và bất kỳ bản ghi A nào khác (ví dụ: www) để trỏ đến địa chỉ IP của máy chủ DirectAdmin mới.
    • ⚠️ Cảnh báo: Việc cập nhật DNS có thể mất từ vài phút đến 48 giờ để lan truyền toàn cầu (DNS Propagation). Trong thời gian này, website của bạn có thể hiển thị phiên bản cũ hoặc không truy cập được đối với một số người dùng.

Troubleshooting

Dưới đây là một số lỗi thường gặp và cách xử lý:

  • Lỗi kết nối cơ sở dữ liệu (Error Establishing a Database Connection):
    • Kiểm tra lại tệp cấu hình website (ví dụ: wp-config.php) để đảm bảo tên database, username, mật khẩu và DB_HOST (thường là localhost) là chính xác.
    • Đảm bảo bạn đã tạo đúng database và user trong DirectAdmin và gán quyền đầy đủ cho user đó trên database.
  • Lỗi 500 Internal Server Error:
    • Kiểm tra quyền (permissions) của tệp và thư mục. Thông thường, thư mục là 755 và tệp là 644. Bạn có thể chỉnh sửa qua FTP client hoặc SSH (chmod).
    • Kiểm tra tệp .htaccess trong thư mục public_html. Một số quy tắc từ cPanel có thể không tương thích với DirectAdmin. Thử đổi tên tạm thời tệp .htaccess thành htaccess.bak để xem website có hoạt động không, sau đó chỉnh sửa lại các quy tắc.
  • Website không hiển thị đúng giao diện/hình ảnh bị mất:
    • Kiểm tra xem tất cả các tệp website đã được tải lên và giải nén đúng cách vào thư mục public_html chưa.
    • Kiểm tra lại URL website trong cơ sở dữ liệu (Bước 5) nếu bạn đã thực hiện thay đổi.
    • Xóa cache của website (nếu có plugin cache) và cache trình duyệt của bạn.
  • Website bị lỗi sau khi import database:
    • Đảm bảo rằng tiền tđ bảng (table prefix) trong tệp cấu hình website khớp với tiền tố trong database đã nhập.
    • Thử chạy lại các lệnh cập nhật URL trong database (Bước 5) để đảm bảo không có đường dẫn cũ nào còn sót lại.

Kết Luận

Việc chuyển website từ cPanel sang DirectAdmin có vẻ phức tạp nhưng hoàn toàn có thể thực hiện thủ công bằng cách làm theo các bước cẩn thận. Quá trình này bao gồm sao lưu dữ liệu, chuẩn bị môi trường mới, chuyển và nhập dữ liệu, cấu hình lại website và cuối cùng là cập nhật DNS.

Best practices:

  • Luôn tạo bản sao lưu đầy đủ trước khi thực hiện bất kỳ thay đổi lớn nào.
  • Kiểm tra kỹ lưỡng website trên máy chủ DirectAdmin mới trước khi thay đổi DNS bằng cách chỉnh sửa tệp hosts trên máy tính của bạn để xem trước.
  • Sau khi chuyển đổi DNS, hãy theo dõi website của bạn trong vài ngày để đảm bảo mọi thứ hoạt động ổn định và không có lỗi nào phát sinh.

Chúc mừng bạn đã di chuyển website thành công!

Xem thêm: