Hướng dẫn cài Nginx, MariaDB, PHP (LEMP) trên Centos 7

LEMP là gói các phần mềm để chạy webserver. LEMP biểu thị cho Linux, Nginx, MySQL và PHP. Nginx được sử dụng làm máy chủ web để lưu trữ ứng dụng trong khi MySQL được sử dụng làm kho lưu trữ dữ liệu có hệ thống của ứng dụng & PHP là ngôn ngữ lập trình phổ biến được sử dụng để phát triển web cũng như thu hẹp khoảng cách giữa ứng dụng và cơ sở dữ liệu.

Bạn sẽ cần quyền root để thực hiện các bước sau nên hãy dùng tài khoản root nhé

Bước 1. Update các Packages

yum install -y update

Bước 2. Cài repo EPEL

yum install epel-release -y

Bước 3. Cài và bật NGINX

yum install nginx -y
systemctl start nginx
systemctl enable nginx

Bước 4. Mở port firewall cho webserver

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

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

vi /etc/yum.repos.d/MariaDB.repo

Chèn đoạn sau và lưu lại:

[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.4.12/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

Chạy lệnh sau để tiến hành cài đặt các gói cần thiết

yum repolist
yum install MariaDB-server MariaDB-client MariaDB-devel -y

Start MariaDB và cho phép service tự khởi động khi bật máy chủ

systemctl start mariadb
systemctl enable mariadb

Tiến hành config MariaDB

mysql_secure_installation
#### Press Enter
#### Press Y and Enter
#### Enter new password
#### Re-enter new password
#### Press Y and Enter
#### Press Y and Enter
#### Press Y and Enter
#### Press Y and Enter

Bước 6. Cài đặt PHP phiên bản mới nhất và các gói cần thiết

yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum -y install yum-utils
yum-config-manager --enable remi-php74
yum update
yum install php php-cli php-mysql php-bcmath php-common php-devel php-embedded php-enchant php-mbstring php-mcrypt php-pdo php-xml -y

Bước 7. Tạo file config cho webserver

vi /etc/nginx/conf.d/default.conf

Chèn đoạn sau vào (nhớ thay routime.com bằng tên miền của bạn):

server {
listen   80;
server_name  routime.com;

# note that these lines are originally from the "location /" block
root   /usr/share/nginx/html;
index index.php index.html index.htm;

location / {
try_files $uri $uri/ =404;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}

location ~ .php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}

Bước 8. Thay đổi lại cấu hình php-fpm

sed -i 's/;listen = 127.0.0.1:9000/listen = \/var\/run\/php-fpm\/php-fpm.sock/g' /etc/php-fpm.d/www.conf

sed -i 's/user = apache/user = nginx/g' /etc/php-fpm.d/www.conf
sed -i 's/group = apache/group = nginx/g' /etc/php-fpm.d/www.conf

sed -i 's/listen.owner = nobody/listen.owner = nginx/g' /etc/php-fpm.d/www.conf
sed -i 's/listen.group = nobody/listen.group = nginx/g' /etc/php-fpm.d/www.conf

Bước 9. Khởi động lại các service

systemctl start php-fpm.service
systemctl enable php-fpm.service

systemctl restart nginx

Vậy là xong rồi đó, nếu có thắc mắc gì hãy comment, mình sẽ trả lời 🙂