Thứ năm, 16/04/2020 | 00:00 GMT+7

Cách cài đặt Linux, Nginx, MySQL, PHP (LEMP) trên CentOS 8 [Quickstart]

Trong hướng dẫn này, bạn sẽ cài đặt LEMP trên server CentOS 8. Mặc dù MySQL có sẵn từ repository mặc định trong CentOS 8, hướng dẫn này sẽ hướng dẫn quy trình cài đặt LEMP với MariaDB làm hệ thống quản lý database .

Để có version chi tiết hơn của hướng dẫn này, với giải thích rõ hơn về từng bước, vui lòng tham khảo Cách cài đặt ngăn xếp Linux, Nginx, MySQL, PHP (LEMP) trên CentOS 8 .

Yêu cầu

Để làm theo hướng dẫn này, bạn cần quyền truy cập vào server CentOS 8 với quyền là user sudo .

Bước 1 - Cài đặt Nginx

Cài đặt gói nginx với:

  • sudo dnf install nginx

Sau khi cài đặt xong, hãy chạy lệnh sau để bật và khởi động server :

  • sudo systemctl start nginx

Nếu firewalld đang hoạt động, bạn cần chạy lệnh sau để cho phép truy cập bên ngoài trên cổng 80 (HTTP):

  • sudo firewall-cmd --permanent --add-service=http

Reload cấu hình firewall để các thay đổi có hiệu lực:

  • sudo firewall-cmd --reload

Với luật firewall mới được thêm vào, bạn có thể kiểm tra xem server có hoạt động hay không bằng cách truy cập địa chỉ IP công cộng hoặc domain của server từ trình duyệt web . Bạn sẽ thấy một trang như thế này:

Trang Nginx mặc định CentOS 8

Bước 2 - Cài đặt MariaDB

Bây giờ, ta sẽ cài đặt MariaDB , một bản fork do cộng đồng phát triển của server MySQL root của Oracle. Để cài đặt phần mềm này, hãy chạy:

  • sudo dnf install mariadb-server

Khi quá trình cài đặt hoàn tất, hãy bật và khởi động server MariaDB với:

  • sudo systemctl start mariadb

Để cải thiện tính bảo mật của server database của bạn, bạn nên chạy tập lệnh bảo mật được cài đặt sẵn với MariaDB. Bắt đầu tập lệnh tương tác với:

  • sudo mysql_secure_installation

Dấu nhắc đầu tiên sẽ yêu cầu bạn nhập password gốc của database hiện tại. Vì bạn vừa cài đặt MariaDB và chưa thực hiện bất kỳ thay đổi cấu hình nào nên password này sẽ trống, vì vậy chỉ cần nhấn ENTER tại dấu nhắc .

Dấu nhắc tiếp theo hỏi bạn có muốn cài đặt password gốc database hay không . Vì MariaDB sử dụng một phương pháp xác thực đặc biệt cho user root thường an toàn hơn so với sử dụng password , bạn không cần cài đặt điều này ngay bây giờ. Gõ N và sau đó nhấn ENTER .

Từ đó, bạn có thể nhấn Y rồi ENTER để chấp nhận giá trị mặc định cho tất cả các câu hỏi tiếp theo.

Bước 3 - Cài đặt PHP-FPM

Để cài đặt các gói php-fpmphp-mysql , hãy chạy:

  • sudo dnf install php-fpm php-mysqlnd

Khi quá trình cài đặt hoàn tất, bạn cần chỉnh sửa file /etc/php-fpm.d/www.conf để điều chỉnh một số cài đặt. Ta sẽ cài đặt nano để tạo điều kiện chỉnh sửa các file này:

  • sudo dnf install nano

Bây giờ, hãy mở file cấu hình /etc/php-fpm.d/www.conf bằng nano hoặc editor mà bạn chọn:

  • sudo nano /etc/php-fpm.d/www.conf

Tìm chỉ thị usergroup . Nếu bạn đang sử dụng nano , bạn có thể nhấn CTRL + W để tìm kiếm các cụm từ này bên trong file đang mở. Đảm bảo thay đổi cả hai giá trị từ apache thành nginx :

/etc/php-fpm.d/www.conf
… ; RPM: apache user chosen to provide access to the same directories as httpd user = nginx ; RPM: Keep a group allowed to write in log dir. group = nginx

Lưu file khi bạn chỉnh sửa xong.

Để bật và khởi động dịch vụ php-fpm , hãy chạy:

  • sudo systemctl start php-fpm

Cuối cùng, khởi động lại web server Nginx để nó tải các file cấu hình được tạo bởi cài đặt php-fpm :

  • sudo systemctl restart nginx

Bước 4 - Kiểm tra PHP với Nginx

Trên CentOS 8, cài đặt php-fpm mặc định tự động tạo file cấu hình cho phép web server Nginx của bạn xử lý file .php trong root tài liệu mặc định có tại /usr/share/nginx/html . Bạn sẽ không cần thực hiện bất kỳ thay đổi nào đối với cấu hình của Nginx để PHP hoạt động chính xác trong web server của bạn.

Ta sẽ chỉ cần sửa đổi chủ sở hữu và group mặc định trên root tài liệu của Nginx, để bạn có thể tạo và sửa đổi các file ở vị trí đó bằng user hệ thống không phải root thông thường của bạn :

  • sudo chown -R sammy.sammy /usr/share/nginx/html/

Tạo một file PHP mới có tên là info.php tại folder /usr/share/nginx/html :

  • nano /usr/share/nginx/html/info.php

Đoạn mã PHP sau sẽ hiển thị thông tin về môi trường PHP hiện tại đang chạy trên server :

/usr/share/nginx/html/info.php
<?php  phpinfo(); 

Sao chép nội dung này vào file info.php của bạn và đừng quên lưu nó khi bạn hoàn tất.

Bây giờ ta có thể kiểm tra xem web server của ta có thể hiển thị chính xác nội dung được tạo bởi tập lệnh PHP hay không. Truy cập trình duyệt của bạn và truy cập tên server hoặc địa chỉ IP của server , theo sau là /info.php :

http://server_host_or_IP/info.php 

Bạn sẽ thấy một trang tương tự như sau:

Thông tin PHP mặc định của CentOS 8

Dưới đây là các liên kết đến các hướng dẫn chi tiết hơn liên quan đến hướng dẫn này:


Tags:

Các tin trước

Cách cài đặt Linux, Apache, MariaDB, PHP (LAMP) trên CentOS 8 [Quickstart] 2020-04-16
Cách cài đặt Linux, Apache, MariaDB, PHP (LAMP) trên CentOS 8 2020-04-07
Cách cài đặt Linux, Nginx, MariaDB, PHP ( LEMP) trên Debian 10 2020-03-30
Cách cài đặt Linux, Nginx, MySQL, PHP (LEMP) trên CentOS 8 2020-02-24
Cách cài đặt Linux, Apache, MariaDB, PHP (LAMP) trên Debian 10 2019-07-15
Cách cài đặt Linux, Apache, MySQL, PHP (LAMP) trên Debian 8 2018-10-18
Cách cài đặt Linux, Nginx, MySQL, PHP ( LEMP) trên Debian 9 2018-09-13
Cách cài đặt Linux, Apache, MariaDB, PHP (LAMP) trên Debian 9 2018-09-04
Cách cài đặt Linux, Nginx, MySQL, PHP ( LEMP) trên Ubuntu 18.04 2018-05-23
Sơ lược về lịch sử Linux 2017-10-27