Hướng dẫn chi tiết cài đặt WordPress trên VPS Ubuntu với LAMP Stack

Hướng dẫn này sẽ giúp bạn cài đặt WordPress, hệ quản trị nội dung (CMS) phổ biến nhất thế giới, trên một máy chủ ảo (VPS) chạy hệ điều hành Ubuntu. Chúng ta sẽ sử dụng LAMP stack, một bộ phần mềm mã nguồn mở bao gồm Linux, Apache, MySQL, và PHP, để tạo môi trường máy chủ cần thiết.

Yêu cầu tiên quyết

Trước khi bắt đầu, hãy đảm bảo bạn đã có:

  1. Một VPS chạy Ubuntu 20.04 hoặc phiên bản mới hơn.
  2. Quyền truy cập vào VPS qua SSH với một người dùng non-root có quyền sudo.
  3. Một tên miền (domain) đã được trỏ A-record về địa chỉ IP của VPS. Trong hướng dẫn này, chúng ta sẽ sử dụng your_domain.com làm ví dụ.

Bước 1: Cài đặt LAMP Stack

Đầu tiên, chúng ta cần cài đặt máy chủ web Apache, hệ quản trị cơ sở dữ liệu MySQL và ngôn ngữ lập trình PHP.

1. Cập nhật hệ thống

Luôn là một thói quen tốt khi cập nhật danh sách gói của máy chủ trước khi cài đặt phần mềm mới.

sudo apt update
sudo apt upgrade

2. Cài đặt Apache

Apache là máy chủ web phổ biến sẽ phục vụ các trang web của bạn cho khách truy cập.

sudo apt install apache2 -y

Sau khi cài đặt, bạn cần cấu hình tường lửa ufw để cho phép lưu lượng truy cập web.

sudo ufw allow 'Apache Full'
sudo ufw reload

Bạn có thể kiểm tra xem Apache đã hoạt động chưa bằng cách truy cập địa chỉ IP của VPS trên trình duyệt. Bạn sẽ thấy trang chào mừng mặc định của Apache.

3. Cài đặt MySQL

MySQL sẽ quản lý cơ sở dữ liệu cho trang web WordPress của bạn.

sudo apt install mysql-server -y

Sau khi cài đặt, hãy chạy tập lệnh bảo mật đi kèm để tăng cường an toàn cho MySQL.

sudo mysql_secure_installation

Bạn sẽ được hỏi một loạt câu hỏi. Bạn nên trả lời Y (Yes) cho tất cả các câu hỏi để thiết lập mật khẩu root mạnh, xóa người dùng ẩn danh, không cho phép đăng nhập root từ xa và xóa cơ sở dữ liệu thử nghiệm.

4. Cài đặt PHP

WordPress được xây dựng bằng PHP. Chúng ta cần cài đặt PHP và một số phần mở rộng (extensions) cần thiết để WordPress hoạt động trơn tru.

sudo apt install php libapache2-mod-php php-mysql -y

Để đảm bảo WordPress và các plugin của nó hoạt động tốt, hãy cài đặt thêm một số phần mở rộng PHP phổ biến:

sudo apt install php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip -y

Sau khi cài đặt, khởi động lại Apache để các thay đổi có hiệu lực.

sudo systemctl restart apache2

Bước 2: Tạo Cơ sở dữ liệu và Người dùng cho WordPress

WordPress sử dụng cơ sở dữ liệu MySQL để lưu trữ tất cả nội dung và cài đặt. Chúng ta cần tạo một cơ sở dữ liệu riêng và một tài khoản người dùng riêng cho WordPress.

  1. Đăng nhập vào MySQL:
sudo mysql -u root -p

Nhập mật khẩu root MySQL bạn đã tạo ở bước trên.
2. Tạo một cơ sở dữ liệu mới. Ví dụ: wordpress_db.

CREATE DATABASE wordpress_db DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

  1. Tạo một người dùng MySQL mới và cấp cho nó một mật khẩu mạnh. Ví dụ: wordpress_user.
CREATE USER 'wordpress_user'@'localhost' IDENTIFIED BY 'your_strong_password';

4.Lưu ý:* Thay your_strong_password bằng một mật khẩu mạnh và an toàn của riêng bạn.
5. Cấp toàn quyền cho người dùng mới trên cơ sở dữ liệu WordPress.

GRANT ALL ON wordpress_db.* TO 'wordpress_user'@'localhost';

  1. Làm mới các đặc quyền của MySQL và thoát.
FLUSH PRIVILEGES;
EXIT;

Bây giờ bạn đã có cơ sở dữ liệu và người dùng sẵn sàng cho WordPress.

Bước 3: Cấu hình Apache cho WordPress

Chúng ta sẽ tạo một tệp Virtual Host cho trang web WordPress của mình. Điều này cho phép bạn lưu trữ nhiều trang web trên cùng một máy chủ.

  1. Tạo một tệp cấu hình mới cho trang web của bạn trong thư mục sites-available của Apache.
sudo nano /etc/apache2/sites-available/your_domain.com.conf

  1. Dán nội dung sau vào tệp, thay your_domain.com bằng tên miền thực của bạn.
<VirtualHost *:80>
    ServerAdmin admin@your_domain.com
    ServerName your_domain.com
    ServerAlias www.your_domain.com
    DocumentRoot /var/www/your_domain.com

    <Directory /var/www/your_domain.com/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Lưu và đóng tệp (trong nano, nhấn Ctrl+X, sau đó Y, và Enter).
3. Kích hoạt trang web mới và module rewrite của Apache (cần thiết cho Permalinks của WordPress).

sudo a2ensite your_domain.com.conf
sudo a2enmod rewrite

  1. Vô hiệu hóa trang web mặc định của Apache.
sudo a2dissite 000-default.conf

  1. Kiểm tra cấu hình Apache để đảm bảo không có lỗi cú pháp.
sudo apache2ctl configtest

Nếu bạn thấy Syntax OK, hãy khởi động lại Apache.

sudo systemctl restart apache2

Bước 4: Tải và Cài đặt WordPress

  1. Tạo thư mục gốc cho trang web của bạn.
sudo mkdir -p /var/www/your_domain.com

  1. Di chuyển đến thư mục /tmp và tải xuống phiên bản WordPress mới nhất.
cd /tmp
curl -O https://wordpress.org/latest.tar.gz

  1. Giải nén tệp đã tải.
tar xzvf latest.tar.gz

  1. Sao chép các tệp WordPress vào thư mục gốc của trang web bạn đã tạo.
sudo cp -r /tmp/wordpress/* /var/www/your_domain.com/

  1. Thiết lập quyền sở hữu và quyền truy cập chính xác cho các tệp WordPress. Máy chủ web (www-data) cần có quyền ghi vào các thư mục này.
sudo chown -R www-data:www-data /var/www/your_domain.com/
sudo find /var/www/your_domain.com/ -type d -exec chmod 755 {} \;
sudo find /var/www/your_domain.com/ -type f -exec chmod 644 {} \;

Bước 5: Cấu hình WordPress

  1. Tạo tệp cấu hình wp-config.php từ tệp mẫu.
cd /var/www/your_domain.com/
sudo cp wp-config-sample.php wp-config.php

  1. Mở tệp wp-config.php để chỉnh sửa.
sudo nano wp-config.php

  1. Tìm các dòng sau và thay thế bằng thông tin cơ sở dữ liệu bạn đã tạo ở Bước 2.
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'wordpress_db' );

/** MySQL database username */
define( 'DB_USER', 'wordpress_user' );

/** MySQL database password */
define( 'DB_PASSWORD', 'your_strong_password' );

  1. Thêm các khóa bảo mật duy nhất để tăng cường an toàn cho trang web. Truy cập địa chỉ sau để tạo các khóa này: https://api.wordpress.org/secret-key/1.1/salt/. Sao chép toàn bộ kết quả và dán đè lên phần tương ứng trong tệp wp-config.php.
define( 'AUTH_KEY',         'put your unique phrase here' );
define( 'SECURE_AUTH_KEY',  'put your unique phrase here' );
// ... và các dòng khác

  1. Lưu và đóng tệp.

Bước 6: Hoàn tất cài đặt qua giao diện Web

Bây giờ bạn đã sẵn sàng để hoàn tất việc cài đặt thông qua trình duyệt web.

  1. Mở trình duyệt và truy cập vào tên miền của bạn: http://your_domain.com.
  2. Bạn sẽ thấy trang cài đặt của WordPress. Chọn ngôn ngữ của bạn và tiếp tục.
  3. Điền thông tin cho trang web của bạn:
  • Site Title: Tên trang web của bạn.
  • Username: Tên người dùng quản trị (không nên dùng “admin”).
  • Password: Một mật khẩu mạnh cho tài khoản quản trị.
  • Your Email: Địa chỉ email của bạn.
  1. Nhấn nút Install WordPress.

Sau khi cài đặt thành công, bạn có thể đăng nhập vào trang quản trị WordPress tại http://your_domain.com/wp-admin.

Bước 7 (Khuyến nghị): Bảo mật với Let’s Encrypt (SSL/HTTPS)

Sử dụng HTTPS là rất quan trọng để bảo mật trang web của bạn. Chúng ta sẽ sử dụng Certbot và Let’s Encrypt để cài đặt chứng chỉ SSL miễn phí.

  1. Cài đặt Certbot và plugin Apache của nó.
sudo apt install certbot python3-certbot-apache -y

  1. Chạy Certbot để lấy và cài đặt chứng chỉ SSL.
sudo certbot --apache -d your_domain.com -d www.your_domain.com

Certbot sẽ hỏi bạn một vài câu hỏi, bao gồm địa chỉ email và việc đồng ý với các điều khoản dịch vụ. Nó cũng sẽ hỏi bạn có muốn tự động chuyển hướng tất cả lưu lượng HTTP sang HTTPS hay không. Bạn nên chọn tùy chọn chuyển hướng (thường là lựa chọn 2).

Certbot sẽ tự động cấu hình SSL cho bạn và khởi động lại Apache. Bây giờ, trang web của bạn đã có thể truy cập an toàn qua https://your_domain.com.

Chúc mừng! Bạn đã cài đặt thành công WordPress trên VPS Ubuntu với LAMP stack và bảo mật nó bằng chứng chỉ SSL.

Written by: InterData