Bước 5: Tạo Virtual Host Apache hoặc Tệp Cấu Hình Nginx Cho Shlink
Apache: Nếu bạn sử dụng máy chủ web Apache, hãy tạo một virtual host cho Shlink.
bashCopy code
sudo nano /etc/apache2/sites-available/shlink.conf
Chèn đoạn văn bản sau vào tệp. Thay thế lnux.be bằng tên miền thực của bạn và đừng quên thiết lập bản ghi DNS A cho nó.
apacheCopy code
<VirtualHost *:80>
ServerName lnux.be
DocumentRoot /var/www/shlink/public
ErrorLog ${APACHE_LOG_DIR}/shlink_error.log
CustomLog ${APACHE_LOG_DIR}/shlink_access.log combined
<Directory /var/www/shlink/public>
Options FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
allow from all
</Directory>
Include /etc/apache2/conf-available/php8.0-fpm.conf
</VirtualHost>
Lưu và đóng tệp. Sau đó, kích hoạt virtual host này với:
bashCopy code
sudo a2ensite shlink.conf
Khởi động lại Apache để thay đổi có hiệu lực.
bashCopy code
sudo systemctl reload apache2
Nginx: Nếu bạn sử dụng máy chủ web Nginx, hãy tạo một virtual host cho Shlink.
bashCopy code
sudo nano /etc/nginx/conf.d/shlink.conf
Chèn đoạn văn bản sau vào tệp. Thay thế lnux.be bằng tên miền thực của bạn và đừng quên thiết lập bản ghi DNS A cho nó.
nginxCopy code
server {
listen 80;
listen [::]:80;
server_name lnux.be;
root /var/www/shlink/public;
error_log /var/log/nginx/shlink.error;
access_log /var/log/nginx/shlink.access;
index index.php index.html index.htm index.nginx-debian.html;
location / {
# try to serve file directly, fallback to app.php
try_files $uri /index.php$is_args$args;
}
# redirect some entire folders
rewrite ^/(vendor|translations|build)/.* /index.php break;
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php8.0-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Lưu và đóng tệp. Sau đó kiểm tra cấu hình Nginx.
bashCopy code
sudo nginx -t
Nếu kiểm tra thành công, khởi động lại Nginx để thay đổi có hiệu lực.
bashCopy code
sudo systemctl reload nginx
Bước 6: Kích hoạt HTTPS
Để mã hóa lưu lượng HTTP, chúng ta có thể kích hoạt HTTPS bằng cách cài đặt chứng chỉ TLS miễn phí từ Let’s Encrypt. Chạy lệnh sau để cài đặt client Let’s Encrypt (certbot) trên máy chủ Ubuntu 20.04.
bashCopy code
sudo apt install certbot
Nếu bạn sử dụng Apache, hãy cài đặt plugin Certbot cho Apache.
bashCopy code
sudo apt install python3-certbot-apache
Và chạy lệnh này để nhận và cài đặt chứng chỉ TLS.
bashCopy code
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d lnux.be
Nếu bạn sử dụng Nginx, bạn cũng cần cài đặt plugin Certbot cho Nginx.
bashCopy code
sudo apt install python3-certbot-nginx
Tiếp theo, chạy lệnh sau để nhận và cài đặt chứng chỉ TLS.
bashCopy code
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d lnux.be
Trong đó:
--nginx
: Sử dụng plugin cho Nginx.
--apache
: Sử dụng plugin cho Apache.
--agree-tos
: Đồng ý với điều khoản dịch vụ.
--redirect
: Bắt buộc HTTPS bằng chuyển hướng 301.
--hsts
: Thêm tiêu đề Strict-Transport-Security vào mọi phản hồi HTTP. Bắt buộc trình duyệt luôn sử dụng TLS cho miền. Bảo vệ trước SSL/TLS Stripping.
--staple-ocsp
: Kích hoạt OCSP Stapling. Một câu trả lời OCSP hợp lệ được kết hợp với chứng chỉ mà máy chủ cung cấp trong quá trình TLS.
Chứng chỉ hiện nay nên đã được nhận và tự động cài đặt.
Bước 7: Tạo Đường Link Ngắn
Đầu tiên, bạn cần tạo một khóa API với lệnh sau.
bashCopy code
sudo -u www-data php8.0 /var/www/shlink/bin/cli api-key:generate
Sau đó, truy cập https://app.shlink.io/ để thêm máy chủ của bạn.
Khi bạn thêm máy chủ của mình, bạn có thể tạo đường link ngắn.
Lưu ý rằng đây chỉ là một trình duyệt web. Đường link ngắn được lưu trữ trên máy chủ của bạn.
Bạn cũng có thể tạo đường link ngắn từ dòng lệnh trên máy chủ của bạn.
bashCopy code
sudo -u www-data /var/www/shlink/bin/cli short-url:generate
Liệt kê đường link ngắn.
bashCopy code
sudo -u www-data /var/www/shlink/bin/cli short-url:list