Chuyển web từ hosting sang VPS giúp mở rộng tài nguyên, dành cho website có lưu lượng truy cập lớn, đảm bảo site hoạt động ổn định hơn. Để tiến hành, cần phải chuẩn bị những gì và có lưu ý gì khi thực hiện? Dưới đây là hướng dẫn dành cho website WordPress chuyển từ hosting cPanel sang VPS Linux.
Vì sao cần chuyển web từ cPanel sang VPS Linux?
Website sau một thời gian chạy, hoạt động phát triển, lượng truy cập này càng tăng. Đó là điều ai cũng mong đợi. Lượng truy cập tới một mức nhất định sẽ vượt quá sức tải của hosting. Lúc này, chúng ta cần nâng cấp hay mở rộng. Tuy nhiên, bản chất của shared web hosting nói chung và cPanel hosting nói riêng là chia sẻ tài nguyên với các web khác. Do đó, việc nâng cấp là rất khó.
Giải pháp cho trường hợp này là chuyển web từ shared web hosting sang môi trường VPS. Máy chủ riêng ảo cho phép nâng cấp dễ dàng hơn vì băng thông cũng rộng hơn (không phải share đường truyền với web khác), mức độ lưu trữ thông tin cũng được tăng mạnh.
Vậy tại sao lại là VPS Linux? Bạn cũng có thể chạy Window. Nhưng với Win server, bạn sẽ phải cài nhiều thứ hơn. Chưa kể, Window chạy tốn tài nguyên hơn Linux nên sẽ ko tối ưu được chi phí khi vận hành.
Các bước chuyển web từ cPanel hosting sang VPS Linux
Để có thể dựng lại 1 web ta cần:
- Một VPS có cấu hình phù hợp chạy Linux. Tham khảo: VPS Linux của TotHost
- Bản backup thông tin của server bao gồm:
- Toàn bộ code của web
- Dữ liệu của SQL
Lấy thông tin Web server
Đầu tiên, ta cần biết các thông tin cơ bản để chuẩn bị, như phiên bản SQL, PHP,… Hãy ấn vào Server Information ở dưới:
Sau khi ấn vào, ta sẽ có đầy đủ thông tin của server như sau:
Thiết lập cho server
Trước khi bắt đầu chuyển đổi, ta cần chuẩn bị trước các dịch vụ cần thiết để web có thể hoạt động bình thường trên server mới. Ở đây, TotHost sử dụng OS là Ubuntu20.04 để dựng lại website.
- 步骤 1:. Đầu tiên, cập nhập server để đảm bảo các service hiện tại ở trạng thái mới nhất và tốt nhất:
sudo apt-get update && sudo apt-get upgrade -y
- 步骤 2:. Xác định phiên bản MySQL để tìm bản cài phù hợp. Nếu sai phiên bản, khi thêm DB vào sẽ gặp rất nhiều vấn đề liên quan đến tích hợp giữa các service. Do đó, việc cài đúng phiên bản rất quan trọng.
Theo thông tin server lấy được ở (2.1), Cpanel này đang sử dụng MySQL 8.0. Hiện, MySQL đã chuyển thành MariaDB nên ta sẽ phải kiếm source từ dev
wget https://dev.mysql.com/get/mysql-apt-config_0.8.15-1_all.deb
- Bước 3. Sau khi đã tải về được MySQL package, ta sẽ bắt đầu cài gói này lên Repository
sudo dpkg -i mysql-apt-config_0.8.15-1_all.deb
- Ta update lại thêm cái nữa để cho mượt: sudo apt update
- Tiếp theo, ta cài đặt nó lên từ Repository mà ta đã cài từ lúc trước: sudo apt install -f mysql-client=8.0* mysql-community-server=8.0* mysql-server=8.0*
- Check lại phiên bản 1 lần nữa để đảm bảo là đã cài đúng: mysql -V
- Bước 4. Dựng lên WebServer: sudo apt install apache2 -y
- Bước 5. Bật service lên
systemctl start apache2systemctl enable apache2
- Bước 6. Cài PHP và tất cả các package
sudo apt -y install php7.4sudo apt-get install -y php7.4-cli php7.4-json php7.4-common php7.4-mysql php7.4-zip
Tiến hành chuyển đổi web từ cPanel hosting sang VPS
Sau khi đã cài xong các service cần thiết để chạy, ta sẽ bắt đầu đẩy dữ liệu từ hosting cPanel sang VPS Linux mới.
Đầu tiên là Database
- 步骤 1:. Vào File Manager → public_html → chọn wp-config.php → chọn view để thấy tên DB
- 步骤 2:. Vào Backup → chọn Download a MySQL Database Backup để download database đấy về.
- 步骤 3:. Vào MySQL, tạo lại 1 DB trùng tên và 1 tài khoản tương tự trong file wp-config.php
mysql> CREATE DATABASE wordpress ; mysql> CREATE USER ‘ wordpressUser ‘ @ ‘localhost’ IDENTIFIED BY ‘ strong_password ‘; mysql> GRANT ALL PRIVILEGES ON wordpress . * to ‘ wordpressUser ‘ @ ‘localhost’;
Hãy nhớ thay thế tên cơ sở dữ liệu, tên người dùng và mật khẩu trong các truy vấn này. Sau khi cơ sở dữ liệu đã sẵn sàng, hãy thực hiện exit lệnh để thoát khỏi MySQL CLI
- 步骤4:. Restore dữ liệu ta vừa tải về. Đầu tiên, hãy đẩy file database vừa tạo lên server. Khi tải về, file sẽ có dạng <databse_name>.sql.gz vậy nên ta sẽ chạy lệnh dạng như sau:
gunzip < <databse_name>.sql.gz | mysql -u root -p <databse_name>
Setup apache
- 步骤 1:. Lấy bản backup của web cũ tại Backup → chọn Download a Home Directory Backup. Ta đẩy và giải nén vào thư mục /var/www sau đó.
- 步骤 2:. Đổi về quyền của apache: Khi ta giải nén thì thư mục đó vẫn đang thuộc quyền với user/root nên apache không có quyền đọc dữ liệu, ta cần phải đổi về quyền của apache
sudo chown -R www-data:www-data /var/www/example.com
Tạo site và bật site lên
- 步骤 1:. Tạo 1 file cấu hình
sudo vi /etc/apache2/sites-available/example.conf
- 步骤 2:. Nhập dữ liệu dưới đây vào:
<VirtualHost *: 80> ServerAdmin [email protected] ServerName example.com ServerAlias www.example.com DocumentRoot /var/www/example.com ErrorLog /var/log/apache2/example-error.log CustomLog /var/log/apache2/example-access.log combine </VirtualHost>
Nếu web của bạn sử dụng SSL, hãy duplicate đoạn trên, thay :80 bằng :443 và thêm đường dẫn key sau đây vào:
SSLCertificateFile <link>/fullchain.pem SSLCertificateKeyFile <link>/privkey.pem
- 步骤 3:. Chạy lệnh để bật site của bạn lên
$ sudo a2ensite example $ sudo service apache2 restart
Việc cuối cùng là trỏ lại domain về IP là bạn đã hoàn thành rồi.