Hướng dẫn restore website trên Linux toàn tập

Thời gian trôi nhanh như chó chạy, cả tuần trời không được bài nào, hết việc gia đình đến việc công ty cứ loạn cả lên hôm nay mới gác lại để viết tiếp được mong các bạn độc giả thông cảm.

Bài trước bạn đã biết backup web trên VPS một cách tự đông bài này sẽ hướng dẫn thêm cách restore website cho đủ bộ, mình lấy việc chuyển website từ hosting sang VPS Server để các bạn dễ hình dung.

Hướng dẫn restore website trên linux

Restore website theo mình là khó, thiên về kiến thức tổng hợp hơn là việc cài đặt cấu hình. Tuy xưa như trái đất nhưng nhiều người làm vẫn bị lỗi vì nó phải chỉnh sửa nhiều thành phần cùng lúc bạn nào không nắm rõ vấn đề thường làm sai.

Coi như bạn đã có bản backup website trên máy tính cá nhân của mình bao gồm source codedatabase. Có thể tham khảo thêm một số bài viết sau:

Để phục hồi website trên linux chúng ta làm tuần tự các bước.

1. Trỏ NameServer trên domain.

Nói trỏ Domian đến DNS Server cũng được, Nameserver hay DNS Server là một bạn nhé. Đây là việc quan trọng cần làm đầu tiên vì có thể sẽ mất thời gian để cập nhật DNS giữa hệ thống của bên cung cấp Hosting và VPS.

Tại sao phải đổi lại nameserver cho tên miền, mình giải thích như này.

Trước đây các bạn chạy web trên hosting thì hiển nhiên tên miền của bạn cài đặt dùng nameserver của nhà cũng cấp hosting để có tốc độ truy vấn tốt nhất. Giờ bạn chuyển web sang VPS mới với địa chỉ IP mới thì bạn phải cài đặt lại để domain dùng nameserver của đơn vị cung cấp Cloud VPS. Như thế thì khi người dùng truy cập trang web của bạn trình duyệt mới biết website nằm ở đâu mà mò tới làm việc.

Một câu hỏi đặt ra: nếu vẫn muốn dùng nameserver của hosting có được không ?

Cấu trả lời là được nhưng không tối ưu. Làm như vậy bạn sẽ mất phí duy trì cả hosting và VPS thứ nữa bạn vẫn phải vào Cpanel cấu hình DNS trên hosting trỏ sang IP của VPS.

Trên thực tế thì ít người làm như vậy vừa phí tiền thuê hosting mà tốc độ truy vấn chậm bạn nào muốn nghiên cứu và chơi lạ cứ thử :). Cách này hữu ích nếu dùng để cấu hình FailOver khi đó hosting sẽ đóng vai trò làm Proxy điều hướng đến các VPS Web Server khi có lỗi xảy ra, chủ đề này tạm gác không bàn đến trong bài này nhé.

Khi đã dùng Nameserver của bên cung cấp VPS bạn khỏi phải quan tâm đến trỏ IP trên Domain nữa vì từ giờ bên cung cấp VPS sẽ làm việc đó, trong khu vực quản trị Domain bạn cũng chẳng nhìn thấy gì nữa, đọc bài viết bên dưới để hiểu thêm.

Nếu dùng nameserver của bên cung cấp VPS bạn vào phần quyản lý DNS để add domain vào. Bên dưới là cách cài đặt DNS Server của ba nhà cung cấp VPS giá rẻ mà mình đang dùng, bạn tham khảo.

Dùng DNS của Linode

Đăng nhập vào phần quản trị DNS của Linode chọn, DNS Manager -> Add a zone rồi nhập domain và email của bạn vào.

Add a zone linode DNS

 

Sau đó chọn Add a Master Zone sẽ được kết quả như hình bên dưới.

Linode DNS Manager

Dùng DNS của Vultr

Vào Server -> DNS rồi điền đầy đủ thông tin tên miền Vultr yêu cầu là được.

Vultr Add Domain

Giao diện quản lý DNS của Vultr sẽ giống thế này:

Vultr DNS Manager

Dùng DNS của DigitalOcean

Bạn vào Networking -> Domains, khai báo tên miền và chọn VPS Webserver của mình.

Thêm Domain vào DNS DigitalOcean

Phần quản lý DNS của DigitalOcean cũng gần như Linode và Vultr thôi.

Quản lý DNS trên DigitalOcean

Trên đây là toàn bộ cách thêm Domain vào DNS Server của Linode, Vultr, DigitalOcean. Sau bước này Domain đã cập nhật xong IP mới của VPS rồi, chúng ta chuyển sang phần tiếp theo.

2. Tạo database và user database trên VPS.

Phần này là những kiến thức cũ về cài đặt và cấu hình Web Server, tạo Database trên MySQL (MariaDB) cách thêm một tên miền mới trên NginxApache (Virtualhost)

Các bạn đọc lại tài liệu mình viết trước đó để biết cách làm:

Mặc đính bạn đã dựng được Web Server ngon lành rồi.

Bạn chỉ cần chú ý tạo đúng database name , user name và password đã dùng cho website vì khi không phục lại trang web các thông số kết nối với database không có gì thay đổi. Trường hợp phải tạo mới lại thông tin bạn phải cập nhật thông số mới trong file config của wordpress, mình nói rõ hơn ở bên dưới.

3. Restore website trên VPS

Bước này bạn phải dùng sFTP đẩy dữ liệu đã backup trước đó lên VPS.

Restore source code

Sau đó dùng tar giải nén source code vào đúng đường dẫn đã khai báo khi cấu hình Virtualhost, mỗi người thích đặt source code vào một vị trí khác nhau bạn tham khảo cấu hình bên dưới của mình.

Trên webserver Apache

<VirtualHost *:80>
 ServerAdmin admin@thuysys.com
 ServerName thuysys.com
 ServerAlias www.thuysys.com
 DocumentRoot /var/www/thuysys.com/public_html
 ErrorLog /var/www/thuysys.com/logs/error.log
 CustomLog /var/www/thuysys.com/logs/access.log common
 </VirtualHost>

Với apache bạn giải nén toàn bộ source code vào DocumentRoot để phục hồi lại dữ liệu trang web.

Trên webserver nginx.

server {
 listen 80;
 server_name thuysys.com www.thuysys.com;
 root /var/www/thuysys.com/public_html;
 access_log /var/www/thuysys.com/logs/access.log;
 error_log /var/www/thuysys.com/logs/error.log;
 index index.html index.htm index.php;
 }

Nginx thì source code sẽ đặt theo đường dẫn của root.

Điều quan trọng nhất không được quên là kiểm tra lại quyền sở hữu thư mục chứa source code, xem bài:

Restore database trên server

Bạn chạy cho mình lênh sau

mysql -u userdb -p123456 dbname < db.sql

Câu lệnh có nghĩa: phục hồi lại database từ file backup có tên db.sql vào cơ sở dữ liệu tên dbname và dùng tài khoản dbuser với password là 123456. Các thông số DB này phải được tạo khi cài mysql.

Thực tế khôi phục database chỉ có bấy nhiêu đó, nếu không thay đổi thông số kết nối nào thì trang web của bạn đã chạy được rồi, còn không bạn phải khai báo lại thông số kết nối database.

Vào source code của website tìm file wp-config.php đối với mã nguồn WordPress, tham khảo như hình bên dưới.

Sửa file wp-config.php

Với CMS khác bạn cũng phải chỉnh sửa các thông số này, sau đó restart lại webserver và chạy thôi.

Bài viết xin dừng tại đây, các bạn đọc kỹ lại phần cấu hình webserver trên linux trước khi làm đấy là phần tương đối nhiều kiến thức, có gì không hiểu cứ comment bên dưới mình sẽ giải đáp, chúc các bạn thành công.

One Response

  1. Danh Hiếu December 24, 2017 Reply

Leave a Reply