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 thiết lập server GraphQL trong Node.js với server Apollo và Sequelize
2019-12-12
 

