Cài đặt LEMP Server trên Rocky Linux 8 và AlmaLinux 8

LEMP là từ viết tắt của Linux Nginx , MariaDB / MySQL và PHP . Nginx là một máy chủ web, MariaDB / MySQL là một ứng dụng quản lý cơ sở dữ liệu, PHP (Hypertext Pre-processor) là một ngôn ngữ lập trình được sử dụng trên phần phụ trợ để xây dựng các ứng dụng web. Tất cả phần mềm mã nguồn mở này tạo nên ngăn xếp LEMP được sử dụng chung để lưu trữ và phục vụ các trang web / ứng dụng trong chu kỳ sản xuất hoặc bất kỳ giai đoạn phát triển nào khác.

Phổ biến, ngăn xếp LEMP được sử dụng để lưu trữ các trang web có khả năng mở rộng cao với lưu lượng truy cập cao. Trong hướng dẫn này, chúng tôi sẽ hướng dẫn một cách hệ thống về cài đặt và cấu hình LEMP Stack trên Rocky Linux 8 / AlmaLinux 8.

Bắt đầu.

Đối với hướng dẫn này, bạn sẽ yêu cầu những điều sau:

  • Hệ thống Rocky Linux 8 | AlmaLinux 8.
  • Người dùng root (nếu là người dùng khác root có quyền root vui lòng thêm sudo trước mỗi lệnh)

Bắt đầu bằng cách cập nhật tất cả các gói có sẵn trên hệ thống của bạn như bên dưới.

sudo dnf update -y

Bạn có thể lựa chọn phiên bản thành phần (Nginx,MariaDB,PHP) thay vì sử dụng phiên bản mặc định theo hướng dẫn của bài viết này: https://icare24h.net/tuy-chon-phien-ban-nginx-php-mariadb-mac-dinh-khi-cai-dat-lemp-tren-almalinux-va-rockylinux/

Bước 1 – Cài đặt Nginx trên Rocky Linux 8 | AlmaLinux 8.

Máy chủ web mạnh mẽ này tồn tại trong kho lưu trữ Rocky Linux 8 | AlmaLinux 8 mặc định và có thể được cài đặt bằng lệnh bên dưới.

sudo dnf install -y nginx 

Sau khi cài đặt, hãy khởi động và cho phép máy chủ web Nginx chạy tự động khi khởi động.

sudo systemctl start nginx 
sudo systemctl enable nginx 

Cho phép HTTP và HTTPS thông qua tường lửa.

sudo firewall-cmd --permanent --add-service={http,https}
sudo firewall-cmd --reload

Bước 2 – Cài đặt Máy chủ MariaDB trên Rocky Linux 8 | AlmaLinux 8.

MariaDB có thể được cài đặt trên Rocky Linux 8 | AlmaLinux 8 như bên dưới.

sudo dnf -y install @mariadb

Khởi động và kích hoạt MariaDB trên Rocky Linux 8 | AlmaLinux 8.

sudo systemctl enable --now mariadb

Cấu hình cơ bản phiên bản MariaDB như bên dưới.

$ sudo mysql_secure_installation
Enter current password for root (enter for none): Press Enter
....
Set root password? [Y/n] y
New password: Enter Password
Re-enter new password: Re-Enter Password
......
Remove anonymous users? [Y/n] y
...
Disallow root login remotely? [Y/n] y
...
Remove test database and access to it? [Y/n] y
....
Reload privilege tables now? [Y/n] y
.....
Thanks for using MariaDB!

Đăng nhập vào vào MariaDB.

$ mysql -u root -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 16
Server version: 10.3.28-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
3 rows in set (0.000 sec)
MariaDB [(none)]> exit
Bye

Bước 3 – Cài đặt PHP trên Rocky Linux 8 | AlmaLinux 8.

Kho AppStream có nhiều phiên bản PHP có thể được liệt kê bằng cách sử dụng lệnh:

$ sudo dnf module list php
Last metadata expiration check: 0:46:56 ago on Thu 02 Jun 2022 04:34:24 AM +07.
AlmaLinux 8 - AppStream
Name                       Stream                         Profiles                                        Summary
php                        7.2 [d]                        common [d], devel, minimal                      PHP scripting language
php                        7.3                            common [d], devel, minimal                      PHP scripting language
php                        7.4                            common [d], devel, minimal                      PHP scripting language
php                        8.0 [e]                        common [d], devel, minimal                      PHP scripting language


Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled

Như đã thấy, phiên bản mặc định là PHP 7.2 và có thể được thiết lập sang PHP khác (VD: PHP8.0) như bên dưới.

dnf module reset php
dnf module enable php:8.0

Cài đặt PHP và các thành phần phụ trợ với lệnh dưới:

dnf install -y php php-fpm php-mysqlnd php-opcache php-gd php-xml php-mbstring php-zip

Bước 4 – Tạo VHost Nginx trên Rocky Linux 8 | AlmaLinux 8.

VHost Nginx cho phép một người chạy nhiều trang web bằng cách xác định thư mục gốc của tài liệu trang web. Các thư mục tài liệu gốc này chứa các tệp trang web.

Đối với hướng dẫn này, chúng tôi sẽ tạo một tệp khối máy chủ Nginx bằng cách sử dụng các bước bên dưới (lưu ý bạn cần trỏ A cho root hoặc sub domain về IP của máy chủ):

1. Tạo một thư mục trang web

Đây là bước đầu tiên, đảm bảo rằng bạn thay thế demo.icare24h.net bằng tên miền của mình.

sudo mkdir /var/www/demo.icare24h.net
sudo vim /var/www/demo.icare24h.net/index.html

Trong tệp, hãy thêm nội dung:

<html>
  <head>
    <title>Welcome to demo.icare24h.net!</title>
  </head>
  <body>
    <h1>Voila! The LEMP server is working perfectly!</h1>
  </body>
</html>

2. Tạo VHost Nginx cho trang web

Đây là một tệp cấu hình cho trang web. Nó giải thích cách Nginx sẽ phục vụ các yêu cầu.

sudo vim /etc/nginx/conf.d/demo.icare24h.net.conf

Thêm các dòng dưới đây vào tệp.

server {
  listen 80;
  listen [::]:80;
  server_name demo.icare24h.net www.demo.icare24h.net;
  root /var/www/demo.icare24h.net;
  index index.php index.html index.htm;



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

  location ~ \.php$ {
    fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
  }

  location ~ /\.ht {
    deny all;
  }
}

Khởi động lại tất cả dịch vụ cần thiết.

systemctl restart nginx
systemctl restart php-fpm

Bây giờ bạn có thể truy cập vào trang web trên để kiểm tra.

4. Cài đặt phpMyAdmin trên AlmaLinux

phpMyAdmin là một ứng dụng dùng để quản lý cơ sở dữ liệu dưới dạng giao diện. Giúp bạn quản lý Database trực quan hơn. Từ đó dễ dàng kiểm soát và quản lý. Để cài đặt phpMyAdmin trên domain pma.icare24h.net bạn hãy thực hiện như sau (lưu ý bạn cần trỏ A cho pma.icare24h.net về IP của máy chủ):

Kích hoạt EPEL và REMI repository

dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm -y
dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm -y
dnf install http://rpms.remirepo.net/enterprise/8/remi/x86_64/php-fedora-autoloader-1.0.0-5.el8.remi.noarch.rpm -y

Cài đặt phpMyAdmin

dnf --enablerepo=remi install phpMyAdmin -y

Tạo vhost

vi /etc/nginx/conf.d/phpmyadmin.conf

Sau đó bạn nhập vào nội dung sau

server {
  listen 80;
  listen [::]:80;
  server_name pma.icare24h.net;
  root /usr/share/phpMyAdmin;
  index index.php index.html index.htm;

  access_log /var/log/nginx/phpmyadmin_access.log;
  error_log /var/log/nginx/phpmyadmin_error.log;

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

  location ~ ^/(doc|sql|setup)/ {
    deny all;
  }

  location ~ \.php$ {
    fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
  }

  location ~ /\.ht {
    deny all;
  }
}

Khởi động lại dịch vụ

systemctl restart php-fpm
systemctl restart nginx

Truy cập pma.icare24h.net để kiểm tra.

Kết luận

Bàn viết trên đã giúp bạn cài đặt được LEMP Server cơ bản trên AlmaLinux 8 và Rocky Linux 8. Nếu thấy hay đừng quên like share bài viết để ủng hộ icare24h nhé.

Đề xuất cho bạn

Về tác giả: Vương Công Minh

Nếu bạn đang cần Hosting Wordpress nhanh và mạnh. Tôi khuyến nghị bạn tham khảo Bnix.vn - Nhà cung cấp Hosting/VPS/Server Chuyên Nghiệp Hàng Đầu Việt Nam. Đây là nhà cung cấp đang cung cấp hạ tầng để vận hành ICare24H. Bạn có thể trực tiếp trải nghiệm tốc độ Hosting trên trang web Icare24H và đừng quên dùng mã giảm giá ICARE24H để được giảm giá lên đến 49% cho tất cả các dịch vụ nhé.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *