Shlink URL Shortener công cụ mạnh mẽ giúp bạn rút gọn đường link một cách dễ dàng

Shlink URL Shortener là một công cụ mạnh mẽ giúp bạn rút gọn đường link một cách dễ dàng và cung cấp nhiều tính năng hữu ích để theo dõi và quản lý các đường link ngắn của bạn. Dưới đây là một số tính năng chính của Shlink:

  1. Thống kê Lượt Truy Cập:
  • Theo dõi tất cả các lượt truy cập đến đường link ngắn của bạn.
  • Cung cấp thống kê chi tiết như địa điểm, trình duyệt sử dụng và nguồn chuyển hướng.
  1. Theo dõi Email:
  • Tạo một hình ảnh trong suốt có kích thước 1px để theo dõi các email.
  • Giúp bạn đánh giá hiệu suất của chiến dịch email marketing của mình.
  1. Tích hợp Dễ Dàng với Công Cụ Bên Thứ Ba:
  • Cho phép tích hợp dễ dàng với các công cụ bên thứ ba bằng cách sử dụng một điểm cuối API đơn lẻ.
  • Đảm bảo sự linh hoạt khi sử dụng các ứng dụng và dịch vụ khác.
  1. Đường Link Tùy Chỉnh:
  • Tạo đường link ngắn sử dụng slug tùy chỉnh để dễ dàng xác định chiến dịch hoặc mục đích cụ thể.
  1. Mã QR:
  • Tự động tạo mã QR trỏ đến đường link ngắn của bạn.
  • Hỗ trợ dễ dàng chia sẻ đường link qua các phương tiện offline.
  1. Xem Trước:
  • Nhận xem trước định dạng ảnh cho bất kỳ đường link ngắn nào.
  • Tăng tính thẩm mỹ và tương tác khi chia sẻ trên các nền tảng xã hội.
  1. Gắn Thẻ:
  • Gắn thẻ cho đường link ngắn của bạn để phân loại và thuận tiện cho việc phân tích sau này.
  1. Giới Hạn Truy Cập:
  • Hạn chế quyền truy cập đường link ngắn dựa trên khoảng thời gian cụ thể và/hoặc số lần truy cập tối đa.
  1. Nhập Các Đường Link Từ Bên Thứ Ba:
  • Dễ dàng nhập các đường link ngắn đã tồn tại từ các dịch vụ như bit.ly.
  1. Giao Diện Dòng Lệnh và Giao Diện Web:
  • Cung cấp cả giao diện dòng lệnh và giao diện web để thuận tiện cho việc quản lý và theo dõi.

Shlink là một giải pháp toàn diện cho việc quản lý đường link ngắn của bạn với nhiều tính năng mạnh mẽ để theo dõi và tối ưu hóa chiến lược của bạn.

Hướng dẫn cài đặt: How to Install Shlink URL Shortener on Ubuntu 20.04 Server
Bước 1: Tải và Cài Đặt Shlink Trên Máy Chủ Ubuntu 20.04

Truy cập trang Github của Shlink để kiểm tra phiên bản ổn định mới nhất. Bạn có thể tải phiên bản ổn định mới nhất (2.6.2) bằng cách thực hiện lệnh sau trên máy chủ của bạn.

bashCopy code

wget https://github.com/shlinkio/shlink/releases/download/v2.6.2/shlink2.6.2_php8.0_dist.zip

Lưu ý: Nếu có phiên bản mới, đơn giản thay thế 2.6.2 bằng số phiên bản mới. File sẽ được lưu dưới dạng shlink2.6.2_php8.0_dist.zip. Sử dụng lệnh unzip để giải nén nó vào thư mục /var/www/.

bashCopy code

sudo apt install unzip

sudo mkdir -p /var/www/

sudo unzip shlink2.6.2_php8.0_dist.zip -d /var/www/

Bây giờ các file được lưu trữ trong /var/www/shlink2.6.2_php8.0_dist/. Đổi tên nó để đơn giản hóa.

bashCopy code

sudo mv /var/www/shlink2.6.2_php8.0_dist/ /var/www/shlink

Sau đó, đặt người dùng của máy chủ web (www-data) làm chủ sở hữu của thư mục này.

bashCopy code

sudo chown -R www-data:www-data /var/www/shlink/

Bước 2: Tạo Cơ Sở Dữ Liệu và Người Dùng MariaDB Cho Shlink

Bây giờ chúng ta cần đăng nhập vào console MariaDB và tạo một cơ sở dữ liệu và người dùng cho Shlink. Theo mặc định, gói MariaDB trên Ubuntu sử dụng unix_socket để xác thực đăng nhập người dùng, điều này đồng nghĩa bạn có thể sử dụng tên người dùng và mật khẩu của hệ điều hành để đăng nhập vào console MariaDB. Chạy lệnh sau để đăng nhập mà không cần cung cấp mật khẩu root MariaDB.

bashCopy code

sudo mysql -u root

Tiếp theo, tạo một cơ sở dữ liệu mới cho Shlink bằng lệnh sau. Trong hướng dẫn này, tên là shlink, bạn có thể sử dụng bất kỳ tên nào bạn muốn cho cơ sở dữ liệu.

sqlCopy code

CREATE DATABASE shlink;

Lệnh sau sẽ tạo một người dùng và mật khẩu cho cơ sở dữ liệu, đồng thời cấp quyền truy cập đầy đủ của cơ sở dữ liệu mới cho người dùng để sau này Shlink có thể ghi vào cơ sở dữ liệu. Thay thế văn bản đỏ bằng tên cơ sở dữ liệu, tên người dùng và mật khẩu ưa thích của bạn.

sqlCopy code

GRANT ALL ON shlink.* TO 'shlink'@'localhost' IDENTIFIED BY 'password';

Làm mới bảng quyền và thoát khỏi console MariaDB.

sqlCopy code

FLUSH PRIVILEGES;

EXIT;

Bước 3: Cài Đặt PHP 8.0 và Một Số Extensions

Vì chúng ta đã tải bản PHP 8 của Shlink, cần cài đặt PHP 8. Kho lưu trữ Ubuntu 20.04 bao gồm PHP 7.2. Để cài đặt PHP 8.0 trên Ubuntu 20.04, chúng ta cần thêm một PPA.

bashCopy code

sudo apt install software-properties-common

sudo add-apt-repository ppa:ondrej/php -y

Sau đó cài đặt PHP 8.0 và các extension cần thiết cho Shlink.

bashCopy code

sudo apt install php-apcu php8.0 php8.0-fpm php8.0-mysql php8.0-gd php8.0-common php8.0-curl php8.0-intl php8.0-gmp php8.0-xml

Nếu bạn sử dụng máy chủ web Apache, chạy các lệnh sau để sử dụng PHP 8.0-FPM.

bashCopy code

sudo a2dismod mpm_prefork
sudo a2enmod mpm_event proxy_fcgi setenvif
sudo a2enconf php8.0-fpm

Sau đó khởi động lại Apache.

bashCopy code

sudo systemctl restart apache2

Bước 4: Chạy Script Cài Đặt Shlink

Chạy script cài đặt PHP với người dùng www-data.

bashCopy code

sudo -u www-data php8.0 /var/www/shlink/bin/install

Hướng dẫn cài đặt sẽ yêu cầu bạn nhập chi tiết cơ sở dữ liệu. Chọn MariaDB làm loại cơ sở dữ liệu, sau đó nhập tên cơ sở dữ liệu, người dùng và mật khẩu. Host là localhost và cổng là 3306. Shlink cũng có thể kết nối với máy chủ cơ sở dữ liệu qua Unix socket. Nếu bạn sử dụng MariaDB, vị trí socket là /var/run/mysqld/mysqld.sock trên máy chủ Ubuntu.

Tiếp theo, nhập miền mặc định cho URL ngắn của bạn và chọn loại giao thức (https). Sau đó trả lời một số câu hỏi đơn giản.

Nếu bạn muốn phân tích địa lý của khách truy cập, bạn cần sử dụng khóa cấp phép GeoLite2 của riêng mình, miễn phí. Để nhận khóa cấp phép, tạo một tài khoản tại MaxMind. Maxmind sẽ gửi cho bạn một email. Nhấp vào liên kết trong email để đặt mật khẩu, sau đó đăng nhập vào tài khoản MaxMind của bạn. Tiếp theo, chọn My License Key trên thanh bên trái.

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