Nội dung bài viết
Giới thiệu
Ở bài viết trước mình đã hướng dẫn các bạn Cài đặt LEMP Stack trên Ubuntu 22.04, thì để tiếp tục Series về LEMP Stack thì ở bài viết này mình sẽ hướng dẫn các bạn cách thêm một website mới vào LEMP Stack vô cùng đơn giản. Mời các bạn xem tiếp phần thực hiện bên dưới nhé.
Hướng dẫn thực hiện
Lưu ý: Bạn nhớ thay lemp.damtrungkien.com bằng tên website của bạn. Và Domain phải được trỏ về IP máy chủ.
Đầu tiên hãy SSH vào máy chủ LEMP Stack của bạn và thực hiện lần lượt các bước sau
Bước 1: Tạo thư mụcchứa dữ liệu website
Ví dụ ở bài viết này mình sẽ làm demo với website có tên lemp.damtrungkien.com thì cấu trúc tạo sẽ như sau
- Tạo thư mục lưu dữ liệu website
sudo mkdir -p /var/www/lemp.damtrungkien.com/public_html
- Phân quyền User và các quyền đọc ghi cho thư mục website, ở đây mình set www-data
sudo chown www-data:www-data /var/www/lemp.damtrungkien.com/public_html sudo chmod -R 755 /var/www
- Tạo nhanh nội dung cho website
Ở đây mình sẽ tạo nhanh một file index.html cho website
sudo nano /var/www/lemp.damtrungkien.com/public_html/index.html
Thêm nội dung bên dưới và save lại.
<html>
<head>
<title>Welcome to LEMP Stack</title>
</head>
<body>
<h1>Success! lemp.damtrungkien.com virtual host is working!</h1>
</body>
</html>
Bước 2: Tạo Virtual Host cho website mới
- Tạo file Virtual Host và chỉnh sửa nội dung
sudo nano /etc/nginx/conf.d/lemp.damtrungkien.com.conf
Thêm nội dung bên dưới vào
server {
listen 80;
server_name example.com;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
root /var/www/html/;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Trong đó:
- server_name: Nhập tên miền của bạn
- root: Đường dẫn Document root của website
- fastcgi_pass: Đường dẫn của file sock php-fpm (Để xem đường dẫn bạn mở file theo dẫn
/etc/php/8.1/fpm/pool.d/www.conf
và để xem ở phần listen)
Và dưới đây là nội dung File Vhost của mình.
- Kiểm tra cấu hình và khởi động lại Nginx
nginx -t systemctl restart nginx
Bước 3: Cài đặt SSL cho website
Để website được bảo mật và nhìn chuyên nghiệp hơn, các bạn nên cài đặt SSL cho website của mình. Và mình sẽ cài đặt SSL thông qua công cụ tự động Cerbot với các lệnh sau
- Cài đặt Cerbot Nginx
sudo apt install -y certbot python3-certbot-nginx
- Cho phép ‘Nginx Full’ thông qua tường lửa, để sử dụng cả HTTP & HTTPS
sudo ufw allow 'Nginx Full'
- Cài đặt SSL cho website
sudo certbot --nginx -d lemp.damtrungkien.com
root@lemp-stack:~# sudo certbot --nginx -d lemp.damtrungkien.com
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Enter email address (used for urgent renewal and security notices)
(Enter 'c' to cancel): admin@damtrungkien.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server. Do you agree?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing, once your first certificate is successfully issued, to
share your email address with the Electronic Frontier Foundation, a founding
partner of the Let's Encrypt project and the non-profit organization that
develops Certbot? We'd like to send you email about our work encrypting the web,
EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: N
Account registered.
Requesting a certificate for lemp.damtrungkien.com
Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/lemp.damtrungkien.com/fullchain.pem
Key is saved at: /etc/letsencrypt/live/lemp.damtrungkien.com/privkey.pem
This certificate expires on 2022-10-05.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.
Deploying certificate
Successfully deployed certificate for lemp.damtrungkien.com to /etc/nginx/conf.d/lemp.damtrungkien.com.conf
Your existing certificate has been successfully renewed, and the new certificate has been installed.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If you like Certbot, please consider supporting our work by:
* Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
* Donating to EFF: https://eff.org/donate-le
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Bước 4: Kiểm tra hoạt động website
Sau khi các bạn đã cấu hình hoàn tất, bây giờ các bạn có thể ra trình duyệt và truy cập với tên miền đã cấu hình trước đó để kiểm tra. Nếu truy cập ra nội dung bên dưới là đã thành công rồi nhé.
Chúc các bạn thực hiện thành công.!