Cách cài đặt Linux, Nginx, MySQL, PHP ( LEMP) trên Ubuntu 20.04 [Quickstart]
Trong hướng dẫn bắt đầu nhanh này, ta sẽ cài đặt LEMP trên server Ubuntu 20.04.Để có version chi tiết hơn của hướng dẫn này, với giải thích thêm về từng bước, vui lòng tham khảo Cách cài đặt Linux, Nginx, MySQL, PHP ( LEMP ) trên Ubuntu 20.0
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  Ubuntu 20.04  với quyền  là  user  sudo .
Bước 1 - Cài đặt Nginx
Cập nhật cache ẩn trình quản lý gói của bạn và sau đó cài đặt Nginx với:
- sudo apt update 
- sudo apt install nginx 
Sau khi cài đặt xong, bạn  cần  điều chỉnh cài đặt firewall  để cho phép  truy cập HTTP  trên  server   của bạn . Chạy lệnh sau để cho phép truy cập bên ngoài trên cổng 80 (HTTP):
- sudo ufw allow in "Nginx" 
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 MySQL
Bây giờ ta sẽ cài đặt MySQL, một hệ thống quản lý database phổ biến được sử dụng trong môi trường PHP.
   , hãy sử dụng apt  để cài đặt phần  mềm này:
- sudo apt install mysql-server 
Khi quá trình cài đặt hoàn tất, bạn nên chạy một tập lệnh bảo mật được cài đặt sẵn với MySQL. Bắt đầu tập lệnh tương tác bằng lệnh:
- sudo mysql_secure_installation 
Điều này sẽ hỏi xem bạn có muốn  cấu hình  VALIDATE PASSWORD PLUGIN . Trả lời Y có hoặc bất kỳ điều gì khác để tiếp tục mà không cần bật. Nếu bạn trả lời  “yes” ,  bạn cần  chọn mức độ xác thực password .
Tiếp theo, server của bạn sẽ yêu cầu bạn chọn và xác nhận password cho user gốc MySQL. Mặc dù phương pháp xác thực mặc định cho user root MySQL không cho phép sử dụng password , ngay cả khi một password được đặt , bạn nên xác định một password mạnh ở đây như một biện pháp an toàn bổ sung.
 Đối với các câu hỏi còn lại, nhấn Y và nhấn ENTER tại mỗi  dấu nhắc .
 Lưu ý: Tại thời điểm viết bài này, thư viện MySQL PHP mysqlnd không hỗ trợ caching_sha2_authentication , phương thức xác thực mặc định cho MySQL 8. Vì lý do đó, khi tạo  user  database  cho các ứng dụng PHP trên MySQL 8, bạn  cần  thực hiện hãy chắc chắn rằng chúng được  cấu hình  để sử dụng mysql_native_password thay thế. Vui lòng tham khảo bước 6 của hướng dẫn chi tiết về LEMP trên Ubuntu 20.04 của  ta  để tìm hiểu cách thực hiện điều đó.
Bước 3 - Cài đặt PHP
 Để cài đặt các gói php-fpm và php-mysql , hãy chạy:
- sudo apt install php-fpm php-mysql 
Bước 4 - Cấu hình Nginx cho PHP
Trong hướng dẫn này, ta sẽ cài đặt domain có tên your_domain , nhưng bạn nên thay thế domain này bằng domain của riêng mình .
 Trên Ubuntu 20.04, Nginx có một khối  server  được bật theo mặc định và được  cấu hình  để cung cấp tài liệu ra khỏi folder  tại /var/www/html . Mặc dù điều này hoạt động tốt cho một trang web nhưng có thể trở nên khó quản lý nếu bạn đang lưu trữ nhiều trang web. Thay vì sửa đổi /var/www/html ,  ta  sẽ tạo cấu trúc folder  trong /var/www cho trang web your_domain , giữ nguyên /var/www/html làm folder  mặc định sẽ được phục vụ nếu khách hàng không yêu cầu phù hợp với bất kỳ trang web nào khác.
Tạo folder web root cho your_domain như sau:
- sudo mkdir /var/www/your_domain 
Tiếp theo, chỉ định quyền sở hữu folder với biến môi trường $ USER, biến này sẽ tham chiếu đến user hệ thống hiện tại của bạn:
- sudo chown -R $USER:$USER /var/www/your_domain 
Sau đó, mở file  cấu hình mới trong folder  sites-available của Nginx bằng  editor  dòng lệnh  bạn muốn . Ở đây,  ta  sẽ sử dụng nano :
- sudo nano /etc/nginx/sites-available/your_domain 
Thao tác này sẽ tạo một file trống mới. Dán vào cấu hình cơ bản sau:
server {     listen 80;     server_name your_domain www.your_domain;     root /var/www/your_domain;      index index.html index.htm index.php;      location / {         try_files $uri $uri/ =404;     }      location ~ \.php$ {         include snippets/fastcgi-php.conf;         fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;      }      location ~ /\.ht {         deny all;     }  }   Khi bạn chỉnh sửa xong, hãy  lưu file  . Nếu bạn đang sử dụng nano , bạn  có thể thực hiện bằng cách  gõ CTRL+X , sau đó nhập y và ENTER để xác nhận.
 Kích hoạt cấu hình của bạn bằng cách liên kết đến file  cấu hình từ folder  sites-enabled của Nginx:
- sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/ 
Điều này sẽ thông báo cho Nginx sử dụng cấu hình trong lần reload tiếp theo. Bạn có thể kiểm tra cấu hình của bạn để tìm lỗi cú pháp bằng lệnh :
- sudo nginx -t 
Nếu bất kỳ lỗi nào được báo cáo, hãy quay lại file cấu hình của bạn để xem lại nội dung của nó trước khi tiếp tục.
Khi đã sẵn sàng , hãy reload Nginx để áp dụng các thay đổi:
- sudo systemctl reload nginx 
Trang web mới của bạn hiện đã hoạt động, nhưng root  web /var/www/ your_domain vẫn trống. Tạo index.html ở vị trí đó để  ta  có thể kiểm tra xem khối  server  mới của bạn có hoạt động như mong đợi hay không:
- nano /var/www/your_domain/index.html 
Đưa nội dung sau vào file này:
<html>   <head>     <title>your_domain website</title>   </head>   <body>     <h1>Hello World!</h1>      <p>This is the landing page of <strong>your_domain</strong>.</p>   </body> </html> Bây giờ, hãy truy cập trình duyệt của bạn và truy cập domain  hoặc địa chỉ IP của  server , như được liệt kê trong lệnh server_name trong file  cấu hình khối  server  của bạn:
http://server_domain_or_IP Bạn sẽ thấy một trang như thế này:
Bước 5 - Kiểm tra PHP với Nginx
Bây giờ ta sẽ tạo một tập lệnh thử nghiệm PHP để xác nhận Nginx có thể xử lý và xử lý các yêu cầu đối với file PHP.
 Tạo một file  mới có tên info.php bên trong folder  root  web tùy chỉnh của bạn:
- nano /var/www/your_domain/info.php 
Thao tác này sẽ mở một file trống. Thêm nội dung sau vào bên trong file :
<?php phpinfo(); Khi bạn hoàn tất, hãy lưu file .
  Như vậy,  bạn có thể truy cập trang này trong trình duyệt web  của bạn  bằng cách truy cập vào domain  hoặc địa chỉ IP công cộng mà bạn đã  cài đặt  trong file  cấu hình Nginx  của bạn , theo sau là /info.php :
http://server_domain_or_IP/info.php Bạn sẽ thấy một trang web chứa thông tin chi tiết về server của bạn:
 Sau khi kiểm tra thông tin liên quan về  server  PHP của bạn thông qua trang đó, tốt nhất là xóa file  bạn đã tạo vì nó chứa thông tin nhạy cảm về môi trường PHP và  server  Ubuntu của bạn. Bạn có thể sử dụng rm để xóa file  đó:
- sudo rm /var/www/your_domain/info.php 
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 Ubuntu 20.04
- Quản lý bản ghi DNS trên DigitalOcean
- Cách cài đặt Linux, Nginx, MySQL, PHP (LEMP stack) trên Ubuntu 20.04
Các tin liên quan
Cách thiết lập Nền tảng Cloud IDE server mã trên Ubuntu 18.042020-05-13
Cách cài đặt Linux, Apache, MySQL, PHP (LAMP) trên Ubuntu 20.04 [Quickstart]
2020-05-07
Cách tạo server Minecraft trên Ubuntu 20.04
2020-05-07
Cách tạo server Minecraft trên Ubuntu 18.04
2020-05-07
Cách cài đặt Linux, Apache, MySQL, PHP (LAMP) trên Ubuntu 20.04
2020-04-29
Cách cài đặt Linux, Nginx, MySQL, PHP ( LEMP) trên Ubuntu 20.04
2020-04-29
Thiết lập bảo mật server quan trọng với Ubuntu 20.04
2020-04-23
Cách cài đặt Linux, Nginx, MySQL, PHP (LEMP) trên CentOS 7
2020-04-21
Cách cài đặt Linux, Apache, MariaDB, PHP (LAMP) trên CentOS 8 [Quickstart]
2020-04-16
Cách cài đặt Linux, Nginx, MySQL, PHP (LEMP) trên CentOS 8 [Quickstart]
2020-04-16
 

