Thứ tư, 14/01/2015 | 00:00 GMT+7

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:

WordPress chọn ngôn 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 :

Cài đặt WordPress

Đ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 :

Giao diện quản trị WordPress

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.


Tags:

Các tin liên quan

Cách cài đặt Nginx, MySQL và PHP (FEMP) trên FreeBSD 10.1
2015-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
Hiểu cấu trúc tệp cấu hình và khung cấu hình Nginx
2014-11-19
Cách cài đặt MoinMoin với Nginx trên Ubuntu 14.04
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