Tìm sản phẩm

Hướng dẫn chuyển website WordPress từ share host sang VPS

Chuyển website từ Share Host sang VPS là 1 điều không tránh khỏi khi website của bạn có lượt truy cập lớn.
Tuy nhiên, đối với các bạn không rành kỹ thuật thì điều này không hề dễ dàng.
Và tôi sẽ hướng dẫn các bạn làm điều này, 1 cách dễ dàng, từng bước từng bước một 😉
Trong bài này, tôi sẽ chuyển trang ví dụ của tôi là diacid.com từ share hosting của Stablehost sang VPS của Vultr.

CÁC BƯỚC CHÍNH ĐỂ CHUYỂN WEBSITE TỪ SHARE HOST SANG VPS VULTR

  • Tạo website wordpress trên VPS của Vultr
  • Nén và tải file mã nguồn + cơ sở dữ liệu (database) từ share host
  • Chuyển file mã nguồn và dữ liệu sang VPS Vultr
  • Tạo cơ sở dữ liệu và user mới, phân quyền user mới trên VPS
  • Chuyển dữ liệu từ database cũ (share host) sang database mới (VPS)
  • Thiết lập lại file wp-config.php trong VPS
  • Cài đặt chứng chỉ SSL cho tên miền
Những công cụ bạn cần cài đặt là:
  • BitVise: phần mềm giúp giao tiếp giữa máy tính cá nhân của bạn và VPS bằng dòng lệnh
  • Note++: đây là phiên bản nâng cấp của NotePad cài trên máy tính bạn, giúp đọc và chỉnh sửa file txt dễ dàng hơn
Khối lượng công việc cũng khá ư là nhiều đúng không nào?
Chú ý: hướng dẫn này dành cho bạn nào có kiến thức cơ bản về quản trị VPS Linux
Chúng ta sẽ đi lần lượt từng bước một.

BƯỚC 1: CÀI ĐẶT WEBSITE WORDPRESS TRÊN VPS CỦA VULTR.

Bạn hãy xem bài hướng dẫn cài đặt tại đây.
Vultr cho phép bạn tạo site WordPress chỉ bằng 1 nút bấm (LEMP)
Quá trình này rất đơn giản, mất khoảng vài ba phút là xong ngay.
Nhưng bạn khoan hãy trỏ tên miền về IP của VPS nhé. Chúng ta sẽ trỏ về sau khi đã chuyển xong cơ sở dữ liệu để tránh làm gián đoạn website.

BƯỚC 2: NÉN VÀ TẢI FILE MÃ NGUỒN + CƠ SỞ DỮ LIỆU Ở SHARE HOST

Trước khi thực hiện bước này, bạn nên deactive các plug in tạo cache (như W3 Total, WP Rocket, Super cache, LiteSpeed Cache..) để tránh bị lỗi. Khi chuyển xong ta sẽ cài lại.
Đầu tiên đăng nhập vào cPanel >> File Manager >> public_html
Chọn đúng domain của website cần chuyển. Trong ví dụ của tôi là diacid.com
Bấm Select All >> Compress
nén file mã nguồn chuẩn bị chuyển website từ share host sang VPS
Bạn có thể chọn nhiều định dạng file nén, nhưng tốt nhất là bạn chọn định dạng GZip tar.
Sau đó có thể đặt lại tên cho dễ nhớ >> Compress File
nén file mã nguồn với định dạng GZip
Tôi đặt tên file nén này là: sharehost.tar.gz
Mặc định đường dẫn tải về file này sẽ là: https://diacid.com/sharehost.tar.gz
Nhưng khoan!
Bạn không nên tải file nén về máy tính cá nhân để upload lên VPS sau này.
Lý do là nó rất chậm (vì theo phương thức sFTP).
Do đó, chúng ta sẽ dùng lệnh  wget  để copy file này trực tiếp trên share host sang VPS luôn.
Thực tế tôi đã so sánh 2 cách này: cùng 1 dung lượng file, sFTP lên đến 45 phút trong khi wget chỉ mất vài giây là đã tải lên xong!
Nhưng làm như thế nào tôi sẽ nói rõ hơn ở bước sau.
Ok.
Đã có file nén mã nguồn. Tiếp theo ta sẽ tải file cơ sở dữ liệu (database).
Tư cPanel, bạn vào phpMyAdmin.
Tuy nhiên có thể có rất nhiều thư mục database ở đây.
database của share host
Vậy chọn cái nào mới đúng?!
Đây là cách: bạn hãy mở file wp-config.php trong public_html ở trên
Kéo xuống phía dưới 1 chút bạn sẽ thấy tên database:
Ok, như vậy là đã xác định database nó nằm ở thư mục pokestop_wp987 rồi nhé
(còn bạn thắc mắc tại sao có chữ pokestop thì tôi cũng nói luôn nó là website đầu tiên của tôi là pokestop.com.vn – 1 website về game Pokemon GO :))
Bạn vào pokestop_wp987 >> Bấm tab Export, chọn Quick >> Go để tải file về máy tính cá nhân
tải file database về máy tính cá nhân
Ok.
Đây là tên file database sau khi tải: pokestop_wp987.sql

BƯỚC 3: CHUYỂN FILE NÉN MÃ NGUỒN VÀ DATABASE SANG VPS

Để truy cập vào VPS, bạn mở BitVise.
thông tin vps mới
Nhập IP vào Host và paste password như hình dưới >> Log in
đăng nhập vào vps bằng bitvise
Sau khi log in thành công, sẽ có 2 màn hình hiện ra:
  • Terminal Console (màn hình đen trắng): gõ lệnh giao tiếp với VPS tại đây. Để thao tác được thuần thục, bạn nên tham khảo thêm các lệnh Linux cơ bản. Nếu không học, bạn đành copy / paste vậy.
terminal console
  • sFTP: giống như window explorer, dùng để truy xuất, mở các file trong ổ đĩa cài đặt của VPS. Nhìn khá trực quan nhưng tốc độ truy xuất thông qua sFTP thì khá chậm.
sFTP
Vultr sau khi cài đặt WordPress thì các file cài đặt nằm ở folder: /var/www/html
Chúng ta sẽ copy file mã nguồn nén vào folder này.
Trước khi nén chúng ta cần xóa hết các file và folder hiện hữu nằm trong folder này.
Ta sẽ xóa bằng dòng lệnh thay vì xóa trực tiếp trên sFTP vì xóa như vậy khá lâu.
Đầu tiên, đi vào thư mục chứa file cài đặt bằng lệnh
 cd /var/www/html 

Sau đó xóa hết file + folder bằng lệnh
 rm -rf * 

Bước này, bạn kiểm tra cẩn thận đúng folder cần xóa nhé, xóa sai là làm lại hết đấy.
Gõ lệnh
 pwd 
để kiểm tra lại đường dẫn folder

Lúc này chúng ta sẽ copy file nén sharehost.tar.gz từ share host sang folder này bằng dòng lệnh
 wget https://diacid.com/sharehost.tar.gz 

Nếu lệnh trên không hoạt động nghĩa là VPS của ta chưa cài lệnh  wget . Để cài đặt, ta gõ
 yum install wget 

Nó sẽ tự động cài đặt sau 1 vài giây, sau khi cài đặt thì ta gõ lại lệnh trên để copy lại file GZip.
Ta giải nén file này bằng lệnh
 tar -xvf sharehost.tar.gz 

Ok.
Như vậy là ta đã copy và giải nén xong file mã nguồn.
Đối với file database sql, ta sẽ sử dụng sFTP, copy file pokestop_wp987 và paste trực tiếp vào folder /var/www/html luôn.
Cũng không quá lâu, bạn chịu khó chờ 1 chút.
(hiện giờ tôi chưa tìm được cách nào để paste nhanh file sql này, sau này tìm được, sẽ cập nhật lại bài viết)

BƯỚC 4: TẠO CƠ SỞ DỮ LIỆU MỚI TẠI VPS

Để tạo được database mới, ta phải đăng nhập vào quyền quản trị cao nhất là root.
Gõ dòng lệnh
 mysql -u root -q 

Nó sẽ yêu cầu bạn nhập password.
Để tìm được password, bạn vào folder này trong sFTP /root/.my.cnf, mở file .my.cnf bằng Note++
password của root database trên vps
Bạn copy và dán vào password, enter vào database của root.
Tạo database mới bằng lệnh
 create database thevu; 

Ở đây, thevu là tên database mới của tôi. Bạn nhớ có dấu ; sau dòng lệnh nhé.
Tiếp tục, ta tạo user mới bằng lệnh
 create user thevu@localhost; 

Ở đây, để cho dễ nhớ thì tôi đặt tên user giống tên database mới là thevu luôn.
Nhưng bạn chú ý là ta phải thêm @localhost sau tên user mới nhé.
Tiếp tục, ta thiết lập password đăng nhập database cho user mới bằng lệnh
 SET PASSWORD FOR thevu@localhost = PASSWORD(“123456”);  

Cho dễ nhớ thì tôi lấy pass là 123456 luôn, còn bạn thì nên đặt password khó hơn nhé.
Ta đã có database mới, user mới, giờ ta sẽ phân quyền cho user mới này có thể truy cập được vào database mới.
Gõ lệnh sau
 GRANT ALL PRIVILEGES ON ten-database-moi. * TO ten-username-moi@localhost IDENTIFIED BY “123456“;  
Tức là
 GRANT ALL PRIVILEGES ON thevu. * TO thevu@localhost IDENTIFIED BY “123456“;  

Cuối cùng, ta kích hoạt user phân quyền database mới bằng lệnh
 FLUSH PRIVILEGES ; 

Như vậy là xong. Gõ lệnh
 exit 
để thoát ra quản lý database.

BƯỚC 5: CHUYỂN CƠ SỞ DỮ LIỆU TỪ DATABASE CŨ SANG DATABASE MỚI

Để chuyển database, bạn gõ lệnh sau
 mysql -u tên-user-mới -p tên-database-mới < tên-database-cũ.sql  

Trường hợp ví dụ của tôi là
 mysql -u thevu -p thevu < pokestop_wp987.sql  

Chú ý là ở lệnh này thì tên user không có thêm @localhost nhé và database cũ phải thêm .sql vào phía sau.
Nó sẽ yêu cầu password mới.
Ta gõ “123456”, enter.
Sau đó, ta sẽ vào database mới bằng lệnh
 mysql -u thevu-p 

Nó lại yêu cầu mật khẩu, bạn lại nhập pass 123456 lần nữa, enter.
Để sử dụng được database mới (thevu), bạn gõ lệnh sau
 use thevu; 

Sau đó gõ
 SHOW TABLES; 

Lúc này nếu nó hiện ra như vầy
chuyển wordpress website từ share host lên vps thành công
Là xem như bạn đã chuyển database thành công.
Tuy nhiên, vẫn chưa xong, còn 1 bước nữa.

BƯỚC 6: CHỈNH SỬA LẠI FILE WP-CONFIG.PHP

File wp-config.php nằm trong thư mục /var/www/html
Lúc này nó vẫn còn lưu thông tin của database cũ pokestop_wp987 trong file php này.
Bạn mở file wp-config.php bằng Note++
Kéo xuống đến phần database name, bạn sửa tên, user và password của database như thiết lập bên trên
chỉnh sửa file wp-config.php ứng với database mới
Trong phần hostname, mặc định sẽ là localhost, nhưng nếu không phải vậy thì bạn cũng sửa lại thành localhost luôn nhé.
Save và đóng file.
Lúc này, bạn đã hoàn toàn chuyển cơ sở dữ liệu từ share host sang VPS của Vultr rồi đấy.

BƯỚC 7: TRỎ TÊN MIỀN VỀ IP CỦA VPS MỚI

Bạn có thể sử dụng CloudFlare để add A record về IP của VPS
trỏ tên miền về IP VPS mới bằng A Record
Nó sẽ có hiệu lực tức thì ngay.
Nếu domain bạn vẫn chưa kết nối với CloudFlare để quản lý DNS thì có thể tham khỏa tại đây.
Sau khi add thì nhớ tắt tất cả đám mây vàng của CloudFlare đi nhé. Nếu còn để bật thì quá trình kích hoạt chứng chỉ SSL cho tên miền sẽ bị lỗi.
Lúc này, chúng ta chỉ sử dụng CloudFlare như 1 dịch vụ DNS trung gian mà thôi (và hầu hết nên là như thế).
Về cơ bản thì bạn đã chuyển xong wordpress site sang VPS rồi.
Tuy nhiên, nếu bạn không chắc chắn thì chúng ta có thể kiểm tra lại.
Trong folder /var/www/html, bạn tạo file text mới. Ví dụ, tôi tạo file txt là abc.txt với nội dung là “Hello Vu!”
Tôi sẽ gõ đường dẫn của file này trên trình duyệt: https://diacid.com/abc.txt
Kết quả là:
OK, như vậy chắc chắn 100% là chính xác rồi nhé.

BƯỚC 8: CÀI ĐẶT CHỨNG CHỈ SSL CHO TÊN MIỀN

Ngày nay, chứng chỉ SSL https ngày càng quan trọng.
Do đó, kích hoạt SSL là 1 việc bắt buộc phải làm.
Mặc định, Vultr sẽ cài site WordPress bằng Webserver LEMP (Linux- NGINX – MariaDB – PHP).
Để cài đặt chứng chỉ SSL trên VPS chạy NGINX, bạn tham khảo tại đây.
Chúng ta sẽ sử dụng công cụ Certbot để cài đặt chứng chỉ SSL miễn phí Let’s Encrypt.

CẬP NHẬT: BỎ CỬA SỔ “AUTHENTICATION REQUIRE”

Sau khi cài đặt chứng chỉ SSL, có thể site của bạn sẽ hiện khung “Authentication Require” mỗi khi vào trang
Authentication Required
Bạn có thể bấm “cancle” để tiếp tục xem trang.
Mục đích của nó là để “tăng tính bảo mật” nhưng điều này thực sự là 1 phiền toái cho người truy cập.
Để tháo cái Authentication Required này đi, bạn làm như sau:
Đăng nhập vào SFTP thông qua BitVise như trên.
Mở file wordpress-http.conf trong thư mục /etc/nginx/conf.d bằng Note++
Kéo xuống và xóa dòng sau
Save và đóng file.
Tiếp tục mở file wordpress_https. conf và xóa dòng y chang như vậy.
Bạn vào Terminal console, khởi động lại NGINX bằng lệnh sau
 service nginx restart; 
Như vậy là xong.
Cái pop up Authentication Required khó chịu sẽ không còn xuất hiện nữa!

LỜI KẾT

Như vậy là chúng ta đã đi qua 8 bước để chuyển website wordpress từ share host sang VPS.
Để làm được trơn tru các bước này bắt buộc bạn phải có kiến thức cơ bản về quản lý máy chủ bằng Linux.
Nếu làm quen tay thì cũng không quá phức tạp.
Để thực hiện quá trình này nhanh và dễ dàng thì tôi khuyên bạn sử dụng dịch vụ VPS của Vulr.
Nó vừa tích hợp được nút cài đặt WordPress bằng LEMP (trong khi đó Digital Oceancũng có nút cài đặt nhưng lại cài LAMP cho hiệu suất kém hơn LEMP).
Bù lại, Digital Ocean lại có chính sách tặng 10$ cho user mới trong khi Vultr thì không có.
Như thường lệ, nếu bạn gặp khó khăn, hay có thắc mắc gì trong quá trình chuyển website thì đừng ngần ngại liên hệ Vũ qua contact@langthangweb.com
Hoặc để lại bình luận bên dưới.
Chúc các bạn chuyển website từ share host sang VPS thành công!
Lưu để sài @@ Thanks Admin
Hướng dẫn chuyển website WordPress từ share host sang VPS Hướng dẫn chuyển website WordPress từ share host sang VPS Reviewed by Viet Le on 12:52 AM Rating: 5

No comments:

Powered by Blogger.