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ục chứ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


NGUYENCANHSON.COM
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


NGUYENCANHSON.COM
sudo chown www-data:www-data /var/www/lemp.damtrungkien.com/public_html
sudo chmod -R 755 /var/www
    
Thêm website vào LEMP Stack trên Ubuntu 22.04
Thêm website vào LEMP Stack trên Ubuntu 22.04 17
  • Tạo nhanh nội dung cho website

Ở đây mình sẽ tạo nhanh một file index.html cho website



NGUYENCANHSON.COM
sudo nano /var/www/lemp.damtrungkien.com/public_html/index.html
    

Thêm nội dung bên dưới và save lại.


  
    Welcome to LEMP Stack
  
  
    

Success! lemp.damtrungkien.com virtual host is working!

Bước 2: Tạo Virtual Host cho website mới

  • Tạo file Virtual Host và chỉnh sửa nội dung


NGUYENCANHSON.COM
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


NGUYENCANHSON.COM
nginx -t
systemctl restart nginx
    
Thêm website vào LEMP Stack trên Ubuntu 22.04
Thêm website vào LEMP Stack trên Ubuntu 22.04 18

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


NGUYENCANHSON.COM
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


NGUYENCANHSON.COM
sudo ufw allow 'Nginx Full'
    
  • Cài đặt SSL cho website


NGUYENCANHSON.COM
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): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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é.

Thêm website vào LEMP Stack trên Ubuntu 22.04
Thêm website vào LEMP Stack trên Ubuntu 22.04 19

Chúc các bạn thực hiện thành công.!