Cài đặt Nginx, MariaDB, PHP-FPM trên Ubuntu

Nginx

sudo apt install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx

Firewall Setup

sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
sudo ufw enable

SSL Let’s Encrypt

sudo apt install certbot
sudo systemctl status certbot.timer

# Standalone domain
sudo certbot certonly --standalone --agree-tos --preferred-challenges http -d domain-name.com

# Wildcard SSL
sudo certbot certonly --manual --agree-tos --preferred-challenges dns -d domain-name.com -d *.domain-name.com

MariaDB

sudo apt install mariadb-server -y
sudo mysql_secure_installation

Cần phải trả lời:

  • Mật khẩu hiện tại của root: Enter
  • Đặt mật khẩu cho root -> Enter. Nhập mật khẩu 2 lần
  • Gở bỏ user vô danh? -> Enter
  • Cấm đăng nhập từ xa vời root -> Enter
  • Xóa CSDL test? -> Enter
  • Nạp lại privilege tables? -> Enter
sudo mysql -u root -p

Để tạo mật khẩu, cần tạo chuỗi hash của mật khẩu:

SELECT PASSWORD('your_password');
+-------------------------------------------+
| PASSWORD('your_password')                 |
+-------------------------------------------+
| *9E72259BA9214F692A85B240647C4D95B0F2E08B |
+-------------------------------------------+

Đổi mật khẩu root:

ALTER USER root@localhost IDENTIFIED BY PASSWORD '*9E72259BA9214F692A85B240647C4D95B0F2E08B'

Khởi động lại MariaDB:

sudo service mariadb restart

PHP-FPM

Nginx uses PHP-FPM and for convenient, we use Ondrej Sury’s PPA, so we can install multiple versions of PHP.

sudo apt install -y php7.4 php7.4-fpm php7.4-curl php7.4-gd php7.4-json php7.4-mbstring php7.4-mysql php7.4-opcache php7.4-xml php7.4-xmlrpc php7.4-common php-imagick php-pear

sudo service php7.4-fpm start

Cấu hình Nginx và PHP-FPM

1. nano /etc/nginx/nginx.conf

Bỏ ký tự # trước các dòng sau:.

keepalive_timeout 2;
server_tokens off;

Ctr+X, Y để cất file

2. nano /etc/nginx/sites-available/default

Sửa nhóm location ~ \.php$ thành như sau:

location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}

Ctr+X, Y để cất file

Kiểm tra cấu hình nginx:

sudo nginx -t

Restart nginx

sudo systemctl reload nginx

Cấu hình PHP-FPM

Tìm đến thư mục /etc/php/7.4/fpm và sửa php.ini

cgi.fix_pathinfo=0

Ctr+X, Y để cất file

Khởi động lại PHP-FPM

sudo service php7.4-fpm restart

Cấu hình SSL

Trong /etc/nginx/site-avalable/domain-name.com thêm vào khối server

ssl_certificate       /etc/letsencrypt/live/domain-name.com/fullchain.pem;
ssl_certificate_key   /etc/letsencrypt/live/domain-name.com/privkey.pem;

Khởi động lai nginx

Comments Off on Cài đặt Nginx, MariaDB, PHP-FPM trên Ubuntu

Filed under Software

Comments are closed.