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:
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-fpm
và php-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ị user
và group
. 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
:
… ; 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 :
<?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:
Hướng dẫn liên quan
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:
- Cài đặt server ban đầu trên CentOS 8
- Cách cài đặt ngăn xếp Linux, Nginx, MySQL, PHP (LEMP) trên CentOS 8
- Quản lý bản ghi DNS trên DigitalOcean
Các tin liên quan
Cách theo dõi tình trạng server với Checkmk trên Ubuntu 18.042020-04-16
Cách cài đặt Linux, Apache, MariaDB, PHP (LAMP) trên CentOS 8 [Quickstart]
2020-04-16
Cách cài đặt server phát nhạc trực tuyến Ampache trên Ubuntu 18.04
2020-04-08
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
Thiết lập server ban đầu với CentOS 8
2020-02-06
Cách thiết lập Nền tảng Cloud IDE server mã trên Ubuntu 18.04 [Quickstart]
2020-01-02
Cách thiết lập server lưu trữ đối tượng bằng Minio trên Ubuntu 18.04
2019-12-13
Cách xây dựng server GraphQL trong Node.js bằng GraphQL-yoga và MongoDB
2019-12-12