Đây là bài viết thứ 6 trong EasyEngine Series
Bài viết hôm nay mình sẽ hướng dẫn bạn từng bước chuyển một website từ dịch vụ Shared Host sang máy chủ cài đặt EasyEngine.
Chuẩn bị
- Một máy chủ Linux mới tinh cài đặt Ubuntu và EasyEngine. Nếu bạn chưa chọn VPS, mình khuyến khích bạn chọn DigitalOcean hoặc A2Hosting.
- Kết nối với máy chủ với quyền root sử dụng một SSH Client như MobaXTerm.
Hướng dẫn từng bước chuyển website từ shared host về máy chủ Linux cài EasyEngine
Bước 1: Cài đặt website trên máy chủ Linux
Đầu tiên bạn thêm domain website bạn định chuyển bằng lệnh sau của EasyEngine:
ee site create domain.com --wpredis
Ví dụ:

Sau đó bạn truy cập vào thư mục chứa mã nguồn của website bạn vừa tạo bằng EasyEngine với 2 câu lệnh sau:
ee site cd domain.com
cd htdocs
Bước 2: Xóa dữ liệu của website vừa tạo
Câu lệnh tạo website của EasyEngine ở bước trên sẽ tạo database và mã nguồn WordPress cho website. Nhiệm vụ của bạn là xóa hết chúng đi để tí nữa bạn lấy dữ liệu của website từ shared host.
Xóa database bằng câu lệnh sau (sử dụng WP CLI):
wp db reset --allow-root
Xóa mã nguồn bằng lệnh sau (chắc chắn bạn đã di chuyển vào thư mục htdocs của website):
rm -rf *
Bước 3: Mang dữ liệu website bên shared host sang máy chủ Linux:
Bạn truy cập File Manager trong cPanel của Shared Host. Nén toàn bộ mã nguồn website.
Chọn tùy chọn nén GZipped Tar Archive. Nhập vào tên file sao cho dễ nhớ. Click nút Compress File(s) để bắt đầu nén.

Ở bên máy chủ Linux, bạn lấy file nén này bằng câu lệnh sau: (thay domain.com bằng tên miền website của bạn, source_code.tar.gz bằng tên file nén bạn tạo ở trên.
wget domain.com/source_code.tar.gz
Ví dụ:

Sau khi đã tải file nén về máy chủ Linux, bạn giải nén bằng câu lệnh sau:
tar -xvf source_code.tar.gz
Bởi EasyEngine sử dụng file wp-config.php nằm ở thư mục /var/www/domain.com chứ không phải file nằm trong /var/www/domain.com/htdocs.
Do vậy bạn cần đổi tên file wp-config.php của website cũ bạn vừa chuyển sang máy chủ Linux thành cái gì cũng được. Ví dụ bạn chạy lệnh sau:
mv wp-config.php wp-config.old.php
Bây giờ bạn tiếp tục chuyển database về máy chủ Linux.
Đầu tiên bạn vào phpMyAdmin ở shared host cũ và export cơ sở dữ liệu ra file sql.

Bây giờ bạn upload file này lên thư /var/www/domain.com/htdocs sử dụng sftp trong MobaXTerm:

Tiếp theo bạn import dữ liệu website cũ vào database của website mới trên Linux bằng lệnh sau (sử dụng WP CLI):
wp db import data.sql --allow-root
Data.sql chính là file bạn vừa export ở website cũ. Thay đổi tên file cho phù hợp với tình huống của bạn.
Bước 4: Kiểm tra file wp-config.php
Sử dụng Moba Editor có sẵn trong MobaXTerm bạn mở file wp-config.php nằm trong /var/www/domain.com/. Nếu website cũ bạn sử dụng prefix table khác wp_ thì bạn sửa lại cho đúng. Nếu bạn không sửa tí nữa truy cập website nó sẽ xuất hiện màn hình cài đặt WordPress.

Bước 5: Phân quyền lại thư mục
Bạn cần phân quyền để tránh bị hỏi thông tin FTP khi cập nhật hay cài đặt plugin trong WordPress.
Chạy dòng lệnh sau để đảm bảo thư mục và file của website vừa chuyển sang thuộc sở hữu user www-data và group www-data.
chown -R www-data:www-data /var/www/domain.com
Bước 6: Cài đặt các plugin cần thiết
Bạn cần chạy lệnh ee update site để website của bạn vừa chuyển sang nhận tự động cài đặt plugin và cấu hình chính xác với EasyEngine.
Ban đầu mình tạo website với tùy chọn --wpredis, bây giờ mình sẽ chuyển sang --wpfc rồi chuyển ngược lại về --wpredis. Phải làm vậy thì EasyEngine mới tự động cài đặt plugin và thiết lập cho plugin được về cấu hình --wpredis trong trường hợp của mình.
ee site update domain.com --wpfc
Bước 7: Trỏ domain về máy chủ Linux
Bước cuối cùng là bạn trỏ domain về hosting Linux bạn vừa chuyển tới. Sau đó truy cập website và test lại xem có còn lỗi gì hay không.
Thế là xong.
Bạn đã vừa chuyển xong một website từ shared host sang máy chủ Linux có cài đặt EasyEngine.
Nếu bạn gặp lỗi gì trong quá trình chuyển website hãy chia sẻ ở bình luận bên dưới.
Yêu thích viết blog.