Cài đặt LEMP (Linux + Nginx + MariaDB + PHP) trên CentOS 7

Cài đặt LEMP (Linux + Nginx + MariaDB + PHP) trên CentOS 7

Bài viết này mình sẽ hướng dẫn các bạn cài đặt LEMP trên Linux Centos 7

LEMP gồm có:

  • Linux OS
  • Engine X (Nginx)
  • MariaDB(Database)
  • PHP (bài viết này sẽ cài đặt gói php 5.6)

Cài đặt Nginx

Cập nhật VPS/Server

yum -y update

Thêm Yum repository

 yum install epel-release
 rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
 rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

Cài đặt Nginx

yum -y install nginx

Tự chạy Nginx khi khởi động máy

systemctl enable nginx.service

Khởi động dịch vụ Nginx

systemctl start nginx.service

Nếu đã cài httpd thì tắt nó bằng lệnh

systemctl disable httpd.service

Kiểm tra dịch vụ web đã hoạt động chưa bằng cách vào trình duyệt gõ http://tên domain hoặc IP/

Nếu trả về kết quả sau là đã cài Nginx thành công


[quangcao]

Cài đặt PHP 5.6

Để cài đặt php 5.6 bạn thực hiện lệnh:

yum --enablerepo=remi,remi-php56 install -y php-fpm php-common

Cài đặt các PHP module

yum --enablerepo=remi,remi-php56 install -y php-opcache php-pecl-apcu php-cli php-pear php-pdo php-mysqlnd php-pgsql php-pecl-mongo php-pecl-sqlite php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml memcached

Khởi động PHP-FPM

systemctl start php-fpm.service

Tự động khởi động PHP-FPM khi bật máy

systemctl enable php-fpm.service

Sau khi cài đặt xong Nginx và PHP ta tiến hành cấu hình để Nginx và PHP-FPM kết nối với nhau 😀

Cấu hình Nginx

Sửa file /etc/nginx/nginx.conf, sửa worker_processes bằng với số CPU của máy chủ.

Sửa file /etc/nginx/conf.d/default.conf như sau:

 

Thay IP/Domain name bằng IP hoặc tên miền của bạn.

Sửa phần location thành:

location / {
    root /usr/share/nginx/html;
    index index.php index.html index.htm;
    try_files $uri $uri/ /index.php?q=$uri&$args;
 }

Các bạn lưu ý đường dẫn mặc định của nginx là /usr/share/nginx/html ở trên mình đã thay đường dẫn mặc định về /home/nginx/html để dễ quản lý. Nếu bạn thay đổi đường dẫn như cấp quyền sở hữu thư mục đó cho nginx bằng lệnh

chown nginx:nginx /đường dẫn/ * ví dụ: chown nginx:nginx /home/nginx/html/ *

Cấu hình PHP-FPM

Sửa file /etc/php-fpm.d/www.conf

Thay user = apache và group = apache bằng nginx.

Nếu dùng vi để chỉnh sửa bạn có thể tìm kiếm user bằng cách bấm phím / rồi gõ user sau đó enter để tìm kiếm. Nếu dùng nano thì gõ Ctrl + W rồi gõ từ cần tìm

Sau khi cấu hình xong ta khởi động lại PHP-FPM và Nginx

systemctl restart php-fpm.service

systemctl restart nginx.service

Kiểm tra php đã hoạt động chưa bằng cách tạo file info.php ở thư mục gốc website. Thư mục gốc của mình là /home/nginx/html thì sẽ tạo như sau:

nano /home/nginx/html/info.php

Nội dung file:

<?php phpinfo(); ?>

Lưu lại và bạn có thể vào địa chỉ IP hoặc domain để chạy thử website.

http://IP/info.php

Nếu ra kết quả tương tự như sau là php đã hoạt động tốt rồi đấy


[quangcao1]
Lưu ý: nếu bạn truy cập thẳng vào IP hoặc khi khởi động lại VPS mà báo lỗi không kết nối được thì hãy open port http và https

Xem thêm Hướng dẫn cấu hình tường lửa trên centos 6/7

yum install -y iptables-services
systemctl start iptables.service
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
iptables -I INPUT -p tcp --dport 443 -j ACCEPT
systemctl enable iptables
service iptables save
systemctl restart iptables.service

Cài đặt MariaDB

Cài đặt MariaDB bằng lệnh:

yum install -y mariadb mariadb-server

Khởi động MariaDB và tự động chạy bật máy:

systemctl start mariadb.service
 systemctl enable mariadb.service

Cấu hình MariaDB

Sử dụng lệnh sau để cấu hình:

/usr/bin/mysql_secure_installation

Vì mật khẩu ban đầu trống nên bạn Enter để tiến hành cấu hình.

y để cài mật khẩu cho user root. Sau khi cài xong mật khẩu các câu hỏi tiếp theo gõ y để hoàn thành cấu hình MariaDB

Set root password? [Y/n] y
 New password:
 Re-enter new 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

Đăng nhập vào MySQL bằng lệnh:

mysql -u root -p

gõ mật khẩu vừa cài để đăng nhập

Tạo cơ sở dữ liệu dùng lệnh:

CREATE DATABASE tên_CSDL;

Tạo user mới:

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

Cấp quyền cho user truy cập database

GRANT ALL PRIVILEGES ON tên_CSDL.* TO newuser@localhost IDENTIFIED BY 'password';

Trên đây là cách cài LEMP cho Centos 7. Chúc các bạn thành công.

Xem thêm các bài viết về Thủ thuật Linux