Bài viết này mình sẽ hướng dẫn các bạn cách di chuyển website khác về VPS đang sử dụng Centminmod với tình huống hay gặp nhất.
Trong thời gian qua mình nhận được phản hồi rằng khi dùng Centminmod nó không có bảng điều khiển nên hơi khó khăn trong việc di chuyển website từ host khác về VPS sử dụng Centminmod. Thực tế chỉ ra rằng nếu bạn thật sự biết cách làm thì việc di chuyển website bằng các dòng lệnh sẽ nhanh hơn rất nhiều mà không cần sử dụng bất cứ plugin hỗ trợ backup nào.
Bạn đang thắc mắc không biết làm sao? Hãy để mình hướng dẫn bạn cách di chuyển một website khác về VPS đang sử dụng Centminmod với 2 tình huống thường gặp nhất.
Trước khi tiến hành chuyển host, hãy tắt hết các plugin hỗ trợ cache như WP Super Cache, W3 Total Cache và iThemes Security nếu có cài đặt.
MỤC LỤC
Dành cho bạn nào muốn nhanh
Nếu dữ liệu của bạn không quá lớn (ít hơn 200MB) thì có thể sử dụng các plugin hỗ trợ backup & restore dữ liệu như Duplicator, BackupBuddy hoặc mình khuyến khích sử dụng dịch vụ BlogVault để backup và di chuyển dữ liệu sang server mới với 1 cú click.
Bước 1. Thêm domain vào Centminmod
Truy cập vào thư mục /usr/local/src/centmin-v1.2.3mod và chạy file centmin.sh với cặp lệnh sau:
1 |
cd /usr/local/src/centmin-v1.2.3mod/ && ./centmin.sh |
Làm lại theo hướng dẫn bài này.
Lưu ý: Chỉ add domain vào, không được trỏ IP về VPS mới cho đến khi di chuyển file hoàn tất.
Bước 2. Tạo database ở server mới
Gõ lệnh sau ở server mới để đăng nhập vào MySQL và tạo database.
1 |
mysql -u root -p |
Kế đến là gõ lệnh tạo database, database user và cấp quyền cho nó. Ở dưới là từng đoạn lệnh để tạo, các dòng có dấu Query OK là bạn không cần viết. Mình sẽ tạo một database với thông tin như sau:
- Database Host:
localhost
- Database User:
dbuser
- Database Name:
dbname
- Database Password:
123456
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
MariaDB [(none)]> CREATE DATABASE dbname; Query OK, 1 row affected (0.00 sec) MariaDB [(none)]> CREATE USER dbuser; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> CREATE USER dbuser@localhost; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> SET PASSWORD FOR dbuser@localhost= PASSWORD("123456"); Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> GRANT ALL PRIVILEGES ON dbname.* TO dbuser@localhost IDENTIFIED BY '123456'; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> exit Bye |
Bước 3. Tải dữ liệu cũ về VPS
Trường hợp 1: Chuyển dữ liệu từ host sử dụng cPanel
Hầu hết các dịch vụ cung cấp host hiện tại đều sử dụng cPanel nên mình sẽ hướng dẫn bạn chi tiết cách di dời toàn bộ dữ liệu của website WordPress sang VPS một cách nhanh nhất có thể.
Bước 1. Nén lại tất cả tập tin của website trên host
Bạn vào cPanel -> File Manager rồi truy cập vào thư mục gốc của website mà bạn cần di chuyển (ví dụ: /public_html). Sau đó ấn nút Select All để chọn toàn bộ file và thư mục.
Và nhấn nút Compress, sau đó đặt tên file bất kỳ mà bạn có thể nhớ được.
Chọn loại tập tin nén là ZIP Archive và đặt tên file sao cũng được, miễn là bạn nhớ nó. Cuối cùng là ấn nút Compress File(s) để nó nén lại.
Đợi tầm một xíu, lâu hay chậm là tùy thuộc dung lượng của website bạn. Khi nén xong nó sẽ xuất hiện bảng thông báo như thế này:
Bây giờ vào VPS của bạn và tiến hành truy câpvào thư mục public của domain bạn đã thêm vào Centminmod. Nhớ thay tên domain lại nhé.
1 |
cd /home/nginx/domains/wp-hosting-review.com/public |
Và tải file mà bạn vừa zip ở cPanel về với lệnh wget
như sau:
1 |
wget http://domain-cua-ban.com/file.zip |
Bạn nhớ thay đường dẫn thành địa chỉ domain của bạn và tên file mà bạn vừa nén. Lưu ý là cái file.zip phải được đặt ở thư mục public_html thì mới có thể tải về được.
Khi chạy lệnh wget xong bạn hãy đợi nó tải file về VPS cho xong. Yên tâm đi là ở VPS nó tải file nhanh lắm.
Sau khi tải xong, hãy gõ tiếp lệnh unzip để giải nén file .zip mà mình vừa tải về VPS.
1 |
unzip -o file.zip |
Kế tiếp là cấp quyền thư mục này cho user nginx để bạn có thể upload ảnh, cài plugin mà không cần CHMOD.
1 |
chown -R nginx:nginx * |
Gõ lệnh ls
xem đã có files và thư mục vừa tải về chưa nhé.
Bây giờ bạn gõ lại lệnh cd
và Enter để trỏ về thư mục /root trên VPS.
Bước 2. Di chuyển database từ host cũ sang VPS mới
Tiếp tục quay lại cPanel của host cũ -> PhpMyAdmin -> Export và tải file .sql của database cũ về máy.
Tải xong, bạn dùng phần mềm WinSCP để truy cập vào VPS mới thông qua giao thức sFTP với thông tin đăng nhập giống như bạn vào SSH. Nếu nó có hỏi cái gì thì cứ chọn Yes.
Ngay tại thư mục /root, bạn upload file .sql mà bạn vừa tải về lên đó.
Bây giờ vào lại VPS, gõ lệnh cd
để chắc chắn bạn đã trở về thư mục /root và gõ lệnh ls
xem có file .sql vừa upload lên chưa. Nếu có rồi thì thành công.
Bây giờ bạn có thể làm tiếp bước khôi phục database trên VPS.
Trường hợp 2: Chuyển file từ một VPS
Đối với bạn cần chuyển dữ liệu từ một VPS khác về thì tốt nhất hãy dùng các đoạn lệnh để làm nhanh gọn hơn.
Bước 1. Nén lại tất cả tập tin của website trên VPS cũ
Đầu tiên là bạn cd vào thư mục public của domain trên VPS mới:
1 |
cd /home/nginx/domains/abc.com/public |
Sau đó tiến hành sử dụng rsync để chuyển file từ server cũ sang server mới.
1 |
rsync -avz --progress root@123.456.789:/home/example.com/public_html/* . |
Trong đó:
- 123.456.789 là IP của server cũ
- /home/example.com/public_html/: là đường dẫn tới thư mục chứa website trên server cũ.
Bạn nhớ thay lại 2 thông tin này cho chính xác
Sau khi Enter, nó sẽ hỏi bạn là:
1 2 3 |
The authenticity of host '123.456.789 (123.456.789)' can't be established. RSA key fingerprint is 3c:7b:5e:0e:67:37:e3:1b:c2:95:c5:0c:b3:de:29:03. Are you sure you want to continue connecting (yes/no)? |
Gõ yes
và Enter. Kế tiếp là gõ mật khẩu của server cũ và Enter. Sau khi gõ mật khẩu xong, nó sẽ tiến hành copy toàn bộ file từ server cũ sang server mới với tốc độ nhanh nhất có thể.
Khi nào nó hiện ra thông báo này là thành công:
1 2 3 |
sent 71489 bytes received 45606675 bytes 794402.85 bytes/sec total size is 78893277 speedup is 1.73 [root@sv public]# |
Để kiểm tra, cứ gõ lệnh ls
ra xem đã có file chưa. Nếu có rồi thì thành công.
Bước 2. Di chuyển database từ VPS cũ sang VPS mới
Bạn vào lại server cũ, tiến hành backup database của website với lệnh sau (vẫn phải cd vào thư mục chứa website ở server cũ):
1 |
mysqldump -u data_user -p123456 data_name > data.sql |
Lệnh trên nghĩa là nó sẽ xuất dữ liệu trong database tên là data_name ra một file tên là data.sql. Đầy đủ là như sau:
data_user
: tên user của databasedata_name
: tên của database123456
: mật khẩu của database
Các thông tin này bạn có thể mở file wp-config.php ở server cũ ra mà xem.
Backup xong bạn nhớ gõ lệnh ls
kiểm tra xem thư mục chứa web của bạn đã có file data.sql chưa.
Cuối cùng là lôi file này về VPS mới, bạn hãy gõ cd để trở về thư mục /root ở VPS mới và tải file data.sql từ server cũ về.
1 2 |
cd wget http://example.com/data.sql |
Xong, vẫn phải nên gõ ls xem file data.sql
đã có ở server mới chưa.
Bây giờ bạn có thể làm tiếp bước khôi phục database trên VPS.
Bước 4. Khôi phục database trên VPS
Để khôi phục, tốt nhất bạn nên cd về thư mục đang chứa file .sql mà như bài này là mình đều lưu file .sql ở thư mục /root. Do đó bạn cần gõ cd
để nó đưa về thư mục này.
Bạn nên kiểm tra xem tên file .sql là gì bằng lệnh ls
. Kiểm tra xong rồi, bạn dùng lệnh sau để nó đưa dữ liệu từ file .sql vào database trên server mới.
1 |
mysql -u dbuser -p123456 dbname < thichw5_blogtw.sql |
Trong đó:
dbuser
: tên user của database mà bạn đã tạo ở bước 2dbname
: tên của database mà bạn đã tạo ở bước 2123456
: mật khẩu của database mà bạn đã tạo ở bước 2thichw5_blogtw.sql
: tên file .sql mà bạn đã làm ở bước 3
Enter 1 cái là xong.
Để kiểm tra xem database ở server mới có dữ liệu chưa, bạn truy cập vào MySQL với lệnh.
1 |
mysql -u dbuser -p123456 |
Sau đó gõ lệnh USE dbname;
và SHOW tables;
như ở dưới.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
MariaDB [(none)]> USE dbname; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed MariaDB [dbname]> SHOW tables; +----------------------------------+ | Tables_in_dbname | +----------------------------------+ | f324ws_commentmeta | | f324ws_comments | | f324ws_itsec_lockouts | | f324ws_itsec_log | | f324ws_itsec_temp | | f324ws_links | | f324ws_mainwp_group | | f324ws_mainwp_request_log | | f324ws_mainwp_tips | | f324ws_mainwp_users | | f324ws_mainwp_wp | | f324ws_mainwp_wp_backup | | f324ws_mainwp_wp_backup_progress | | f324ws_mainwp_wp_group | | f324ws_options | | f324ws_postmeta | | f324ws_posts | | f324ws_term_relationships | | f324ws_term_taxonomy | | f324ws_terms | | f324ws_usermeta | | f324ws_users | +----------------------------------+ 22 rows in set (0.00 sec) MariaDB [dbname]> |
Nếu nó hiển thị các tables ra như trên thì thành công.
Gõ exit;
để thoát ra khỏi MySQL.
Bước 5. Cập nhật thông tin database ở file wp-config.php
Bước này chắc bạn làm nhiều lần rồi nhỉ, hãy mở file wp-config.php trên server mới ở thư mục public ra và đổi các thông tin database như ở dưới:
1 2 3 4 5 6 7 8 9 10 |
define('DB_NAME', 'dbname'); /** MySQL database username */ define('DB_USER', 'dbuser'); /** MySQL database password */ define('DB_PASSWORD', '123456'); /** MySQL hostname */ define('DB_HOST', 'localhost'); |
Lưu lại và hoàn tất.
Bước 6. Trỏ domain về VPS mới
Bước này thì chắc bạn đã biết rồi, đó là vào lại phần quản lý DNS của domain và sửa IP của domain thành IP của server VPS mới. Do mỗi người quản lý các record DNS mỗi kiểu khác nhau nên mình không hướng dẫn thêm.
Lời kết
Bài này có vẻ hơi dài nhưng đây cũng là một vấn đề quan trọng nhất khi sử dụng VPS để bạn có thể tự làm với các dòng lệnh mà không phụ thuộc vào các plugin bởi vì đôi khi dữ liệu của bạn lớn quá, các plugin sẽ không thể sao lưu lại toàn bộ dữ liệu của bạn được nên đây là cách tối ưu nhất.
Ở bài này mình đã cố gắng giải thích chi tiết nhất có thể, nhưng nếu bạn không hiểu chỗ nào hay bị kẹt ở phần nào thì hãy comment để mình hướng dẫn thêm.
Centminod & WordPress [Phần 6] – Chuyển website cũ về VPS
( Serie Centminmod & WordPress )
WordPress FAQ » Học WordPress » Hosting » Máy Chủ
WordPress FAQ | Hoc WordPress | Su dung WordPress | Lap trinh WordPress | Plugin WordPress | Thuat ngu WordPress | Theme WordPress | Lap trinh Themes | Lap trinh plugin | WordPress API | Hosting | May chu