WordPress là một trong những hệ thống quản lý nội dung (CMS) phổ biến hiện nay, thường được sử dụng để xây dựng các trang blog hay website nhanh chóng và đơn giản. Bài viết này sẽ hướng dẫn cài đặt WordPress với Caddy trên CentOS 7 – một web server với nhiều tính năng mở rộng, hỗ trợ HTTP/2 và mã hóa TLS.
Những điểm chính
- Để cài đặt WordPress với Caddy trên CentOS 7, bạn cần một máy chủ CentOS 7, user non-root có sudo, MySQL, Caddy đã cài đặt và một tên miền trỏ đến máy chủ.
- Cài đặt WordPress với Caddy trên CentOS 7 gồm 5 bước: cài đặt PHP, tạo database và user MySQL, tải WordPress, cấu hình Caddy và cấu hình WordPress.
- Vietnix là nhà cung cấp Hosting/VPS uy tín hàng đầu Việt Nam với 12 năm kinh nghiệm, cung cấp dịch vụ tốc độ cao, chất lượng, được nhiều khách hàng lớn tin dùng.
Điều kiện cài đặt WordPress với Caddy trên CentOS 7
Thông thường WordPress sẽ được cài đặt đi kèm với LEMP hoặc LAMP stack (sử dụng web server là Nginx hoặc Apache). Hiện nay đã có Caddy, một web server mới có nhiều tính năng độc đáo như hỗ trợ HTTP/2, mã hóa TLS tự động với Let’s Encrypt,…
Trước khi thực hiện theo hướng dẫn thì bạn cần có sẵn một server CentOS 7 và một user non-root phân quyền sudo. Bên cạnh đó người dùng cũng cần cài đặt MySQL và Caddy với một tên miền trỏ về server này.

Sau khi đảm bảo các yêu cầu trên, hãy làm theo các bước dưới đây để cài đặt WordPress trên CentOS 7 bằng web server Candy.
5 bước cài đặt WordPress với Caddy trên CentOS 7
Bước 1 – Cài đặt PHP
Để chạy được WordPress thì bạn cần có một web server, một database MySQL và một ngôn ngữ viết script PHP. Bạn đã có sẵn web server là Caddy và database MySQL được cài đặt trước khi thực hiện hướng dẫn, do đó chỉ cần cài thêm PHP theo các bước sau.
Đầu tiên là cập nhật các package:
sudo yum update
Sau đó cài đặt PHP và các tiện ích mở rộng đi kèm cho WordPress như curl
, XML và các chuỗi multi-byte:
sudo yum install php php-fpm php-mysql php-curl php-gd php-mbstring php-mcrypt php-xml php-xmlrpc
Xác thực xem PHP đã được cài đặt chưa bằng lệnh sau:
php -v
Output sẽ hiển thị phiên bản của PHP:
PHP version output
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
Lưu ý
Tại thời điểm bài viết PHP được sử dụng là v5.4, để tránh lỗi không tương thích cho các project liên quan hoặc dự án khác sau này, khuyến khích người dùng nên sử dụng PHP tối thiểu v7.4 trở lên.
- Cấu hình PHP để chạy với user
caddy
:
Mặc định, PHP-FPM được cấu hình để chạy dưới quyền apache
, trong khi Caddy sử dụng user riêng là caddy
. Để tránh lỗi phân quyền, bạn cần đảm bảo user caddy
tồn tại trên hệ thống.
Tạo user caddy
nếu chưa có:
sudo useradd --system --no-create-home --shell /usr/sbin/nologin caddy
Tiếp theo, mở file cấu hình PHP-FPM:
sudo vi /etc/php-fpm.d/www.conf
Tìm đến phần cấu hình user và group:
; Unix user/group of processes
user = apache
group = apache
Và sửa lại thành:
; Unix user/group of processes
user = caddy
group = caddy
Tiếp theo, bạn lưu và đóng file. Sau khi cập nhật cấu hình, bạn khởi động dịch vụ PHP-FPM:
sudo systemctl start php-fpm
Lúc này Caddy đã có thể giao tiếp với PHP qua php-fpm
, sẵn sàng cho bước tiếp theo là cấu hình Caddy để phục vụ trang WordPress.
Bước 2 – Tạo database MySQL và user riêng
Ở bước tiếp theo, ta sẽ cấu hình một database MySQL để WordPress lưu trữ thông tin. Theo cài đặt mặc định của MySQL thì chỉ có một tài khoản quản trị root
được tạo sẵn. Tuy nhiên, bạn không nên sử dụng tài khoản này trong website vì có thể dẫn đến các lỗ hổng bảo mật do tài khoản này có đặc quyền không giới hạn. Do đó, mình sẽ tạo một user MySQL riêng và một database mới để user đó sử dụng.
- Đăng nhập vào MySQL:
mysql -u root -p
Sau đó nhập mật khẩu mà bạn đã thiết lập trong quá trình cài đặt MySQL.
- Tạo database:
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
- Tạo user riêng:
CREATE USER 'wordpressuser'@'localhost' IDENTIFIED BY 'password';
Lưu ý
Hãy thay 'password'
bằng một mật khẩu mạnh. Chính sách mật khẩu mặc định của MySQL yêu cầu:
ít nhất 12 ký tự
gồm chữ hoa, chữ thường, số và ký tự đặc biệt
Nếu không đáp ứng, bạn sẽ gặp lỗi khi tạo user.
- Cấp quyền truy cập cho user mới:
GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpressuser'@'localhost';
- Áp dụng thay đổi quyền:
FLUSH PRIVILEGES;
- Thoát khỏi MySQL
EXIT;
Với cấu hình này, user wordpressuser
chỉ có quyền truy cập database wordpress
mà không ảnh hưởng đến các database khác, giúp hệ thống an toàn và tách biệt hơn.
Bước 3 – Download WordPress
Bây giờ ta có thể download và cài đặt WordPress sau khi có đủ các thành phần cần thiết. Quá trình cài đặt WordPress sẽ gồm các bước sau: download một phiên bản về root directory rồi bật quyền truy cập cho web server, sau đó hoàn tất quá trình cài đặt thông qua giao diện đồ họa của WordPress. Ở bước này bạn sẽ download một phiên bản của WordPress về root directory trước.
Đầu tiên, chuyển sang thư mục root /var/www
:
cd /var/www
Sau đó download bản nén WordPress mới nhất:
sudo curl -O https://wordpress.org/latest.tar.gz
Giải nén file vừa download:
sudo tar zxf latest.tar.gz
Sau đó ta sẽ có một thư mục wordpress
mới, bây giờ bạn có thể xóa file nén vừa download:
sudo rm latest.tar.gz
Cuối cùng là đổi quyền truy cập của các file và thư mục WordPress sao cho có thể được ghi bởi Caddy, cho phép tự động cập nhật WordPress lên các phiên bản mới nhất:
sudo chown -R caddy:caddy wordpress
Lưu ý
Phân quyền hợp lý cho các file của WordPress là một điều luôn được ưu tiên. Chẳng hạn việc vô hiệu quyền truy cập hay quyền ghi xóa lên file WordPress để tăng tính bảo mật, tránh các lỗi làm tổn hại core file. Tuy nhiên điều đó cũng dẫn đến vô hiệu khả năng tự cập nhật, tự cài đặt cũng như tương tác các plugin thông qua giao diên web của WordPress.
Bước 4 – Cấu hình Caddy cung cấp nội dung cho website WordPress
Bây giờ bạn sẽ thay đổi file cấu hình Caddyfile
để cho Caddy biết vị trí cài đặt WordPress và tên miền muốn hiển thị cho khách truy cập.
Mở file config bằng vi
text editor:
sudo vi /etc/caddy/Caddyfile
Sau đó sao chép và dán đoạn sau vào file. Bạn có thể bỏ các cấu hình mẫu từ những hướng dẫn trước nếu muốn:
example.com {
tls admin@example.com
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
có cấu trúc như sau:
example.com
ở dòng đầu là tên miền được hiển thị cho trang. Bạn sẽ thay giá trị này thành tên miền tương ứng của mình.admin@example.com
ở sau directivetls
cho biết địa chỉ email mà Caddy nên sử dụng để yêu cầu chứng chỉ Let’s Encrypt. Đây cũng sẽ là email mà Let’s Encrypt dùng để khôi phục chứng chỉ nếu cần.- Directive
root
cho Caddy biết vị trí các file của website, trong ví dụ này là/var/www/wordpress
. - Directive
gzip
yêu cầu Caddy sử dụng phương thức nén Gzip để tăng tốc độ website. - Directive
fastcgi
cấu hình để bộ xử lý PHP có thể hỗ trợ các file có đuôi làphp
. - Directive
rewrite
cho phép hiển thị các URL ở dạng dễ đọc hơn. Cấu hình này được cung cấp tự động bởi WordPress trong file.htaccess
nếu bạn đang sử dụng Apache, tuy nhiên ta vẫn cần cấu hình riêng cho Caddy.
Sau khi hoàn tất, bạn có thể lưu rồi đóng file lại. Cuối cùng là restart Caddy để áp dụng các thay đổi:
sudo systemctl restart caddy
Sau khi Caddy khởi động, nó sẽ tự động nhận một chứng chỉ SSL từ Let’s Encrypt để cung cấp nội dung cho website bằng mã hóa TLS. Bây giờ bạn có thể truy cập website được host với Caddy bằng cách điều hướng đến miền trên trình duyệt web. Khi đó sẽ có một icon ổ khóa màu xanh ở trên thanh địa chỉ, cho biết rằng website đang được hiển thị qua một kết nối an toàn.
Bước 5 – Cấu hình WordPress
WordPress cung cấp sẵn giao thức cài đặt dựa trên GUI, cho phép hoàn thiện việc cài đặt, kết nối đến database và thiết lập website bước đầu nhanh chóng.
Khi truy cập vào trang WordPress lần đầu, bạn sẽ được chọn một ngôn ngữ để sử dụng, sau đó màn hình sẽ hiển thị các thông tin cần thiết về database. Click vào Let’s go! và bạn sẽ được chuyển đến trang yêu cầu các thông tin kết nối database. Trong đó hãy điền như sau:
- Phần Database Name hãy chọn
wordpress
như trong Bước 2. - Phần Username hãy chọn
wordpressuser
như ở Bước 2. - Phần Password hãy điền mật khẩu đã thiết lập cho
wordpressuser
trong Bước 2. - Để nguyên giá trị mặc định cho hai phần Database Host và Table Prefix.
Sau đó click Submit và WordPress sẽ kiểm tra xem các thông tin đã chính xác chưa. Nếu gặp lỗi thì hãy kiểm tra lại các thông tin database đã nhập vừa rồi.
Sau khi WordPress kết nối đến database thành công, bạn sẽ nhận được thông báo sau:
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ể click Run the install để bắt đầu quá trình cài đặt. Đợi một lúc và WordPress sẽ hiển thị màn hình yêu cầu nhập thông tin website như tiêu đề, username, password và địa chỉ email của tài khoản quản trị.
Hệ thống sẽ tự khởi tạo một chuỗi mật khẩu mạnh cho tài khoản, nhưng bạn vẫn có thể đặt mật khẩu khác nếu muốn. Lưu ý rằng không nên chọn username đơn giản như admin
và cần sử dụng mật khẩu đủ mạnh để đảm bảo an toàn cho hệ thống.
Cuối cùng là click vào Install WordPress và bạn sẽ truy cập được vào dashboard của WordPress. Bây giờ bạn có thể bắt đầu tùy chỉnh và đăng các nội dung lên website của mình.
Vietnix: Nhà cung cấp Hosting/VPS hàng đầu Việt Nam
Qua 12 hoạt động, Vietnix hiện đang là một trong những nhà cung cấp dịch vụ Hosting/VPS tốc độ cao chất lượng, uy tín hàng đầu Việt Nam. Với sự đầu tư liên tục về hạ tầng và nhân sự để có thể nhanh chóng đáp ứng được các tiêu chuẩn khắt khe của thị trường hosting, VPS,… Vietnix hiện đã được đông đảo khách hàng trong lẫn ngoài nước tin tưởng trong đó có thể kể đến như: iVIVU.com, GTV, Vietnamwork, UBGroup, KINGFOOD,… Năm 2022 vừa qua, Vietnix vinh dự nhận được giải thưởng “Thương hiệu Việt Nam xuất sắc 2022”, hạng mục “Sản phẩm dịch vụ xuất sắc”.
Hiện tại Vietnix đang cho thuê VPS tốc độ cao, tính năng hiện đại, cấu hình đa dạng, bảo mật cao gồm: VPS NVMe, VPS Giá Rẻ, VPS SSD, VPS AMD với nhiều mức giá khác nhau.
Thông tin liên hệ:
- Hotline: 18001093
- Email: sales@vietnix.com.vn
- Địa chỉ: 265 Hồng Lạc, Phường Bảy Hiền, Thành phố Hồ Chí Minh.
- Website:https://vietnix.vn/
Như vậy, bạn đã nắm được cách cài đặt WordPress với Caddy trên CentOS 7 để tạo ra một website hoạt động hiệu quả và an toàn. Với ưu điểm về tốc độ và tính năng bảo mật tự động của Caddy, đây là một lựa chọn tuyệt vời cho việc triển khai WordPress. Để khám phá thêm các phương pháp và thao tác hữu ích khác trên CentOS 7, hãy tham khảo thêm các bài viết khác bên dưới.