Cách cài đặt WordPress với Caddy trên CentOS 7
WordPress là một hệ thống quản lý nội dung (CMS) phổ biến. Nó được dùng để cài đặt các blog và trang web một cách nhanh chóng và dễ dàng, và hầu như tất cả việc quản lý nó đều có thể thực hiện được thông qua giao diện web.Trong hầu hết các trường hợp, WordPress được cài đặt bằng LAMP hoặc LEMP stack (tức là sử dụng Apache hoặc Nginx làm web server ). Trong hướng dẫn này, ta sẽ cài đặt WordPress với Caddy thay thế. Caddy là một web server mới nhanh chóng trở nên phổ biến nhờ nhiều tính năng độc đáo, như hỗ trợ HTTP / 2 và mã hóa TLS tự động với Let's Encrypt, một nhà cung cấp certificate miễn phí phổ biến.
Trong hướng dẫn này, bạn sẽ cài đặt và cấu hình WordPress được hỗ trợ bởi Caddy.
Yêu cầu
Để làm theo hướng dẫn này, bạn cần :
- Một server CentOS 7 được cài đặt với hướng dẫn cài đặt server ban đầu này , bao gồm một user không phải root có quyền sudo .
- Đã cài đặt MySQL theo hướng dẫn Cách cài đặt MySQL trên CentOS 7 .
- Caddy đã cài đặt theo hướng dẫn Cách lưu trữ trang web với Caddy trên CentOS 7 , bao gồm một domain được cấu hình để trỏ đến Server .
Bước 1 - Cài đặt PHP
Để chạy WordPress, bạn cần một web server , database MySQL và ngôn ngữ kịch bản PHP. Bạn đã cài đặt web server Caddy và database MySQL từ yêu cầu , 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 hàng của bạn được cập nhật.
- sudo yum update
Cài đặt PHP và các phần mở rộng PHP mà WordPress phụ thuộc vào, như hỗ trợ cho MySQL, curl
, XML và chuỗi nhiều byte.
- sudo yum install php php-fpm php-mysql php-curl php-gd php-mbstring php-mcrypt php-xml php-xmlrpc
Sau khi quá trình cài đặt kết thúc, bạn có thể xác minh PHP đã được cài đặt đúng cách bằng cách kiểm tra version của PHP.
- php -v
Bạn sẽ thấy kết quả tương tự như thế này, hiển thị số version của PHP.
PHP version outputPHP 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 có thể tiếp tục, ta phải sửa đổi một chút file cấu hình cho dịch vụ PHP để làm cho nó sử dụng user caddy
không có quyền của ta để chạy server . Cấu hình mặc định trên CentOS giả định Apache là server được lựa chọn.
Mở file cấu hình PHP-FPM bằng vi
hoặc editor yêu thích của bạn. Đây là phần giới thiệu ngắn về vi
nếu bạn chưa quen với nó.
- sudo vi /etc/php-fpm.d/www.conf
Tìm phân đoạn chỉ định account và group user .
; 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 file để thoát. Để Caddie 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 đều được cài đặt, vì vậy, tiếp theo, ta sẽ cấu hình database MySQL để WordPress sử dụng.
Bước 2 - Tạo Database MySQL và User Chuyên dụng
WordPress sử dụng database MySQL để lưu trữ tất cả thông tin của nó. Trong cài đặt MySQL mặc định, chỉ một account quản trị gốc được tạo. Không nên sử dụng account này vì các quyền không giới hạn của nó đối với server database là một rủi ro bảo mật. Ở đây, ta sẽ tạo một user MySQL dành riêng cho WordPress để sử dụng và một database mà user mới sẽ được phép truy cập.
Đầu tiên, đăng nhập vào account quản trị gốc MySQL.
- mysql -u root -p
Bạn sẽ được yêu cầu nhập password bạn đã đặt cho account gốc MySQL trong khi cài đặt.
Tạo một database mới có tên là wordpress
sẽ được sử dụng cho trang web WordPress. Bạn có thể sử dụng một tên khác, nhưng hãy đảm bảo bạn nhớ nó để cấu hình bổ sung sau này.
- CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Tiếp theo, tạo một user mới sẽ được phép truy cập vào database này. Ở đây, ta sử dụng tên user wordpressuser
cho đơn giản, nhưng bạn có thể chọn tên riêng của bạn . Hãy nhớ thay thế password
bằng một password
mạnh và an toàn.
- GRANT ALL ON wordpress.* TO 'wordpressuser'@'localhost' IDENTIFIED BY 'password';
Lưu ý: Lưu ý policy password mặc định yêu cầu 12 ký tự, với ít nhất một ký tự viết hoa, một ký tự viết thường, một số và một ký tự đặc biệt. Nếu bạn quên tuân theo policy đó, lệnh trên sẽ không tạo user mà thay vào đó sẽ hiển thị thông báo lỗi.
Đưa ra các quyền để thông báo cho server MySQL về những thay đổi.
- FLUSH PRIVILEGES;
Đến đây bạn có thể thoát MySQL một cách an toàn.
- EXIT;
WordPress có một database chuyên dụng và account user , vì vậy tất cả các thành phần hệ thống đều được cài đặt . Bước tiếp theo là cài đặt chính WordPress.
Bước 3 - Download WordPress
Cài đặt WordPress liên quan đến việc download bản phát hành mới nhất vào folder root của web và đảm bảo web server có thể truy cập được, sau đó hoàn tất cài đặt thông qua giao diện đồ họa của WordPress. Trong bước này, ta sẽ chỉ download bản phát hành, vì ta cần cấu hình web server trước khi ta có thể truy cập GUI.
Đầu tiên, thay đổi folder hiện tại thành /var/www
, folder root lưu trữ các file trang web .
- cd /var/www
Download bản phát hành WordPress nén mới nhất. Điều quan trọng là sử dụng bản phát hành mới nhất vì phần mềm thường xuyên được cập nhật các bản vá bảo mật.
- sudo curl -O https://wordpress.org/latest.tar.gz
Extract file nén mà bạn vừa download .
- sudo tar zxf latest.tar.gz
Thao tác này sẽ tự động tạo một folder mới có tên là wordpress
. Như vậy, bạn có thể xóa file lưu trữ đã download một cách an toàn vì nó không còn cần thiết nữa.
- sudo rm latest.tar.gz
Bước cuối cùng là thay đổi quyền của các file và folder WordPress để Caddy có thể ghi tất cả các file . Điều này sẽ cho phép WordPress tự động được cập nhật lên các version mới hơn.
- sudo chown -R caddy:caddy wordpress
Lưu ý: Việc chọn quyền phù hợp cho các file WordPress là một vấn đề tùy chọn và thực tiễn quản trị. Việc không cho phép truy cập ghi vào các file WordPress có thể tăng cường bảo mật bằng cách không thể khai thác một số lỗi có thể dẫn đến ảnh hưởng đến các file lõi của WordPress, nhưng đồng thời, nó dẫn đến việc vô hiệu hóa các bản cập nhật bảo mật tự động và khả năng cài đặt và cập nhật các plugin thông qua WordPress giao diện web.
Tiếp theo, bạn cần sửa đổi cấu hình của web server để phục vụ trang web của bạn .
Bước 4 - Cấu hình Caddy để phục vụ trang web WordPress
Ở đây, ta sẽ sửa đổi file cấu hình Caddyfile
để cho Caddy biết vị trí cài đặt WordPress của ta và domain nào nên được xuất bản cho khách truy cập.
Mở file cấu hình bằng vi
hoặc editor yêu thích của bạn
- sudo vi /etc/caddy/Caddyfile
Copy paste cấu hình sau vào file . Bạn có thể xóa bất kỳ cấu hình ví dụ nào từ các hướng dẫn trước.
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} } }
Caddyfile
này có cấu trúc như sau:
-
example.com
trong dòng đầu tiên là domain mà trang web sẽ có sẵn. Thay thế nó bằng domain của bạn . -
admin@example.com
sauadmin@example.com
tls
cho Caddy biết địa chỉ e-mail mà nó nên sử dụng để certificate request Let's Encrypt. Nếu bạn cần khôi phục certificate , Let's Encrypt sẽ sử dụng địa chỉ e-mail này trong quá trình khôi phục. - Chỉ thị
root
cho Caddy biết vị trí của các file trang web. Trong ví dụ này, đó là/var/www/wordpress
. - Lệnh
gzip
yêu cầu Caddy sử dụng tính năng nén Gzip để làm cho trang web nhanh hơn. - Chỉ thị
fastcgi
cấu hình trình PHP processor để hỗ trợ các file có phần mở rộngphp
- Sử dụng chỉ thị
rewrite
cho phép các URL đẹp (được gọi là liên kết cố định khá trong WordPress). Cấu hình này được WordPress tự động cung cấp trong.htaccess
nếu bạn sử dụng Apache, nhưng cần được cấu hình riêng cho Caddy.
Sau khi thay đổi file cấu hình cho phù hợp, hãy lưu file và thoát.
Khởi động lại Caddy để cài đặt file cấu hình mới có hiệu lực.
- sudo systemctl restart caddy
Khi Caddy khởi động, nó sẽ tự động lấy certificate SSL từ Let's Encrypt để phân phát trang web một cách an toàn bằng cách sử dụng mã hóa TLS. Như vậy, bạn có thể truy cập trang web WordPress do Caddy lưu trữ bằng cách chuyển đến domain của bạn bằng trình duyệt web. Khi làm như vậy, bạn sẽ nhận thấy dấu hiệu khóa màu xanh lục trên thanh địa chỉ nghĩa là trang web đang được hiển thị qua kết nối an toàn.
Đến đây bạn đã cài đặt và cấu hình Caddy và tất cả các phần mềm cần thiết để lưu trữ một trang web WordPress. Bước cuối cùng là hoàn thành cấu hình WordPress bằng giao diện đồ họa của nó.
Bước 5 - Cấu hình WordPress
WordPress có trình hướng dẫn cài đặt GUI để hoàn tất quá trình cài đặt , bao gồm kết nối với database và cài đặt trang web đầu tiên của bạn.
Khi bạn truy cập version WordPress mới của bạn trong trình duyệt lần đầu tiên, bạn sẽ thấy một danh sách các ngôn ngữ. Chọn ngôn ngữ bạn muốn sử dụng. Trên màn hình tiếp theo, nó mô tả thông tin nó cần về database của bạn. Nhấp vào Bắt đầu! và trang tiếp theo sẽ hỏi chi tiết kết nối database . Điền vào biểu mẫu này như sau:
- Tên database phải là
wordpress
, trừ khi bạn đã tùy chỉnh nó ở Bước 2. - Tên user phải là wordpressuser , trừ khi bạn đã tùy chỉnh nó ở Bước 2.
- Mật khẩu phải là password bạn đặt cho wordpressuser ở Bước 2.
- Server database và Tiền tố bảng phải được để giá trị mặc định của chúng.
Khi bạn nhấp vào Gửi , WordPress sẽ kiểm tra xem các chi tiết được cung cấp có chính xác hay không. Nếu bạn nhận được thông báo lỗi, hãy kiểm tra lại xem bạn đã nhập đúng chi tiết database của bạn chưa.
Khi WordPress kết nối thành công với database của bạn, bạn sẽ thấy một thông báo bắt đầu bằng All right, lấp lánh! Bạn đã hoàn thành phần này của quá trình cài đặt. WordPress hiện có thể giao tiếp với database của bạn.
Đến đây bạn có thể nhấp vào Chạy cài đặt để bắt đầu cài đặt. Sau một thời gian ngắn, WordPress sẽ hiển thị cho bạn màn hình cuối cùng yêu cầu thông tin chi tiết về trang web , chẳng hạn như tiêu đề trang web, tên user account administrator , password và địa chỉ e-mail. Mật khẩu mạnh sẽ được tạo tự động cho bạn, nhưng bạn có thể chọn password của riêng mình nếu muốn.
Lưu ý: Một phương pháp bảo mật tốt là không sử dụng tên user phổ biến như admin cho account quản trị, vì nhiều phương pháp khai thác bảo mật dựa vào tên user và password chuẩn. Chọn một tên user duy nhất và một password mạnh cho account chính của bạn để giúp bảo mật trang web .
Sau khi nhấp vào Cài đặt WordPress , bạn sẽ được dẫn đến console WordPress. Đến đây bạn đã hoàn thành cài đặt WordPress và bạn có thể sử dụng WordPress thoải mái để tùy chỉnh trang web của bạn và viết các bài đăng và trang.
Kết luận
Đến đây bạn đã có một bản cài đặt WordPress đang hoạt động được phục vụ bằng web server Caddy. Caddy sẽ tự động lấy certificate SSL từ Let's Encrypt, phục vụ trang web qua kết nối an toàn và sử dụng tính năng nén HTTP / 2 và Gzip để phục vụ trang web nhanh hơn. Bạn có thể đọc thêm về các tính năng độc đáo của Caddy và chỉ thị cấu hình cho Caddyfile
trong tài liệu chính thức của Caddy .
Nếu bạn muốn sử dụng các plugin với version WordPress mới của bạn , hãy lưu ý một số plugin dựa trên các .htaccess
của web server Apache. Các web server không phải Apache đã trở nên phổ biến với WordPress, vì vậy không có nhiều plugin phụ thuộc .htaccess
này tồn tại. Tuy nhiên, một số ít tồn tại sẽ không hoạt động tốt với Caddy vì nó không sử dụng .htaccess
. Đây là một điều tốt cần lưu ý nếu bạn gặp sự cố với các plugin WordPress khi sử dụng Caddy.
Hầu hết các plugin dựa trên .htaccess
là các plugin bộ nhớ đệm (ví dụ: W3 Total Cache) sử dụng .htaccess
để vượt qua PHP hoàn toàn để xử lý. Một ví dụ khác là Wordfence, là một module firewall ứng dụng web sử dụng .htaccess
theo mặc định, nhưng nó hỗ trợ đúng các mô hình cấu hình khác nhau.
Các tin liên quan
Cách cài đặt và sử dụng Webmin trên CentOS 72017-07-13
Cách bật SFTP mà không cần quyền truy cập Shell trên CentOS 7
2017-06-01
Cách theo dõi cảnh báo Zabbix với Alerta trên CentOS 7
2017-05-31
Cách cài đặt Perlbrew và quản lý nhiều phiên bản Perl 5 trên CentOS 7
2017-05-31
Cách cấu hình NTP để sử dụng trong Dự án NTP Pool trên CentOS 7
2017-05-11
Cách lưu trữ một trang web với Caddy trên CentOS 7
2017-05-10
Cách cài đặt và cấu hình Ghost trên CentOS 7
2017-04-10
Cách cấu hình một client FreeIPA trên CentOS 7
2017-03-24
Cách theo dõi các chỉ số hệ thống bằng TICK Stack trên CentOS 7
2017-03-12
Cách thiết lập xác thực đa yếu tố cho SSH trên CentOS 7
2017-03-08