Table of Contents

Join CloudFly's Telegram channel to receive more offers and never miss any promotions from CloudFly

Hướng Dẫn Cài Đặt WordPress với Caddy

Posted on: July 17, 2025

description image

Giới thiệu

WordPress là một hệ quản trị nội dung phổ biến (CMS). Nó có thể được sử dụng để thiết lập blog và trang web một cách nhanh chóng và dễ dàng, và hầu hết việc quản lý đều có thể thực hiện qua giao diện web.

Trong hầu hết các trường hợp, WordPress được cài đặt sử dụng ngăn xếp LAMP hoặc LEMP (tức là sử dụng Apache hoặc Nginx làm máy chủ web). Trong hướng dẫn này, chúng ta sẽ thiết lập WordPress với Caddy thay vì vậy. Caddy là một máy chủ web mới nhanh chóng trở nên phổ biến nhờ hàng loạt tính năng đặc biệt, như hỗ trợ HTTP/2 và mã hóa TLS tự động với Let’s Encrypt, một nhà cung cấp chứng chỉ miễn phí phổ biến.

Trong bài hướng dẫn này, bạn sẽ cài đặt và cấu hình WordPress dựa trên Caddy.

Bước 1 — Cài đặt PHP

Để chạy WordPress, bạn cần một máy chủ web, một cơ sở dữ liệu MySQL và ngôn ngữ lập trình PHP. Bạn đã có máy chủ web Caddy và cơ sở dữ liệu MySQL từ phần yêu cầu trước, vì vậy yêu cầu cuối cùng là cài đặt PHP.

Trước tiên, hãy đảm bảo các gói phần mềm của bạn được cập nhật.

sudo yum update

Cài đặt PHP và các tiện ích mở rộng PHP mà WordPress phụ thuộc, như hỗ trợ MySQL, curl, XML và chuỗi đa byte.

sudo yum install php php-fpm php-mysql php-curl php-gd php-mbstring php-mcrypt php-xml php-xmlrpc

Sau khi cài đặt xong, bạn có thể kiểm tra PHP đã được cài đặt đúng bằng cách kiểm tra phiên bản PHP.

php -v

Bạn sẽ thấy đầu ra tương tự như sau, hiển thị số phiên bản PHP.

PHP 5.4.16 (cli) (built: Nov  6 2016 00:29:02)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies

Trước khi tiếp tục, chúng ta cần chỉnh sửa file cấu hình dịch vụ PHP một chút để sử dụng người dùng không đặc quyền caddy để chạy server. Cấu hình mặc định trên CentOS giả định Apache là máy chủ lựa chọn.

Mở file cấu hình PHP-FPM với vi hoặc trình soạn thảo văn bản bạn ưa thích. Đây là một hướng dẫn ngắn về vi nếu bạn chưa quen sử dụng.

sudo vi /etc/php-fpm.d/www.conf

Tìm đoạn xác định tài khoản người dùng và nhóm.

; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
;       will be used.
; RPM: apache Choosed to be able to access some dir as httpd
user = apache
; RPM: Keep a group allowed to write in log dir.
group = apache

Thay đổi cả hai giá trị thành caddy như sau:

; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
;       will be used.
; RPM: apache Choosed to be able to access some dir as httpd
user = caddy
; RPM: Keep a group allowed to write in log dir.
group = caddy

Lưu và đóng file để thoát. Để Caddy có thể giao tiếp với PHP, hãy khởi động dịch vụ PHP.

sudo systemctl start php-fpm

Tất cả các phụ thuộc của WordPress đã được cài đặt, vì vậy bước tiếp theo là cấu hình cơ sở dữ liệu MySQL để WordPress sử dụng.

Bước 2 — Tạo cơ sở dữ liệu MySQL và người dùng riêng biệt

WordPress sử dụng cơ sở dữ liệu MySQL để lưu trữ tất cả thông tin của nó. Trong một cài đặt MySQL mặc định, chỉ có tài khoản quản trị root được tạo ra. Tài khoản này không nên dùng vì đặc quyền không giới hạn có thể gây rủi ro bảo mật. Ở đây, chúng ta sẽ tạo một người dùng MySQL riêng cho WordPress và một cơ sở dữ liệu mà người dùng mới này được phép truy cập.

Đầu tiên, đăng nhập vào tài khoản quản trị MySQL root.

mysql -u root -p

Bạn sẽ được yêu cầu nhập mật khẩu mà bạn đã đặt cho tài khoản root trong quá trình cài đặt.

Tạo một cơ sở dữ liệu mới có tên wordpress sẽ được sử dụng cho trang web WordPress. Bạn có thể dùng tên khác, nhưng hãy nhớ tên này để cấu hình thêm sau.

CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Tiếp theo, tạo một người dùng mới được phép truy cập cơ sở dữ liệu này. Ở đây, chúng ta dùng tên người dùng wordpressuser cho đơn giản, nhưng bạn có thể chọn tên riêng. Hãy thay password bằng một mật khẩu mạnh và an toàn.

GRANT ALL ON wordpress.* TO 'wordpressuser'@'localhost' IDENTIFIED BY 'password';

Lưu ý: Chính sách mật khẩu mặc định yêu cầu 12 ký tự, bao gồm ít nhất một chữ hoa, một chữ thường, một số và một ký tự đặc biệt. Nếu bạn không tuân theo chính sách này, lệnh trên sẽ không tạo người dùng và hiển thị lỗi.

Xóa bộ nhớ đệm quyền để thông báo cho MySQL về các thay đổi.

FLUSH PRIVILEGES;

Bây giờ bạn có thể thoát MySQL an toàn.

EXIT;

WordPress đã có cơ sở dữ liệu và tài khoản người dùng riêng, vậy tất cả các thành phần hệ thống đã sẵn sàng. Bước tiếp theo là cài đặt WordPress.

Bước 3 — Tải xuống WordPress

Việc cài đặt WordPress bao gồm tải phiên bản mới nhất vào thư mục gốc web và đảm bảo nó có thể truy cập được bởi máy chủ web, sau đó hoàn thành cài đặt qua giao diện đồ họa của WordPress. Ở bước này, chúng ta chỉ tải xuống phiên bản, vì cần cấu hình máy chủ web trước khi truy cập giao diện GUI.

Đầu tiên, chuyển thư mục hiện tại về /var/www, thư mục gốc chứa các tệp trang web.

cd /var/www

Tải xuống tập tin nén mới nhất của WordPress. Điều quan trọng là sử dụng phiên bản mới nhất vì phần mềm thường được cập nhật các bản vá bảo mật.

sudo curl -O https://wordpress.org/latest.tar.gz

Giải nén tập tin nén bạn vừa tải.

sudo tar zxf latest.tar.gz

Thao tác trên sẽ tự động tạo thư mục mới tên wordpress. Bây giờ bạn có thể xóa tập tin nén đã tải vì không còn cần thiết.

sudo rm latest.tar.gz

Bước cuối cùng là thay đổi quyền sở hữu các tệp và thư mục WordPress sao cho tất cả tệp có thể ghi bởi Caddy. Điều này cho phép WordPress tự động cập nhật lên các phiên bản mới hơn.

sudo chown -R caddy:caddy wordpress

Lưu ý: Việc chọn quyền phù hợp cho các tệp WordPress phụ thuộc vào sở thích và chính sách quản trị. Không cho phép ghi vào tệp WordPress sẽ tăng cường bảo mật bằng cách ngăn ngừa khai thác lỗ hổng có thể ảnh hưởng đến các tệp lõi WordPress, nhưng đồng thời sẽ vô hiệu hóa việc cập nhật bảo mật tự động và khả năng cài đặt, cập nhật plugin qua giao diện web.

Tiếp theo, bạn cần chỉnh sửa cấu hình máy chủ web để phục vụ trang web của bạn.

Bước 4 — Cấu hình Caddy để phục vụ trang web WordPress

Chúng ta sẽ sửa file cấu hình Caddyfile để thông báo cho Caddy biết vị trí cài đặt WordPress và tên miền mà trang web sẽ được công bố cho khách truy cập.

Mở file cấu hình bằng vi hoặc trình soạn thảo bạn thích.

sudo vi /etc/caddy/Caddyfile

Sao chép và dán cấu hình sau vào file. Bạn có thể xóa các cấu hình ví dụ từ các hướng dẫn trước.

example.com {
    tls [email protected]
    root /var/www/wordpress
    gzip
    fastcgi / 127.0.0.1:9000 php
    rewrite {
        if {path} not_match ^/wp-admin
        to {path} {path}/ /index.php?_url={uri}
    }
}

File Caddyfile này được cấu trúc như sau:

  • example.com ở dòng đầu tiên là tên miền mà trang sẽ có. Thay bằng tên miền của bạn.
  • [email protected] sau lệnh tls là địa chỉ email mà Caddy sẽ dùng để yêu cầu chứng chỉ từ Let’s Encrypt. Nếu cần phục hồi chứng chỉ, Let’s Encrypt sẽ dùng email này.
  • Lệnh root xác định thư mục chứa tệp trang web. Ở ví dụ này là /var/www/wordpress.
  • Lệnh gzip bảo Caddy nén Gzip để làm trang web tải nhanh hơn.
  • Lệnh fastcgi cấu hình trình xử lý PHP để hỗ trợ các tệp có phần mở rộng php.
  • Lệnh rewrite kích hoạt URL đẹp (pretty permalinks trong WordPress). Cấu hình này được WordPress tự động cung cấp trong file .htaccess nếu dùng Apache nhưng phải cấu hình riêng cho Caddy.

Sau khi chỉnh sửa xong, lưu lại và thoát.

Khởi động lại Caddy để áp dụng cấu hình mới.

sudo systemctl restart caddy

Khi Caddy khởi động, nó sẽ tự động lấy chứng chỉ SSL từ Let’s Encrypt để phục vụ trang an toàn bằng mã hóa TLS. Bạn giờ có thể truy cập trang WordPress do Caddy lưu trữ bằng cách truy cập tên miền qua trình duyệt. Bạn sẽ thấy biểu tượng ổ khóa màu xanh ở thanh địa chỉ báo trang được truyền qua kết nối an toàn.

Bạn đã cài đặt và cấu hình xong Caddy cùng các phần mềm cần thiết để lưu trữ trang WordPress. Bước cuối là hoàn thành cấu hình WordPress qua giao diện đồ họa.

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

WordPress có trình cài đặt GUI để hoàn tất cấu hình, bao gồm kết nối cơ sở dữ liệu và thiết lập trang web đầu tiên.

Khi bạn truy cập lần đầu vào WordPress trên trình duyệt, bạn sẽ thấy danh sách ngôn ngữ. Chọn ngôn ngữ bạn muốn dùng. Ở màn hình tiếp theo, WordPress sẽ mô tả thông tin cần cho cơ sở dữ liệu. Nhấn Let’s go!, trang kế sẽ hỏi chi tiết kết nối cơ sở dữ liệu. Điền form như sau:

  • Tên cơ sở dữ liệu nên là wordpress, trừ khi bạn đã tùy chỉnh ở Bước 2.
  • Tên người dùng nên là wordpressuser, trừ khi bạn tùy chỉnh ở Bước 2.
  • Mật khẩu là mật khẩu bạn đã đặt cho wordpressuser ở Bước 2.
  • Máy chủ cơ sở dữ liệuTiền tố bảng giữ nguyên mặc định.

Khi nhấn Submit, WordPress sẽ kiểm tra thông tin bạn đã nhập có đúng không. Nếu gặp lỗi, hãy kiểm tra lại chi tiết.

Khi WordPress kết nối thành công tới cơ sở dữ liệu, bạn sẽ thấy thông báo bắt đầu bằng All right, sparky! You’ve made it through this part of the installation. WordPress can now communicate with your database.

Bây giờ bạn có thể nhấn Run the install để bắt đầu cài đặt. Sau một lúc, WordPress sẽ hiện màn hình cuối cùng yêu cầu thông tin trang web như tiêu đề, tên đăng nhập quản trị, mật khẩu và email. Mật khẩu mạnh sẽ tự tạo sẵn nhưng bạn có thể chọn của riêng bạn.

Lưu ý: Thực hành bảo mật tốt không nên dùng tên tài khoản quản trị phổ biến như admin vì nhiều lỗ hổng dựa vào các tên người dùng và mật khẩu phổ biến. Hãy chọn tên người dùng và mật khẩu mạnh để tăng cường bảo mật cho trang.

Sau khi nhấn Install WordPress, bạn sẽ được chuyển đến bảng điều khiển WordPress. Bạn đã hoàn thành cài đặt WordPress và có thể tự do tùy chỉnh trang và viết bài.

Kết luận

Bạn đã có một cài đặt WordPress hoạt động với máy chủ web Caddy. Caddy sẽ tự động lấy chứng chỉ SSL từ Let’s Encrypt, phục vụ trang qua kết nối an toàn, và sử dụng HTTP/2 cùng nén Gzip để làm trang nhanh hơn. Bạn có thể đọc thêm về các tính năng đặc biệt và chỉ thị cấu hình trong Caddyfile

Nếu bạn muốn dùng plugin với WordPress mới, lưu ý một số plugin dựa vào file .htaccess của máy chủ Apache. Các máy chủ web khác ngoài Apache đã trở nên phổ biến với WordPress nên không nhiều plugin .htaccess tồn tại. Tuy nhiên, một số plugin này sẽ không hoạt động ngay với Caddy vì Caddy không dùng .htaccess. Điều này cần lưu ý nếu bạn gặp vấn đề với plugin khi dùng Caddy.

Hầu hết các plugin dựa .htaccess là plugin bộ nhớ đệm như W3 Total Cache, dùng .htaccess để tránh xử lý PHP hoàn toàn. Ví dụ khác là Wordfence, một module tường lửa ứng dụng web dùng .htaccess mặc định nhưng hỗ trợ mô hình cấu hình khác phù hợp.

Join CloudFly's Telegram channel to receive more offers and never miss any promotions from CloudFly
Share

0 replies