Cách cài đặt WordPress với Caddy trên Ubuntu 16.04
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 Ubuntu 16.04 được cài đặt với hướng dẫn cài đặt server Ubuntu 16.04 ban đầu này , bao gồm user không phải root có quyền sudo và firewall .
- Đã cài đặt MySQL theo hướng dẫn Cách cài đặt MySQL trên Ubuntu 16.04 .
- Caddy được cài đặt theo hướng dẫn Cách lưu trữ trang web với Caddy trên Ubuntu 16.04 , bao gồm tên 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 apt-get update 
Sau đó, 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à các chuỗi nhiều byte.
- sudo apt-get install php7.0-fpm php7.0-mysql php7.0-curl php7.0-gd php7.0-mbstring php7.0-mcrypt php7.0-xml php7.0-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 7.0.18-0ubuntu0.16.04.1 (cli) ( NTS ) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies     with Zend OPcache v7.0.18-0ubuntu0.16.04.1, Copyright (c) 1999-2017, by Zend Technologies 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'; 
Đư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 www-data:www-data 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 nano hoặc editor  yêu thích của bạn.
- sudo nano /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 / /run/php/php7.0-fpm.sock 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.comtrong 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.comsauadmin@example.comtlscho 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ị rootcho Caddy biết vị trí của các file trang web. Trong ví dụ này, đó là/var/www/wordpress.
-  Lệnh gzipyêu cầu Caddy sử dụng tính năng nén Gzip để làm cho trang web nhanh hơn.
-  Chỉ thị fastcgicấu hình trình PHP processor để hỗ trợ các file có phần mở rộngphp
-  Sử dụng chỉ thị rewritecho 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.htaccessnế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ấu hình GoCD với Let's Encrypt SSL Certificates trên Ubuntu 16.042017-08-01
Cách cài đặt và cấu hình GoCD trên Ubuntu 16.04
2017-08-01
Cách cài đặt và cấu hình SimpleSAMLphp để Xác thực SAML trên Ubuntu 16.04
2017-07-30
Cách sử dụng chế độ độc lập của Certbot để lấy chứng chỉ SSL mã hóa trên Ubuntu 16.04
2017-07-28
Cách sử dụng chế độ độc lập của Certbot để lấy chứng chỉ SSL mã hóa trên Ubuntu 16.04
2017-07-28
Cách cài đặt Virtualmin với Webmin, LAMP, BIND và PostFix trên Ubuntu 16.04
2017-07-26
Cách cài đặt Matrix Synapse trên Ubuntu 16.04
2017-07-21
Cách cài đặt Bro trên Ubuntu 16.04
2017-07-14
Cách thiết lập đường ống tích hợp liên tục với Concourse CI trên Ubuntu 16.04
2017-07-11
Cách cài đặt Ruby on Rails với RVM trên Ubuntu 16.04
2017-07-03
 

