Trong quá trình duy trì website thì chúng ta không thể chắc chắn chỉ lưu website ở một chỗ mà có thể sẽ cần chyển qua dịch vụ hosting khác vì nhiều lý do. Trong bài này mình sẽ hướng dẫn chi tiết cách di chuyển dữ liệu của WordPress từ host sử dụng cPanel qua một khác cũng sử dụng cPanel mà không gây ảnh hưởng đến website, có khi người dùng còn không biết bạn vừa chuyển host.
Cần làm trước khi chuyển
- Đã thêm tên miền vào host cPanel mới.
- Tắt các plugin cache trên website nếu có.
- Tắt các plugin bảo mật nếu có.
Khái quát về việc chuyển dữ liệu website
Nói về chuyển dữ liệu của website WordPress qua host khác thì chúng ta hãy hiểu đơn giản là sẽ di chuyển toàn bộ mã nguồn và cơ sở dữ liệu (database) của website trên host cũ sang host mới. Sau đó sửa thông tin về database ở mã nguồn trên host mới trùng khớp với thông tin database ở host mới và cuối cùng là trỏ tên miền về là hoàn thành.
Các bước chuyển dữ liệu website qua host mới sử dụng cPanel
1. Tải mã nguồn dữ liệu ở host cũ
Bạn truy cập vào cPanel ở host cũ và tìm mục File Manager (có thể sử dụng FTP nếu thích nhưng không nén được trên FTP).
Sau đó tìm tới thư mục website của bạn và chọn Select All
Sau đó chọn Compress ở trên để bắt đầu nén.
Bạn hãy chọn định dạng .zip và đặt tên tập tin nén này. Sau đó ấn Compress Files.
Đợi một chút khi nó nén xong, bạn hãy tải tập tin .zip này về máy.
Xong rồi, bây giờ bạn đã có mã nguồn website ở máy để chút nữa upload lên host mới.
2. Sao lưu database ở host cũ
Cũng vẫn ở host cũ, bạn vào cPanel và tìm phần phpMyAdmin.
Sau đó chọn database của website cần chuyển đi và chọn Export.
Sau đó ấn Go để bắt đầu tải database về. Database tải về sẽ có định dạng là .sql.
Bước 3. Upload mã nguồn lên host mới
Bây giờ chúng ta sẽ truy cập vào cPanel của host mới và vào File Manager, tìm thư mục của tên miền và upload vào đó. Nếu bạn sử dụng tên miền làm tên miền chính của host thì thư mục gốc là public_html.
Khi upload xong, quay lại trang File Manager và chọn tập tin vừa upload và chọn Extract để giải nén ra.
Vậy là xong bước chuyển mã nguồn qua host mới. Chúng ta làm bước kế tiếp nào.
4. Di chuyển database qua host mới
Để các dữ liệu bên host cũ có thể hoạt động được bên host mới thì ngoài mã nguồn thì chúng ta phải di chuyển database (nội dung bài viết, thiết lập,…).
Ở bước 2 chúng ta đã tải về một tập tin .sql là database được xuất ra từ host cũ. Bây giờ bạn hãy vào cPanel ở host mới và tìm mục MySQL Databases để tạo một database mới trên host mới.
Tại đây bạn tạo một database và database giống hệt lúc bạn tạo ra để cài website nhé, và nhớ cấp quyền cho nó.
Cuối cùng là vào mục phpMyAdmin trên cPanel tại host mới và tìm database vừa tạo rồi chọn Import để nhập dữ liệu từ tập tin .sql mà bạn đã tải về máy trong bước 2.
Thời gian import sẽ nhanh hay chậm tùy thuộc vào tốc độ đường truyền và dung lượng của database nhập vào.
[alert color=”red” type=”alert-message-background” title=”Đối với database lớn” size=”small”]Nếu database của bạn trên 80MB, hãy import bằng MySQLDumper theo hướng dẫn của mình vì database lớn sẽ không thể import theo cách này. Còn nếu database của bạn vài trăm MB hay vài GB thì hãy liên hệ nhà cung cấp host nhờ họ import cho bạn bằng lệnh.[/alert]
Sau khi import thành công bạn sẽ nhận được dòng thông báo màu xanh của sự sống như thế này.
Thế là xong bước này.
5. Sửa thông tin database trong wp-config.php ở host mới
Khi bạn mang mã nguồn từ host cũ qua host mới như bước 3 thì vô tình chung tập tin wp-config.php vẫn còn mang thiết lập database ở host cũ. Thông tin database này bao gồm hostname, database name, database user và database password không trùng khớp ở host mới nên chúng ta phải sửa lại cho đúng với thông tin database đã tạo ra ở bước 4.
Mình vào host tìm tập tin wp-config.php ở thư mục mới giải nén ra trong bước 3 và mở nó lên.
Đồng thời tìm các dòng sau và sửa lại.
/** The name of the database for WordPress */
define(‘DB_NAME’, ‘hamhocne_wp730’);/** MySQL database username */
define(‘DB_USER’, ‘hamhocne_wp730’);/** MySQL database password */
define(‘DB_PASSWORD’, ‘l.0e8P9(SL’);/** MySQL hostname */
define(‘DB_HOST’, ‘localhost’);
Trong đó:
- DB_NAME: Tên database ở host mới.
- DB_USER: Tên user của database ở host mới.
- DB_PASSWORD: Mật khẩu của database user.
- DB_HOST: Địa chỉ của MySQL Server. Nếu host bạn không có địa chỉ riêng dành cho MySQL thì vẫn để là localhost nhé.
Sau đó lưu lại.
6. Kiểm tra website trước khi trỏ tên miền
Khi chúng ta chưa trỏ tên miền về host mới thì chúng ta không thể vào được website trên host mới đúng không nào? Tuy nhiên không cần phải trỏ về host thì chúng ta mởi kiểm tra được mà có thể “ép” máy tính của mình truy cập vào website thông qua host mới bằng cách sửa tập tin hosts trên máy tính.
Chúng ta trỏ tên miền về host mới trên máy tính bằng cách thêm một đoạn sau vào tập tin hosts:
123.45.67.89 domain.com
Trong đó bạn sửa lại như sau:
123.45.67.89
: Địa chỉ IP của host mới. Bạn có thể xem trong mail khi mua host hoặc xem trong cPanel (mục Dashboard nếu cPanel giao diện mới hoặc xem video này nếu cPanel của bạn dùng giao diện cũ)domain.com
: Domain của bạn đã thêm vào host.
Tập tin hosts nằm ở đâu?
Windows
C:WindowsSystem32driveetchosts
Linux (terminal)
sudo nano /etc/hosts
Mac (terminal)
sudo nano /private/etc/hosts
Sau khi kiểm tra website xong, nếu bạn thấy website không còn lỗi nữa thì hãy tiến hành trỏ tên miền về host.
7. Trỏ tên miền về host mới
Bây giờ bạn có thể trỏ domain về host mới bằng cách sửa lại DNS của tên miền của host mới thôi là được.
Xem thêm: Cách trỏ tên miền về host bằng DNS của host
Lời Kết
Ở trên là 7 bước rất cơ bản khi chuyển một website WordPress mà bạn cần phải biết dù chúng ta có nhiều cách nhanh hơn nhưng nó còn phụ thuộc khá nhiều cấu hình host nên mình không đề cập ở đây. Nếu bạn muốn làm nhanh hơn thì hãy thử plugin Duplicator mà mình đã giới thiệu trước đó.