GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal Shortener URL Shlink di Server Ubuntu 20.04

Shlink adalah penyingkat URL self-hosted open-source, yang memungkinkan Anda untuk mempersingkat URL dan menyajikannya di bawah domain pendek Anda sendiri. Menggunakan layanan penyingkat URL Anda sendiri alih-alih layanan pihak ketiga seperti bit.ly dapat meningkatkan kesadaran merek. Tutorial ini akan menunjukkan cara menginstal Shlink di Ubuntu 20.04 dengan server web Apache atau Nginx.

Fitur Shlink

  • Statistik kunjungan :Lacak semua kunjungan ke URL singkat Anda, termasuk statistik seperti lokasi, browser, atau perujuk.
  • Pelacakan email :Menghasilkan gambar transparan 1 piksel yang dapat digunakan untuk melacak email.
  • Integrasi pihak ketiga :Mudah membuat alat pihak ketiga menggunakan shlink untuk mempersingkat URL dengan menggunakan titik akhir API permintaan tunggal.
  • Siput Khusus :Jadikan URL singkat Anda menggunakan siput khusus untuk mengidentifikasi kampanye dengan mudah.
  • Kode QR :Buat kode QR dengan cepat yang menunjuk ke URL pendek Anda
  • Pratinjau :Dapatkan pratinjau dalam format gambar untuk URL pendek apa pun
  • Tag :Beri tag pada URL pendek Anda dan klasifikasikan untuk analisis selanjutnya
  • Akses terbatas :Batasi akses ke URL pendek, menurut rentang tanggal dan/atau jumlah kunjungan maksimum.
  • Impor pihak ketiga :Impor URL pendek Anda yang ada dari pihak ketiga seperti bit.ly.
  • Baris perintah dan antarmuka web.

Prasyarat menginstal Shlink di Server Ubuntu 20.04

Shlink ditulis dalam PHP dan bergantung pada server database MySQL/MariaDB atau PostgreSQL, jadi Anda perlu menyiapkan tumpukan LAMP atau tumpukan LEMP. Jika Anda lebih suka server web Apache, atur tumpukan LAMP.

  • Cara Memasang LAMP Stack di Server/Desktop Ubuntu 20.04

Jika Anda lebih suka server web Nginx, maka siapkan tumpukan LEMP.

  • Cara Memasang LEMP Stack (Nginx, MariaDB, PHP7.4) di Ubuntu 20.04 LTS

Anda juga memerlukan nama domain. Saya mendaftarkan nama domain saya dari NameCheap karena harganya rendah dan mereka memberikan perlindungan privasi whois gratis seumur hidup. Dalam tutorial ini, saya menggunakan lnux.be my nama domain sebagai contoh. Tanpa basa-basi lagi, mari kita instal Shlink di server Ubuntu 20.04.

Langkah 1:Unduh Shlink ke Server Ubuntu 20.04 Anda

Buka halaman Shlink Github untuk memeriksa versi stabil terbaru. Anda dapat mengunduh versi stabil terbaru (2.6.2) dengan menjalankan perintah berikut di server Anda.

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

Catatan :Jika versi baru keluar, cukup ganti 2.6.2 dengan nomor versi baru.

File akan disimpan sebagai shlink2.6.2_php8.0_dist.zip . Gunakan unzip perintah unzip ke /var/www/ direktori.

sudo apt install unzip

sudo mkdir -p /var/www/

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

Sekarang file disimpan di bawah /var/www/shlink2.6.2_php8.0_dist/ , kami mengganti namanya untuk membuatnya lebih sederhana.

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

Kemudian buat pengguna server web (www-data ) sebagai pemilik direktori ini.

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

Langkah 2:Buat Database dan Pengguna MariaDB untuk Shlink

Sekarang kita perlu masuk ke konsol MariaDB dan membuat database dan pengguna untuk Shlink. Secara default, paket MariaDB di Ubuntu menggunakan unix_socket untuk mengautentikasi login pengguna, yang pada dasarnya berarti Anda dapat menggunakan nama pengguna dan kata sandi OS untuk masuk ke konsol MariaDB. Jadi Anda dapat menjalankan perintah berikut untuk login tanpa memberikan kata sandi root MariaDB.

sudo mysql -u root

Selanjutnya, buat database baru untuk Shlink menggunakan perintah berikut. Tutorial ini menamakannya shlink , Anda dapat menggunakan nama apa pun yang Anda suka untuk database.

CREATE DATABASE shlink;

Perintah berikut akan membuat pengguna database dan kata sandi, dan pada saat yang sama memberikan semua izin database baru kepada pengguna baru sehingga nanti Shlink dapat menulis ke database. Ganti teks merah dengan nama database, nama pengguna, dan kata sandi pilihan Anda.

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

Hapus tabel hak istimewa dan keluar dari konsol MariaDB.

FLUSH PRIVILEGES;

EXIT;

Langkah 3:Instal PHP8.0 dan Beberapa Ekstensi

Karena kami mengunduh Shlink versi PHP 8, kami perlu menginstal PHP8. Repositori Ubuntu 20.04 termasuk PHP7.2. Untuk menginstal PHP8.0 di Ubuntu 20.04, kita perlu menambahkan PPA.

sudo apt install software-properties-common

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

Kemudian instal PHP8.0 dan ekstensi yang dibutuhkan oleh Shlink.

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

Jika Anda menggunakan Apache server web, Anda perlu menjalankan perintah berikut untuk membuatnya menggunakan PHP8.0-FPM.

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

Kemudian restart Apache.

sudo systemctl restart apache2

Langkah 4:Jalankan Skrip Instal Shlink

Jalankan skrip instalasi PHP sebagai www-data pengguna.

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

Wizard penyiapan akan meminta Anda memasukkan detail basis data. Jadi saya memilih MariaDB sebagai tipe database, kemudian masukkan nama database, user dan password. Hostnya adalah localhost dan portnya adalah 3306 . Shlink juga dapat terhubung ke server database melalui soket Unix. Jika Anda menggunakan MariaDB, lokasi soketnya adalah /var/run/mysqld/mysqld.sock di server Ubuntu.

Selanjutnya, masukkan domain default untuk penyingkat URL Anda dan pilih jenis skema (https ). Kemudian jawab beberapa pertanyaan sederhana.

Jika Anda ingin menganalisis geolokasi pengunjung, Anda perlu menggunakan kunci lisensi GeoLite2 Anda sendiri, yang gratis. Untuk mendapatkan kunci lisensi, buat akun di MaxMind. Maxmind akan mengirimi Anda email. Klik tautan di email untuk mengatur kata sandi, lalu masuk ke akun MaxMind Anda. Selanjutnya, pilih My License Key di bilah kiri.

Klik Buat Kunci Lisensi Baru tombol.

Beri nama kunci lisensi Anda. Kemudian pilih No , karena kita tidak perlu menggunakan geoipupdate program. Kemudian klik tombol Confirm tombol.

Setelah kunci lisensi dibuat, salin kunci lisensi dan tempel di wizard pengaturan Shlink. Kemudian Anda dapat memilih untuk menganonimkan alamat IP pengunjung dan menyetel jenis pengalihan (302 atau 301).

Kemudian konfigurasikan pengalihan untuk kasus anomali. Ketika pengunjung menekan URL dasar Shlink saya (https://lnux.be), mereka akan diarahkan ke situs web saya. Anda juga dapat membuat URL khusus untuk 404 halaman tidak ditemukan.

Terakhir, konfigurasikan aplikasi. Saya cukup tekan Enter untuk menggunakan pengaturan default.

Langkah 5:Buat Apache Virtual Host atau File Konfigurasi Nginx untuk Shlink

Apache

Jika Anda menggunakan server web Apache, buat host virtual untuk Shlink.

sudo nano /etc/apache2/sites-available/shlink.conf

Masukkan teks berikut ke dalam file. Ganti lnux.be dengan nama domain asli Anda dan jangan lupa untuk mengatur catatan DNS A untuk itu.

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

Simpan dan tutup file. Kemudian aktifkan host virtual ini dengan:

sudo a2ensite shlink.conf

Muat ulang Apache agar perubahan diterapkan.

sudo systemctl reload apache2

Nginx

Jika Anda menggunakan server web Nginx, buat host virtual untuk Shlink.

sudo nano /etc/nginx/conf.d/shlink.conf

Masukkan teks berikut ke dalam file. Ganti lnux.be dengan nama domain asli Anda dan jangan lupa untuk mengatur catatan DNS A untuk itu.

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;
   }

}

Simpan dan tutup file. Kemudian uji konfigurasi Nginx.

sudo nginx -t

Jika pengujian berhasil, muat ulang Nginx agar perubahan diterapkan.

sudo systemctl reload nginx

Langkah 6:Mengaktifkan HTTPS

Untuk mengenkripsi lalu lintas HTTP, kita dapat mengaktifkan HTTPS dengan memasang sertifikat TLS gratis yang dikeluarkan dari Let's Encrypt. Jalankan perintah berikut untuk menginstal klien Let's Encrypt (certbot) di server Ubuntu 20.04.

sudo apt install certbot

Jika Anda menggunakan Apache , instal plugin Certbot Apache.

sudo apt install python3-certbot-apache

Dan jalankan perintah ini untuk mendapatkan dan menginstal sertifikat TLS.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d lnux.be

Jika Anda menggunakan Nginx , maka Anda juga perlu menginstal plugin Certbot Nginx.

sudo apt install python3-certbot-nginx

Selanjutnya, jalankan perintah berikut untuk mendapatkan dan menginstal sertifikat TLS.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d lnux.be

Dimana

  • --nginx :Gunakan plugin nginx.
  • --apache :Gunakan plugin Apache.
  • --agree-tos :Menyetujui persyaratan layanan.
  • --redirect :Memaksa HTTPS dengan pengalihan 301.
  • --hsts :Tambahkan header Strict-Transport-Security ke setiap respons HTTP. Memaksa browser untuk selalu menggunakan TLS untuk domain. Mempertahankan dari SSL/TLS Stripping.
  • --staple-ocsp :Mengaktifkan Stapel OCSP. Respons OCSP yang valid ditempelkan ke sertifikat yang ditawarkan server selama TLS.

Sertifikat sekarang harus diperoleh dan diinstal secara otomatis.

Langkah 7:Membuat Tautan Pendek

Pertama, Anda perlu membuat kunci API dengan perintah berikut.

sudo -u www-data php8.0 /var/www/shlink/bin/cli api-key:generate

Lalu buka https://app.shlink.io/ untuk menambahkan server Anda.

Setelah menambahkan server, Anda dapat membuat tautan pendek.

Perhatikan bahwa ini hanya klien web. URL pendek disimpan di server Anda sendiri.

Anda juga dapat membuat URL pendek dari baris perintah di server Anda.

sudo -u www-data /var/www/shlink/bin/cli short-url:generate

Cantumkan URL singkat.

sudo -u www-data /var/www/shlink/bin/cli short-url:list

Jalankan perintah berikut untuk melihat pesan bantuan.

sudo -u www-data php /var/www/shlink/bin/cli

Ubuntu
  1. Cara Menginstal MySQL di Ubuntu 18.04

  2. Cara Instal Zimbra 8.6 di Server Ubuntu 14.04

  3. Cara Menginstal Shortener URL Shlink dengan Nginx di Ubuntu 20.04

  1. Cara Memasang Server Minecraft di Ubuntu 18.04

  2. Cara Menginstal Nginx di Ubuntu 20.04

  3. Cara Menginstal MariaDB di Ubuntu 20.04

  1. Cara Menginstal Server VNC Di Ubuntu 14.04

  2. Cara Memasang Penyingkat URL Polr di Ubuntu 20.04

  3. Cara Instal OpenSIPS Server di Ubuntu 15.04