GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal Shortener URL Shlink dengan Nginx di Ubuntu 20.04

Shlink adalah penyingkat URL open-source dan self-hosted yang ditulis dalam PHP. Ini digunakan untuk menghasilkan dan mengelola URL pendek dari baris perintah. Ini memungkinkan Anda untuk melacak semua kunjungan URL pendek Anda termasuk, lokasi, browser, atau perujuk. Itu dapat diintegrasikan dengan alat pihak ketiga menggunakan API Shlink. Ini menyediakan antarmuka baris perintah untuk mempersingkat URL.

Dalam tutorial ini, saya akan menunjukkan cara menginstal Shlink di Ubuntu 20.04.

Prasyarat

  • Server yang menjalankan Ubuntu 20.04.
  • Nama domain valid yang ditunjukkan dengan IP server Anda.
  • Kata sandi root dikonfigurasi di server.

Memulai

Pertama, perbarui paket sistem ke versi yang diperbarui dengan menjalankan perintah berikut:

apt-get update -y

Setelah semua paket diperbarui, Anda dapat melanjutkan ke langkah berikutnya.

Instal Server LEMP

Pertama, instal Nginx, PHP, MariaDB dan paket lain yang diperlukan dengan perintah berikut:

apt-get install nginx mariadb-server php-apcu php7.4 php7.4-fpm php7.4-mysql php7.4-gd php7.4-common php7.4-curl php7.4-intl php7.4 -gmp php7.4-xml php-dev php-pear unzip -y

Setelah semua paket terinstal, Anda dapat melanjutkan ke langkah berikutnya.

Shlink menggunakan MariaDB sebagai backend database. Jadi, Anda perlu membuat database dan pengguna untuk Shlink. Pertama, sambungkan ke MariaDB dengan perintah berikut:

mysql

Setelah terhubung, buat database dan pengguna dengan perintah berikut:

MariaDB [(none)]> BUAT DATABASE shlink;
MariaDB [(none)]> GRANT ALL ON shlink.* TO 'shlink'@'localhost' DIIDENTIFIKASI DENGAN 'password';

Selanjutnya, flush hak istimewa dan keluar dari MariaDB dengan perintah berikut:

MariaDB [(none)]> HAK ISTIMEWA;
MariaDB [(none)]> EXIT;

Pertama, unduh versi terbaru Shlink dari halaman unduhan resmi mereka:

wget https://github.com/shlinkio/shlink/releases/download/v2.7.1/shlink2.7.1_php7.4_dist.zip

Setelah unduhan selesai, unzip file yang diunduh dengan perintah berikut:

unzip shlink2.7.1_php7.4_dist.zip

Selanjutnya, pindahkan direktori hasil ekstrak ke direktori root web Nginx:

mv shlink2.7.1_php7.4_dist /var/www/html/shlink

Selanjutnya, atur izin dan kepemilikan yang tepat dengan perintah berikut:

chown -R www-data:www-data /var/www/html/shlink/
chmod -R 755 /var/www/html/shlink/

Selanjutnya, jalankan perintah berikut untuk memulai instalasi:

sudo -u www-data php7.4 /var/www/html/shlink/bin/install

Anda akan diminta untuk memilih database seperti yang ditunjukkan di bawah ini:

 Selamat datang di Shlink!! Alat ini akan memandu Anda melalui proses instalasi.DATABASE========Pilih tipe database [MySQL]:[0] MySQL [1] MariaDB [2] PostgreSQL [3] MicrosoftSQL [4] SQLite> 1 

Pilih opsi apa saja dan tekan Enter. Anda akan diminta untuk memberikan nama database seperti yang ditunjukkan di bawah ini:

 Nama database [shlink]:> 

Berikan nama database Anda atau tekan Enter untuk memilih default. Anda akan diminta untuk memberikan host database:

 Host basis data [localhost]:> 

Berikan host database Anda atau tekan Enter untuk memilih default. Anda akan diminta untuk memberikan port database:

 Port basis data [3306]:> 

Berikan port database Anda atau tekan Enter untuk memilih default. Anda akan diminta untuk memberikan nama pengguna basis data Anda:

 Nama pengguna basis data:> shlink

Berikan nama pengguna basis data Anda dan tekan Enter. Anda akan diminta untuk memberikan kata sandi pengguna basis data Anda:

 Kata sandi basis data:> kata sandi

Berikan kata sandi pengguna basis data Anda dan tekan Enter. Anda akan diminta untuk menyediakan soket Unix.

 Soket Unix (biarkan kosong agar tidak menggunakan soket):> 

Biarkan kosong dan tekan Enter. Anda akan diminta untuk memberikan nama domain:

URL SHORTENER=============Domain default untuk URL pendek yang dihasilkan:> shlink.linuxbuz.com

Berikan nama domain Anda dan tekan Enter. Anda akan diminta untuk memilih Skema:

 Pilih skema untuk URL pendek yang dihasilkan [http]:[0] http [1] https> 0

Pilih opsi dan tekan Enter. Anda akan diminta untuk memvalidasi URL yang panjang:

 Apakah Anda ingin memvalidasi url panjang dengan 200 kode status HTTP saat ditanggapi? (ya/tidak) [ya]:> 

Pilih opsi default dan tekan Enter. Anda akan diminta untuk memberikan panjang kode pendek yang dihasilkan:

 Berapa panjang default yang Anda inginkan untuk menghasilkan kode pendek? (Anda masih dapat mengganti ini di setiap URL pendek yang dibuat) [5]:> 

Pilih nilai default dan tekan Enter. Anda akan melihat output berikut:

 Apakah Anda ingin Shlink menyelesaikan judul URL pendek berdasarkan tag judul URL panjang (jika ada)? Jika tidak, itu akan tetap kosong kecuali disediakan secara eksplisit. (ya/tidak) [tidak]:> 

Pilih jawaban default dan tekan Enter. Anda akan melihat output berikut:

 Berikan kunci lisensi GeoLite2. (Biarkan kosong untuk menggunakan yang default, tetapi sangat disarankan untuk mendapatkannya sendiri. Buka https://shlink.io/documentation/geolite-license-key untuk mengetahui cara mendapatkannya):> 

Biarkan kosong dan tekan Enter. Anda akan melihat output berikut:

 Jenis pengalihan apa yang Anda inginkan untuk dimiliki oleh URL singkat Anda? [Semua kunjungan akan selalu dilacak. Tidak begitu bagus untuk SEO.]:[302] Semua kunjungan akan selalu dilacak. Tidak terlalu bagus untuk SEO. [301] Pilihan terbaik untuk SEO. Pengalihan akan di-cache untuk waktu yang singkat, membuat beberapa kunjungan tidak dilacak.> 301

Pilih opsi apa saja dan tekan Enter. Anda akan melihat output berikut:

 Berapa lama (dalam detik) Anda ingin pengalihan Anda di-cache oleh pengunjung? [30]:> 

Pilih nilai default dan tekan Enter. Anda akan melihat output berikut:

PELACAKAN========Apakah Anda ingin melacak kunjungan anak yatim? (kunjungan ke URL dasar, URL pendek yang tidak valid, atau URL "tidak ditemukan" lainnya) (ya/tidak) [ya]:> 

Pilih opsi default dan tekan Enter. Anda akan melihat output berikut:

 Berikan nama parameter yang dapat Anda gunakan untuk menonaktifkan pelacakan atas permintaan khusus ke URL pendek (biarkan kosong dan fitur ini tidak akan diaktifkan):> 

Tekan saja Enter. Anda akan melihat output berikut:

 Apakah Anda ingin menonaktifkan pelacakan kunjungan sepenuhnya? (ya/tidak) [tidak]:> 

Pilih opsi default dan tekan Enter. Anda akan melihat output berikut:

 Apakah Anda ingin menonaktifkan pelacakan alamat IP pengunjung? (ya/tidak) [tidak]:> 

Pilih opsi default dan tekan Enter. Anda akan melihat output berikut:

 Apakah Anda ingin alamat IP jarak jauh pengunjung dianonimkan sebelum menyimpannya ke database? (ya/tidak) [ya]:> 

Pilih opsi default dan tekan Enter. Anda akan melihat output berikut:

 Apakah Anda ingin menonaktifkan pelacakan "Agen Pengguna" pengunjung? (ya/tidak) [tidak]:> 

Pilih opsi default dan tekan Enter. Anda akan melihat output berikut:

 Apakah Anda ingin menonaktifkan pelacakan "Perujuk" pengunjung? (ya/tidak) [tidak]:> 

Pilih opsi default dan tekan Enter. Anda akan melihat output berikut:

REDIRECTS==========URL khusus untuk dialihkan ketika pengguna menekan URL dasar Shlink (Jika tidak ada nilai yang diberikan, pengguna akan melihat halaman "404 tidak ditemukan" default):> http:/ /shlink.linuxbuz.com

Berikan nama domain Anda dan tekan Enter. Anda akan melihat output berikut:

 URL khusus untuk dialihkan ketika pengguna menekan URL pendek yang tidak valid (Jika tidak ada nilai yang diberikan, pengguna akan melihat halaman "404 tidak ditemukan" default):> http://shlink.linuxbuz.com

Berikan nama domain Anda dan tekan Enter. Anda akan melihat output berikut:

 URL ubahsuaian untuk dialihkan ketika pengguna menekan URL yang tidak ditemukan selain URL pendek yang tidak valid (Jika tidak ada nilai yang diberikan, pengguna akan melihat halaman default "404 tidak ditemukan"):> http://shlink. linuxbuz.com

Berikan nama domain Anda dan tekan Enter. Anda akan melihat output berikut:

APPLICATION===========Apakah Anda ingin mengaktifkan pemeriksaan keamanan yang tidak mengizinkan URL pendek dihapus setelah menerima jumlah kunjungan tertentu? (ya/tidak) [ya]:> 

Pilih opsi default dan tekan Enter. Anda akan melihat output berikut:

 Berapa jumlah kunjungan yang tidak diizinkan sistem untuk menghapus URL pendek? [15]:> 

Pilih opsi default dan tekan Enter. Anda akan melihat output berikut:

 Apa jalur dari mana shlink akan dilayani? (Biarkan kosong jika Anda berencana untuk melayani shlink dari root domain) []:> 

Pilih opsi default dan tekan Enter. Anda akan melihat output berikut:

INTEGRASI============Berikan daftar URI server redis yang dipisahkan koma yang akan digunakan untuk tujuan caching bersama di bawah konteks multi-instance shlink (Biarkan kosong jika Anda tidak mau gunakan redis cache):> Konfigurasi kustom dibuat dengan benar!Menginisialisasi database... Berhasil!Memperbarui database... Berhasil!Membuat proxy... Berhasil!Mengunduh file GeoLite2 db... Berhasil! [OK] Instalasi selesai! 

Selanjutnya, Anda perlu membuat file host virtual Nginx untuk Shlink. Anda dapat membuatnya dengan perintah berikut:

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

Tambahkan baris berikut:

server { dengarkan 80; nama_server shlink.example.com; root /var/www/html/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; lokasi / { # mencoba menyajikan file secara langsung, mundur ke app.php try_files $uri /index.php$is_args$args; } # redirect beberapa seluruh folder tulis ulang ^/(vendor|translations|build)/.* /index.php break; lokasi ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; termasuk fastcgi_params; }}

Simpan dan tutup file kemudian verifikasi Nginx untuk kesalahan dengan perintah berikut:

nginx -t

Anda akan mendapatkan output berikut:

nginx:file konfigurasi /etc/nginx/nginx.conf sintaksnya oknginx:file konfigurasi /etc/nginx/nginx.conf tes berhasil

Selanjutnya, restart layanan Nginx untuk menerapkan perubahan:

systemctl restart nginx

Anda juga dapat memverifikasi status Nginx dengan perintah berikut:

systemctl status nginx

Anda akan mendapatkan output berikut:

? nginx.service - Server web berkinerja tinggi dan server proxy terbalik Dimuat:dimuat (/lib/systemd/system/nginx.service; diaktifkan; preset vendor:diaktifkan) Aktif:aktif (berjalan) sejak Rab 2021-06-02 05 :28:30 UTC; 4 detik yang lalu Dokumen:man:nginx(8) Proses:25639 ExecStartPre=/usr/sbin/nginx -t -q -g daemon aktif; master_proses aktif; (kode=keluar, status=0/SUKSES) Proses:25653 ExecStart=/usr/sbin/nginx -g daemon aktif; master_proses aktif; (kode=keluar, status=0/SUCCESS) PID Utama:25655 (nginx) Tugas:2 (batas:2353) Memori:2,6M CGroup:/system.slice/nginx.service ??25655 nginx:master process /usr/ sbin/nginx -g daemon aktif; master_proses aktif; ??25656 nginx:worker processJun 02 05:28:29 ubuntu2004 systemd[1]:Memulai server web berkinerja tinggi dan server proxy terbalik...02 Juni 05:28:30 ubuntu2004 systemd[1]:Memulai kinerja tinggi server web dan server proxy terbalik.

Anda sekarang dapat menginstal klien Shlink untuk menyingkat URL.

Anda juga dapat membuat URL Pendek di server Anda dari baris perintah:

sudo -u www-data php7.4 /var/www/html/shlink/bin/cli short-url:generate

Untuk membuat daftar semua URL pendek, jalankan perintah berikut:

sudo -u www-data php7.4 /var/www/html/shlink/bin/cli short-url:list

Untuk menampilkan informasi bantuan apa pun, jalankan perintah berikut:

sudo -u www-data php7.4 /var/www/html/shlink/bin/cli

Kesimpulan

Selamat! Anda telah berhasil menginstal pemendek URL Shlink di Ubuntu 20.04. Anda sekarang dapat mempersingkat URL menggunakan antarmuka CLI atau klien berbasis web.


Ubuntu
  1. Cara Menginstal WordPress dengan Nginx di Ubuntu 18.04

  2. Cara Menginstal phpMyAdmin dengan Nginx di Ubuntu 18.04

  3. Cara Menginstal MediaWiki dengan Nginx di Ubuntu 16.04

  1. Cara Menginstal Grav CMS dengan Nginx di Ubuntu 16.04

  2. Cara Menginstal SuiteCRM dengan Nginx di Ubuntu 16.04

  3. Cara Menginstal Magento dengan Nginx di Ubuntu 15.10

  1. Cara Menginstal Mailpile dengan Nginx di Ubuntu 15.10

  2. Cara Instal Redmine 3 dengan Nginx di Ubuntu 15.10

  3. Cara Menginstal Piwik dengan Nginx di Ubuntu 15.10