Hướng dẫn cài WordPress trên Caddy Web Server

Caddy web server cũng là máy chủ web như Nginx hay Apache, LiteSpeed. Tuy nhiên nó có đặc điểm là dễ cài đặt hơn hẳn, trong đó có việc cấp phát https (SSL) diễn ra rất trơn tru, file cấu hình có cấu trúc đơn giản, dễ hiểu. Hôm nay chúng ta sẽ thực hành cài Caddy, rồi cài WordPress trên đó. Nếu ai từng có kinh nghiệm khổ sở khi cài Nginx thế nào, thì sẽ cảm thấy sung sướng ra sao với Caddy!

Caddy có thể cài trên rất nhiều OS khác nhau, bài demo này chúng ta cài trên Ubuntu 24.04 LTS.

Yêu cầu kiến thức nền: Có hiểu biết cơ bản về cách dùng terminal console (giao diện dòng lệnh) với VPS, có thể là các terminal sẵn có luôn qua giao diện web của VPS (noVNC), hoặc các terminal console được kết nối thông qua phần mềm như PuTTY.


A. Cài Caddy

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

sudo apt update && sudo apt upgrade -y

2. Cài đặt các gói phụ thuộc

sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl

3. Thêm Repository

curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg && curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list

4. Cài Caddy

Lặp lại lệnh sudo apt update vì có thêm các gói mới từ Repository của Caddy.

sudo apt update && sudo apt install caddy -y

5. Mở cổng 80 và 443

Các cổng này phục vụ cho mục đích truy cập web.

sudo ufw allow 80 && sudo ufw allow 443 && sudo ufw reload

B. Cài PHP & Database (MariaDB)

1. Cài PHP & MariaDB

sudo apt install -y mariadb-server php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip php-imagick php-intl

2. Đăng nhập vào database

sudo mariadb

Bạn sẽ thấy dấu nhắc MariaDB [(none)] >, giờ hãy nhập lệnh tiếp theo.

3. Tạo database

CREATE DATABASE wordpress_caddy DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
CREATE USER 'wpuser_caddy'@'localhost' IDENTIFIED BY 'pass_db_caddy';
GRANT ALL PRIVILEGES ON wordpress_caddy.* TO 'wpuser_caddy'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Đến bước cuối EXIT; thì nhấn Enter để thoát khỏi database.

Giải thích:

  • wordpress_caddy: tên cơ sở dữ liệu, đặt tên tùy ý.
  • wpuser_caddy: tên người dùng cho cơ sở dữ liệu, đặt tên tùy ý.
  • pass_db_caddy: mật khẩu cho người dùng, tùy ý.
  • GRANT ALL PRIVILEGES: cấp tất cả các quyền cho người dùng wpuser_caddy thao tác với bảng wordpress_caddy

Lưu ý: Trong môi trường thử nghiệm có thể đặt tên như mẫu (ý là bạn copy mà không cần sửa), nhưng trong môi trường chính thức, nên sửa lại để nó khó đoán hơn… Mặc dù đặt tên tùy ý nhưng tránh có dấu & có khoảng trắng.


C. Tải và cài đặt WordPress

1. Tạo thư mục /var/www

sudo mkdir -p /var/www

2. Tải và giải nén WordPress

Di chuyển vào thư mục /var/www

cd /var/www

Tải về phiên bản mới nhất của WordPress, giải nén nó và xóa file nén sau khi đã giải nén xong:

sudo curl -LO https://wordpress.org/latest.tar.gz && sudo tar xzvf latest.tar.gz && sudo rm latest.tar.gz

3. Phân quyền

sudo chown -R www-data:www-data /var/www/wordpress && sudo chmod -R 755 /var/www/wordpress

D. Cấu hình Caddy

1. Xác định phiên bản của PHP

ls /run/php/php*-fpm.sock

Nó sẽ cho ra một đường dẫn quan trọng, ví dụ của tôi là: /run/php/php8.3-fpm.sock, bạn cần để ý đến đường dẫn này, đặc biệt là phiên bản php (php8.x) để điều chỉnh trong file trong bước sau này.

2. Trỏ domain về IP của DNS

Trỏ 2 bản ghi A cho cả dạng không-www, và có-www về IP của VPS. Cách tiện là thông qua Cloudflare.

3. Sửa file Caddyfile

sudo nano /etc/caddy/Caddyfile

Xóa hết nội dung cũ, rồi nhập nội dung dưới đây vào. Chú ý thay example.com thành tên miền của bạn & thay phiên bản PHP tương ứng vào:

# chuyen huong co-www ve khong-www
# thay ten mien cua ban vao
www.example.com {
    redir https://example.com{uri} permanent
}

# 1. Thay ten mien cua ban vao day
example.com {
    # duong dan vao trang web
    root * /var/www/wordpress

    # nen zstd hoac gzip de tai trang nhanh hon
    encode zstd gzip

    # thay php8.x bang phien ban thuc te cua ban
    php_fastcgi unix//run/php/php8.3-fpm.sock

    # phuc vu file tinh
    file_server

    # tang gioi han upload
    request_body {
        max_size 50MB
    }

    # chan truy cap trang nhay cam
    @hidden {
        path /wp-content/uploads/*.php
        path /wp-includes/*.php
        path /wp-config.php
    }
    respond @hidden 404
}

Nhấn Ctrl + O rồi Enter để lưu, nhấn Ctrl + X để thoát.

4. Khởi động lại Caddy để áp dụng mọi thay đổi

sudo systemctl reload caddy

E. Thiết lập WordPress trên domain của bạn

Truy cập https://ten-mien-cua-ban.com sau đó nó sẽ hiện ra phần cài đặt WordPress.

1. Chọn ngôn ngữ cho giao diện, có thể để tiếng Anh hoặc tiếng Việt.

Chọn ngôn ngữ cho giao diện WP
Chọn ngôn ngữ cho giao diện WP

2. Các thông tin cần có để cài đặt database

Các thông tin cần có để cài đặt database
Các thông tin cần có để cài đặt database

Chính là các thông tin mà ta đặt khi tạo database cho WordPress.

3. Nhập chính xác thông tin vào các trường tương ứng

Nhập đúng thông tin vào các trường tương ứng
Nhập đúng thông tin vào các trường tương ứng

Nhấn Submit rồi chạy cài đặt (Run the installation) là nó sẽ chuyển qua phần nhập thông tin cho website:

Nhập thông tin cho website

Thành công:

Cài thành công WordPress trên Caddy Web Server

Viết một bình luận