Cách cài đặt WordPress với Nginx trên server FreeBSD 10.1
WordPress là hệ thống quản lý nội dung (CMS) và nền tảng blog phổ biến nhất trên thế giới. Sử dụng WordPress, bạn có thể nhanh chóng cấu hình và tùy chỉnh trang web của bạn , cho phép bạn thêm nội dung và tinh chỉnh các yếu tố hình ảnh một cách dễ dàng.Trong hướng dẫn này, ta sẽ cài đặt WordPress trên máy FreeBSD 10.1 sử dụng Nginx để phân phát nội dung của ta . Nginx là một web server mạnh mẽ có hiệu quả trong việc xử lý một số lượng lớn các kết nối đồng thời. Ta sẽ tận dụng điều này làm cơ sở cho cài đặt WordPress mà ta sẽ cài đặt trong hướng dẫn này.
Yêu cầu và Mục tiêu
Để hoàn thành hướng dẫn này, có một số bước sơ bộ cần được thực hiện để server của bạn sẵn sàng.
Ta sẽ thêm các thành phần trong hướng dẫn này vào một ngăn xếp FEMP (FreeBSD, Nginx, MySQL và PHP) đã được cấu hình . Bạn có thể tìm hiểu cách cài đặt Nginx, MySQL và PHP trên server FreeBSD 10.1 của bạn với hướng dẫn của ta tại đây.
Sau khi bạn đã cài đặt và cấu hình Nginx, MySQL và PHP trên server của bạn , bạn có thể tiếp tục với hướng dẫn này. Mục tiêu của ta trong hướng dẫn này là cài đặt version WordPress mới nhất trên server FreeBSD của ta .
 Có một gói WordPress hiện có có thể cài đặt được thông qua lệnh pkg của FreeBSD, nhưng nó hiện dựa trên version  PHP 5.4, sẽ chỉ nhận được các bản cập nhật bảo mật kể từ bây giờ. Tổng tuổi thọ của nó sẽ là vào tháng 9 năm 2015.
Để đảm bảo trang web của ta được xây dựng trên nền tảng sẽ nhận được sự hỗ trợ trong một thời gian dài, ta sẽ download và cài đặt version mới nhất của WordPress từ trang web của dự án và sử dụng version PHP 5.6 để xử lý nội dung động.
Cài đặt các tiện ích mở rộng PHP bổ sung mà WordPress yêu cầu
 Khi  cài đặt  PHP trên  server  FreeBSD  của bạn  trong hướng dẫn FEMP,  ta  đã cài đặt gói php56 và gói php56-mysql để version  PHP của  ta  có thể truy vấn dữ liệu từ database  MySQL nếu được yêu cầu.
 Điều này thể hiện cấu hình tối thiểu cần thiết cho phép PHP được sử dụng làm cơ sở cho nhiều ứng dụng khác nhau. WordPress sẽ sử dụng gói php56-mysql , nhưng nó cũng yêu cầu một số tiện ích mở rộng bổ sung để triển khai nhiều tính năng cốt lõi của nó.
  May mắn là  chúng có thể dễ dàng cài đặt bằng lệnh pkg .  Download  và cài đặt các tiện ích mở rộng bắt buộc  bằng lệnh :
sudo pkg install php56-xml php56-hash php56-gd php56-curl php56-tokenizer php56-zlib php56-zip  Khi cài đặt xong , nếu bạn đang sử dụng  shell  tcsh mặc định, hãy bắt đầu xử lý lại để  shell  có thể tìm thấy các file  mới của bạn:
rehash Tất cả các gói ta đã cài đặt đều là phần mở rộng PHP. Đối với version PHP-FPM của ta để sử dụng các phần mở rộng mới này, ta sẽ phải khởi động lại quy trình:
sudo service php-fpm restart Sau khi hoàn tất, ta có thể bắt đầu cấu hình database của bạn .
Tạo và cấu hình database MySQL
WordPress yêu cầu database kiểu SQL để lưu trữ nội dung trang web và dữ liệu user . Ta đã cài đặt MySQL trong hướng dẫn trước của bạn , vì vậy ta có các công cụ cần thiết để tạo và cung cấp quyền truy cập vào database như vậy.
 Để bắt đầu, bạn  cần  sử dụng lệnh mysql để xác thực hệ thống database   của bạn   với quyền  là  admin-user :
mysql -u root -p Bạn sẽ  được yêu cầu  nhập password  của  user  root  MySQL mà bạn đã  cấu hình  trong hướng dẫn trước (trong khi chạy tập lệnh mysql_secure_installation ). Khi bạn nhập đúng password , bạn sẽ được đưa vào  dấu nhắc  MySQL.
 Điều đầu tiên  ta  sẽ làm là tạo database  cho version  WordPress của  ta . Bạn  có thể đặt tùy ý , nhưng  ta  sẽ sử dụng tên database  wordpress cho hướng dẫn này vì nó có ngữ nghĩa và dễ nhớ:
CREATE DATABASE wordpress; Nếu bạn gặp sự cố với lệnh trên, hãy đảm bảo bạn có dấu chấm phẩy (;) ở cuối câu lệnh của bạn . Ngôn ngữ truy vấn SQL yêu cầu tất cả các câu lệnh phải kết thúc bằng dấu chấm phẩy.
Sau khi ta tạo database của bạn , bước tiếp theo của ta là tạo một user chuyên dụng mà ta sẽ sử dụng để truy cập database . Bạn nên tạo và sử dụng một user MySQL riêng cho mọi ứng dụng lưu trữ dữ liệu trong MySQL. Điều này giúp giảm thiểu phạm vi của các vấn đề bảo mật.
 Đối với hướng dẫn này,  ta  sẽ gọi  user  wordpressuser mới của  ta  và  cấu hình  các hạn chế truy cập để nó chỉ hợp lệ cho các kết nối bắt nguồn từ chính  server .  Ta  cũng sẽ đặt password  cho  user :
CREATE USER wordpressuser@localhost IDENTIFIED BY 'password'; Hãy nhớ thay đổi thành phần password trong lệnh trên thành password  an toàn. Bạn  cần  phải nhớ giá trị này sau này.
Bây giờ ta đã tạo hai thành phần MySQL mà cài đặt WordPress của ta sẽ yêu cầu. Tuy nhiên, chúng vẫn chưa được kết nối theo bất kỳ cách nào. Ta cần cấp cho user mới quyền truy cập vào database WordPress để nó có thể cài đặt và quản lý dữ liệu cho trang web của ta . Để làm điều này, hãy nhập:
GRANT ALL PRIVILEGES ON wordpress.* TO wordpressuser@localhost; User mới của ta hiện có quyền truy cập vào database mà ta đã cấu hình. Để cho version MySQL hiện đang chạy biết về những thay đổi mới này, ta nên xóa bảng quyền :
FLUSH PRIVILEGES; Cuối cùng, ta có thể thoát khỏi dấu nhắc MySQL để quay lại môi trường shell thông thường của ta bằng lệnh :
exit Bây giờ ta đã có database và user sẵn sàng, ta có thể download và cấu hình các file WordPress thực tế.
Download và cấu hình WordPress
Ta sẽ download version WordPress mới nhất từ trang web của dự án để sử dụng cho quá trình cài đặt của ta . Do có thể có các bản cập nhật bảo mật, điều rất quan trọng là luôn sử dụng version WordPress cập nhật nhất.
  Group  WordPress làm cho việc này trở nên dễ dàng bằng cách luôn đóng gói version  mới nhất vào một repository  tại /latest.tar.gz trên trang web của họ.  Ta  có thể tải nó vào folder  chính của  ta  bằng cách  sử dụng trình  fetch FreeBSD:
cd ~ fetch http://wordpress.org/latest.tar.gz Khi file  đã được  download ,  ta  có thể  extract  file  WordPress và cấu trúc folder  bằng lệnh tar :
tar xzvf latest.tar.gz Thư mục sẽ được tạo sẽ có tên là wordpress . Xóa file  lưu trữ .tar.gz và sau đó chuyển vào folder  đó để  ta  có thể bắt đầu cấu hình:
rm latest.tar.gz cd wordpress Bên trong, có một file  cấu hình mẫu mà  ta  có thể sử dụng làm mẫu cho cài đặt  của bạn . Sao chép file  sang tên file  wp-config.php sẽ được WordPress đọc:
cp wp-config-sample.php wp-config.php Bây giờ, ta có thể mở file để chỉnh sửa để ta có thể cấu hình thông tin xác thực truy cập cho database MySQL và user mà ta đã cài đặt trong phần cuối cùng:
vi wp-config.php Bên trong, có ba giá trị mà bạn phải thay đổi để WordPress kết nối chính xác và sử dụng hệ thống MySQL của bạn. Biến DB_NAME xác định tên của database  MySQL mà bạn đã tạo, DB_USER phải được đặt cho  user  mà bạn đã tạo và DB_PASSWORD phải được sửa đổi để chứa password  bạn đã chọn cho  user  đó:
. . .  /** The name of the database for WordPress */ define('DB_NAME', 'wordpress');  /** MySQL database username */ define('DB_USER', 'wordpressuser');  /** MySQL database password */ define('DB_PASSWORD', 'password');  . . . Khi bạn hoàn tất việc sửa đổi các giá trị này, hãy lưu file .
 Tiếp theo,  ta  có thể sao chép cài đặt WordPress vào folder  /usr/local/www , nơi  ta  lưu giữ các file  trang web khác nhau  của bạn .  Ta  sẽ  sử dụng trình  rsync , vì nó cho phép  ta  duy trì các thuộc tính file  nhất định trong quá trình di chuyển:
sudo rsync -avP ~/wordpress /usr/local/www Tiếp theo,  ta  cần điều chỉnh chủ sở hữu của các file  WordPress  của bạn  để  web server  của  ta  có thể  áp dụng các thay đổi  khi thích hợp.  User  web và  group  của  ta  đều được gọi là www :
sudo chown -R www:www /usr/local/www/wordpress Bây giờ các file WordPress của bạn đã ở đúng cấu hình, ta có thể sửa đổi cấu hình Nginx của bạn .
Cấu hình Nginx
Trong hướng dẫn cuối cùng của ta , ta đã cài đặt Nginx để phục vụ trang web Nginx mặc định và cấu hình nó để chuyển các yêu cầu PHP đến version PHP-FPM của ta . Điều này đưa ta hầu hết các cách để cấu hình ta cần cho WordPress.
 Mở file  cấu hình Nginx với các  quyền  sudo để  áp dụng các thay đổi  của  ta :
sudo vi /usr/local/etc/nginx/nginx.conf Nếu bạn làm theo hướng dẫn từ hướng dẫn cuối cùng, file của bạn sẽ trông giống với file này ( ta đã xóa các comment bên dưới để rõ ràng):
user  www; worker_processes  2; error_log /var/log/nginx/error.log info;  events {     worker_connections  1024; }  http {     include       mime.types;     default_type  application/octet-stream;      access_log /var/log/nginx/access.log;      sendfile        on;     keepalive_timeout  65;      server {         listen       80;         server_name  example.com www.example.com;         root /usr/local/www/nginx;         index index.php index.html index.htm;          location / {             try_files $uri/ $uri/ =404;         }          error_page      500 502 503 504  /50x.html;         location = /50x.html {             root /usr/local/www/nginx-dist;         }          location ~ \.php$ {                 try_files $uri =404;                 fastcgi_split_path_info ^(.+\.php)(/.+)$;                 fastcgi_pass unix:/var/run/php-fpm.sock;                 fastcgi_index index.php;                 fastcgi_param SCRIPT_FILENAME $request_filename;                 include fastcgi_params;         }     } } Ta sẽ phải thực hiện hai điều chỉnh đảm bảo rằng WordPress của ta sẽ hoạt động chính xác.
 Đầu tiên,  ta  cần điều chỉnh root  tài liệu vì các file  WordPress của  ta  nằm trong folder  /usr/local/www/wordpress :
server {      . . .      root /usr/local/www/wordpress;      . . .  } Thay đổi khác mà  ta  cần thực hiện là đối với chỉ thị try_files trong location / khối. Hiện tại, cấu hình yêu cầu Nginx cố gắng tìm yêu cầu dưới dạng file  trước. Nếu nó không thể tìm thấy một file  phù hợp, nó sẽ cố gắng tìm một folder  phù hợp với yêu cầu. Nếu điều này không mang lại bất kỳ kết quả nào, Nginx sẽ đưa ra lỗi 404 cho biết rằng không thể tìm thấy tài nguyên.
  Ta  cần sửa đổi điều này để thay vì kết thúc bằng lỗi 404, yêu cầu được ghi lại thành index.php . Yêu cầu ban đầu và các đối số sẽ được chuyển vào dưới dạng tham số truy vấn.  Ta  có thể  cấu hình  điều này bằng cách sửa đổi chỉ thị try_files để trông giống như sau:
server {      . . .      location / {         try_files $uri $uri/ /index.php?q=$uri&$args;     }      . . .  } Khi bạn hoàn tất, file cấu hình sẽ trông giống như sau:
user  www; worker_processes  2; error_log /var/log/nginx/error.log info;  events {     worker_connections  1024; }  http {     include       mime.types;     default_type  application/octet-stream;      access_log /var/log/nginx/access.log;      sendfile        on;     keepalive_timeout  65;      server {         listen       80;         server_name  example.com www.example.com;         root /usr/local/www/wordpress;         index index.php index.html index.htm;          location / {             try_files $uri $uri/ /index.php?q=$uri&$args;         }          error_page      500 502 503 504  /50x.html;         location = /50x.html {             root /usr/local/www/nginx-dist;         }          location ~ \.php$ {                 try_files $uri =404;                 fastcgi_split_path_info ^(.+\.php)(/.+)$;                 fastcgi_pass unix:/var/run/php-fpm.sock;                 fastcgi_index index.php;                 fastcgi_param SCRIPT_FILENAME $request_filename;                 include fastcgi_params;         }     } } Khi bạn hoàn thành các sửa đổi trên, hãy lưu file .
Bây giờ, ta có thể khởi động lại Nginx để áp dụng các thay đổi mới của bạn . Đầu tiên, hãy kiểm tra kỹ xem cú pháp của ta có đúng không:
sudo nginx -t Nếu không tìm thấy lỗi nào, hãy khởi động lại dịch vụ:
sudo service nginx restart Hoàn tất cài đặt thông qua giao diện web
Cài đặt WordPress của ta hiện đã được cấu hình hoàn toàn trên server . Ta có thể hoàn thành phần còn lại của quy trình bằng trình duyệt web.
Trong trình duyệt web , hãy truy cập vào domain hoặc địa chỉ IP của server :
http://example.com Trước tiên, WordPress sẽ hỏi bạn ngôn ngữ nào bạn muốn sử dụng:
Sau khi lựa chọn, bạn sẽ được đưa đến trang cấu hình ban đầu để cài đặt cài đặt WordPress của bạn :
Điền tên cho trang web và chọn tên user bạn muốn sử dụng để quản lý trang web. Bạn sẽ phải chọn và xác nhận password cho trang web của bạn và điền vào địa chỉ email để có thể liên hệ với bạn. Tùy chọn cuối cùng là lựa chọn có cho phép các công cụ tìm kiếm lập index trang web hay không.
Khi bạn đã lựa chọn xong, hãy nhấp vào nút “Cài đặt WordPress” ở cuối trang. Bạn cần đăng nhập vào trang web bằng thông tin đăng nhập bạn vừa chọn.
Khi đăng nhập, bạn sẽ thấy bảng quản trị cho cài đặt WordPress mới của bạn :
Bạn có thể sử dụng giao diện này để đăng nội dung mới, sửa đổi giao diện trang web của bạn cũng như cài đặt và cấu hình các plugin để tận dụng các chức năng bổ sung.
Kết luận
Đến đây bạn đã có một bản cài đặt WordPress mới được cài đặt và chạy được hỗ trợ bởi Nginx, MySQL và PHP. WordPress cực kỳ mạnh mẽ, cho phép bạn hiển thị nhiều loại nội dung khác nhau được tạo kiểu theo sở thích của bạn. Nếu bạn chưa quen với WordPress, bạn có thể cần bắt đầu bằng cách xem các chủ đề và plugin tùy chọn.
Các tin liên quan
Cách cài đặt Nginx, MySQL và PHP (FEMP) trên FreeBSD 10.12015-01-14
Hiểu và triển khai FastCGI Proxying trong Nginx
2014-12-08
Hiểu về Nginx HTTP Proxying, Cân bằng tải, Bộ đệm và Bộ nhớ đệm
2014-11-25
Cách cài đặt MoinMoin với Nginx trên Ubuntu 14.04
2014-11-19
Hiểu cấu trúc tệp cấu hình và khung cấu hình Nginx
2014-11-19
Hiểu server Nginx và các thuật toán lựa chọn khối vị trí
2014-11-17
Cách thiết lập server block Nginx trên CentOS 7
2014-11-05
Cách sử dụng tệp bản đồ Salt Cloud để triển khai server ứng dụng và reverse-proxy Nginx
2014-10-27
Cách triển khai ứng dụng Rails với Passenger và Nginx trên Ubuntu 14.04
2014-10-09
Cách tạo profile AppArmor cho Nginx trên Ubuntu 14.04
2014-10-06
 

