Có thể một lúc nào đó mà bạn muốn đối vps, di chuyển hoặc copy một web site từ server này qua server khác thì cách nào nhanh nhất? Có thể sử dụng Plugin, nhưng nếu bạn có data lớn tầm 1gb trở lên thì việc sử dụng plugin không khả thi lắm…
Nếu bạn có toàn quyền kiểm soát vps (root) của mình thì làm theo các bước dưới đây nhé. Giả sử muốn chuyển wordpress từ domainA.com trên VPS A đến domainB.com trên VPS B, các vps đã sãn sàng hoạt động với wordpress. ví dụ: đã cài webinoly.
Bước 1: Tạo website mới trên VPS B
SSH vào VPS B
Tạo website wordpress domainB.com trên VPS B, ví dụ thực hiện với webinoly
sudo site domainB.com -wp -cache=on sudo site domainB.com -ssl=on #nếu muốn tạo ssl
Sau đó truy cập Phpmyadmin
và xóa tất cả các bảng của cơ sở dữ liệu mà domainB.com vừa tạo ( vì không biết command xóa tất cả các table nên mình vào phpmyadmin để xóa 😀 ). Ta được data trống, ví dụ dbdomainB
Bước 2: Back up code và database trên VPS A
Backup thư mục wp-content
SSH vào VPS A, cd đến thư mục wp-content và nén lại với với lệnh sau:
cd /var/www/domainA.com/htdocs/wp-content/ tar -zcvf wp-content-A.tar.gz *
Ta được file wp-content-A.tar.gz
nằm trong thư mục wp-content
Backup database
Mở file wp-config.php
tìm đến dòng define('DB_NAME', 'dbdomainA');
để xem database name.
Export database:
mysqldump dbdomainA > dbdomainA-backup-file.sql
Ta được file data dbdomainA-backup-file.sql
nằm trong thư mục root.
Bước 3: Sao chép files Backup sang VPS B
Sao chép file wp-content-A.tar.gz sang VPS B:
scp /var/www/domainA.com/htdocs/wp-content/wp-content-A.tar.gz root@ip-vps-B:/var/www/domainB.com/htdocs/wp-content
Sao chép file dbdomainA-backup-file.sql
sang VPSB:
scp /root/dbdomainA-backup-file.sql root@ip-vps-B:/root
Lưu ý:
- Thay file và đường dẫn bằng thực thế của bạn
- ip-vps-B là địa chỉ ip của VPS B
- Sau khi thực hiện lệnh trên sẽ có câu hỏi xác nhận yes hoặc no, bạn cứ nhập
yes
và nhấn enter. sau đó nhậpPassword
tài khoản root của VPS B.
Bước 4: Giải nén và Import database
Bây giờ quay trở lại VPS B. Đến thư mục wp-content
và giải nén file copy:
cd /var/www/domainB.com/htdocs/wp-content/ tar -xvf wp-content-A.tar.gz
Import file data dbdomainA-backup-file.sql
vừa copy vào data dbdomainB
cd mysql dbdomainB < dbdomainA-backup-file.sql
Bước 5: Xong rồi
Bây giờ truy cập domainB.com để xem kết quả nhé.