Setup caddy web server on ubuntu zlj795

Cài đặt WordPress bằng web server Caddy – Giải pháp hiện đại thay thế Nginx

Tuyệt vời — bạn chọn đúng stack rất hiện đại:
Ubuntu 24.04 + Caddy + PHP 8.3 + MariaDB 10.11 + WordPress
✅ Stack này gọn, nhẹ, SSL tự động và dễ bảo trì.

Dưới đây là hướng dẫn từng bước chi tiết, bạn có thể copy-paste chạy tuần tự.
(Lưu ý: mọi lệnh đều chạy dưới user root hoặc qua sudo.)


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

apt update && apt upgrade -y

Cài thêm vài công cụ cần thiết:

apt install -y curl wget unzip tar ufw

🧩 2. Cài MariaDB 10.11

Ubuntu 24.04 repo mặc định là 10.11, nhưng nếu bạn muốn chắc chắn dùng bản chính thức từ MariaDB:

curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
apt install -y mariadb-server mariadb-client

Bật dịch vụ:

systemctl enable mariadb --now

Chạy script bảo mật:

mariadb-secure-installation

Chọn:

  • Đặt root password
  • Remove anonymous users = Yes
  • Disallow root remote login = Yes
  • Remove test database = Yes
  • Reload privilege tables = Yes

🧩 3. Tạo database cho WordPress

Vào MariaDB CLI:

mariadb -u root -p

Tạo database và user (ví dụ: db = wpdb, user = wpuser, pass = strongpassword):

CREATE DATABASE wpdb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'strongpassword';
GRANT ALL PRIVILEGES ON wpdb.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

🧩 4. Cài PHP 8.3 và extensions cần cho WordPress

apt install -y software-properties-common
add-apt-repository ppa:ondrej/php -y
apt update
apt install -y php8.3 php8.3-cli php8.3-fpm php8.3-mysql php8.3-curl php8.3-xml php8.3-gd php8.3-mbstring php8.3-zip php8.3-intl php8.3-bcmath

Bật và kiểm tra PHP-FPM:

systemctl enable php8.3-fpm --now
systemctl status php8.3-fpm

🧩 5. Cài Caddy (bản chính thức)

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

Kiểm tra:

caddy version
systemctl status caddy

🧩 6. Tải và cấu hình WordPress

cd /var/www
wget https://wordpress.org/latest.zip
unzip latest.zip
mv wordpress mysite
chown -R www-data:www-data /var/www/mysite
chmod -R 755 /var/www/mysite

🧩 7. Tạo Virtual Host Caddy cho website

Tạo file Caddyfile riêng (chẳng hạn /etc/caddy/mysite.conf):

nano /etc/caddy/mysite.conf

Thêm nội dung (thay yourdomain.com bằng domain thật, hoặc IP nếu test local):

yourdomain.com {
    root * /var/www/mysite
    encode gzip zstd
    php_fastcgi unix//run/php/php8.3-fpm.sock
    file_server

    log {
        output file /var/log/caddy/mysite_access.log
    }

    @canonical not {
        host yourdomain.com
    }
    redir @canonical https://yourdomain.com{uri}
}

Nếu chỉ test bằng IP (chưa có domain, không cần SSL):

:80 {
    root * /var/www/mysite
    encode gzip zstd
    php_fastcgi unix//run/php/php8.3-fpm.sock
    file_server
}

Kết nối file này vào Caddy chính:
Chỉnh /etc/caddy/Caddyfile:

import /etc/caddy/*.conf

Test cấu hình:

caddy validate --config /etc/caddy/Caddyfile

Reload:

systemctl reload caddy

🧩 8. Cài đặt WordPress qua trình duyệt

  • Mở trình duyệt:
    http://yourdomain.com (hoặc IP nếu test local)
  • Giao diện cài WordPress hiện ra.
  • Nhập thông tin:
  • Database: wpdb
  • User: wpuser
  • Password: strongpassword
  • Host: localhost

Tiếp tục tạo tài khoản admin.


🧩 9. Kích hoạt SSL tự động (nếu bạn có domain trỏ DNS chuẩn)

Nếu domain A record đã trỏ về VPS, Caddy sẽ tự xin Let’s Encrypt trong vài giây đầu tiên khi reload:

systemctl reload caddy

Kiểm tra log /var/log/caddy/mysite_access.log hoặc journalctl -u caddy để xem quá trình lấy chứng chỉ.


🧩 10. Cấu hình firewall (nếu bật UFW)

ufw allow OpenSSH
ufw allow http
ufw allow https
ufw enable
ufw status

🧩 11. Tối ưu thêm (tùy chọn)

  • Sửa php.ini (đường dẫn /etc/php/8.3/fpm/php.ini):
  upload_max_filesize = 64M
  post_max_size = 64M
  memory_limit = 256M
  max_execution_time = 300

Sau đó:

  systemctl reload php8.3-fpm
  • Plugin cache nên dùng: LiteSpeed Cache (vẫn hoạt động với PHP-FPM) hoặc WP Super Cache.

Hoàn tất

Giờ bạn đã có website WordPress chạy với:

  • Webserver: Caddy (HTTP/3 + SSL tự động)
  • Database: MariaDB 10.11
  • PHP: 8.3 FPM
  • OS: Ubuntu 24.04 LTS

Hãy thử và phản hồi giúp mình nhé

4.8/5 - (6 bình chọn)