Home Máy chủUbuntu Hướng dẫn cài đặt LEMP trên Ubuntu 20

Hướng dẫn cài đặt LEMP trên Ubuntu 20

by admincp

LEMP là viết tắt của Linux, Nginx, MariaDB/MySQL và PHP, tất cả đều là phần mềm miễn phí. Bài viết này sẽ hướng dẫn các bạn cài đặt LEMP trên Ubuntu 20.

Cài đặt LEMP trên Ubuntu 20 – LEMP là viết tắt của Linux, Nginx (Engine-X), MariaDB/MySQL và PHP, tất cả đều là phần mềm miễn phí. Đây là những phần mềm phổ biến nhất cung cấp môi trường hoạt động cho các trang web.

Trong bài viết này VINASTAR sẽ hướng dẫn các bạn cài đặt LEMP trên Ubuntu 20.04 LTS.

Cài đặt LEMP trên Ubuntu 20

1. Bước 1: Cập nhật Software Packages

Trước khi bắt đầu cài đặt LAMP, bạn nên cập nhật các gói phần mềm và kho lưu trữ bằng cách chạy các lệnh sau:

sudo apt update
sudo apt upgrade -y

2. Bước 2: Cài đặt Nginx

Nginx là một máy chủ web có hiệu suất cao và rất phổ biến ngày nay. Nó cũng có thể được sử dụng như một proxy ngược và caching server. Để cài đặt Nginx hãy xem hướng dẫn cài đặt Nginx trên Ubuntu 20.

3. Bước 3: Cài đặt MariaDB

MariaDB là một phần mềm thay thế cho MySQL. Nó được phát triển bởi các thành viên cũ của nhóm MySQL, những người lo ngại rằng Oracle có thể biến MySQL thành một sản phẩm mã nguồn đóng. Để cài đặt MariaDB hãy xem hướng dẫn cài đặt MariaDB trên Ubuntu 20.

4. Bước 4: Cài đặt PHP

Tại thời điểm viết bài này, PHP7.4 là phiên bản ổn định mới nhất của PHP. Để cài đặt PHP7.4 và một số module PHP phổ biến hãy các chạy lệnh sau.

sudo add-apt-repository ppa:ondrej/php -y
sudo apt install -y php7.4 php7.4-fpm php7.4-mysql php7.4-curl php7.4-json php7.4-cgi php7.4-xsl php7.4-mbstring php7.4-opcache php7.4-gd php7.4-pgsql php7.4-intl php7.4-bcmath php7.4-soap

Sau khi quá trình cài đặt hoàn tất hãy khởi động php7.4-fpm.

sudo systemctl start php7.4-fpm

Cho phép php-fpm khởi động cùng hệ thống.

sudo systemctl enable php7.4-fpm

Screenshot_145 - cài đặt LEMP trên Ubuntu 20

Kiểm tra trạng thái của php-fpm:

systemctl status php7.4-fpm

Screenshot_146 - cài đặt LEMP trên Ubuntu 20

5. Bước 5: Cấu hình PHP-FPM

Đầu tiên các bạn backup lại file cấu hình mặc định

sudo cp /etc/php/7.4/fpm/pool.d/www.conf /etc/php/7.4/fpm/pool.d/www.conf.bak

Tiếp theo các bạn mở file /etc/php/7.4/fpm/pool.d/www.conf

sudo nano /etc/php/7.4/fpm/pool.d/www.conf

Sửa lại các thông số sau

user = www-data sửa thành user = nginx
group = www-data sửa thành group = nginx
listen.owner = www-data sửa thành listen.owner = nginx
listen.group = www-data sửa thành listen.group = nginx
;listen.mode = 0660 sửa thành listen.mode = 0660

Khởi động lại php-fpm để cấu hình có hiệu lực

sudo systemctl restart php7.4-fpm

6. Bước 6: Tạo Nginx Server Block

Nginx Server Block giống như Virtual Host trong Apache. VINASTAR sẽ không sử dụng Server Block mặc định vì nó không có cấu hình để chạy PHP, vì vậy hãy loại bỏ Server Block mặc định bằng lệnh sau:

sudo rm /etc/nginx/conf.d/default.conf

Sau đó, sử dụng trình soạn thảo Nano để tạo tệp Server Block hoàn toàn mới trong thư mục /etc/nginx/conf.d/.

sudo nano /etc/nginx/conf.d/default.conf

Dán đoạn cấu hình sau vào tập tin. Đoạn mã sau sẽ cấu hình Nginx lắng nghe trên cổng IPv4 80 và IPv6 cổng 80.

server {
  listen 80;
  listen [::]:80;
  server_name _;
  root /usr/share/nginx/html/;
  index index.php index.html index.htm;

  location / {
    try_files $uri $uri/ /index.php;
  }

  location ~ .php$ {
        try_files $uri $uri/ =404;
        fastcgi_split_path_info ^(.+.php)(/.+)$;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
        fastcgi_intercept_errors on;
 
        if (-f $request_filename)
        {
            fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        }
    }

 # A long browser cache lifetime can speed up repeat visits to your page
  location ~* .(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ {
       access_log        off;
       log_not_found     off;
       expires           360d;
  }

  # disable access to hidden files
  location ~ /.ht {
      access_log off;
      log_not_found off;
      deny all;
  }
}

Screenshot_147

Lưu và đóng tập tin. (Để lưu tệp trong trình soạn thảo văn bản Nano, nhấn Ctrl + O, sau đó nhấn Enter để xác nhận. Để thoát, nhấn Ctrl + X.). Sau đó kiểm tra cấu hình Nginx.

sudo nginx -t

Screenshot_148

Nếu không có bất kỳ lỗi nào hãy reload lại Nginx.

sudo systemctl reload nginx

7. Bước 7: Kiểm tra PHP

Để kiểm tra PHP-FPM với máy chủ Nginx, chúng ta cần tạo một tệp info.php trong thư mục webroot.

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

Dán mã PHP sau vào tệp.

<?php phpinfo(); ?>

Bây giờ trong thanh địa chỉ của trình duyệt, nhập server-ip-address/info.php. Thay thế địa chỉ server-ip-address bằng IP thực tế của bạn. Nếu bạn làm theo hướng dẫn này trên máy tính của mình, hãy nhập 127.0.0.1/info.php hoặc localhost/info.php.

Screenshot_149

Chúc mừng! Bạn đã cài đặt thành công Nginx, MariaDB và PHP7.4 trên Ubuntu 20.04. Để bảo mật máy chủ của bạn, bạn nên xóa tệp info.php để ngăn chặn tin tặc nhìn thấy nó.

sudo rm /usr/share/nginx/html/info.php

8. Xử lý sự cố

Nếu bạn gặp lỗi, bạn có thể kiểm tra nhật ký lỗi của Nginx (/var/log/nginx/error.log) để tìm lỗi và có phương án khắc phục.

9. Link tham khảo

10. Kết luận

VINASTAR hy vọng hướng dẫn này đã giúp các bạn cài đặt LEMP stack trên Ubuntu 20.04 LTS. Nếu có bất kỳ ý kiến đóng góp nào các bạn có thể để lại bình luận ở bên dưới. Ngoài ra bạn cũng có thể muốn cài đặt phpMyAdmin, đây là một công cụ quản lý cơ sở dữ liệu dựa trên web miễn phí.

You may also like

Leave a Comment