NATVPS.id – Semua orang tentu tidak suka dengan alamat URL yang panjang. Karena alasan tersebut, banyak yang menggunakan layanan pemendek URL seperti bit.ly dan cutt.ly. Namun, daripada menggunakan layanan eksternal, kita juga bisa mengatur layanan URL shortener kita sendiri, loh! Ada banyak software URL shortener yang bisa kita gunakan, salah satunya adalah Shlink.
Pada kesempatan kali ini, kita akan membahas mengenai langkah-langkah untuk melakukan deploy Shlink di NAT VPS sebagai server URL shortener kita.
Konfigurasi Port Forwarding
Mengingat kita menggunakan NAT, kita perlu menambahkan 3 konfigurasi port forwarding pada panel Virtualizor (atau panel VPS lain sesuai provider), yaitu:
- 1 port forwarding TCP untuk mengakses backend Shlink, dan
- 2 port forwarding HTTP dan HTTPS untuk domain URL shortener
Sebagai contoh, pada artikel ini akan menggunakan port 19008 untuk mengakses backend Shlink dan domain link.mdinata.my.id sebagai domain URL shortener kita. Anda bebas mengganti port dan domain sesuai pilihan Anda. Catat port dan domain ini, karena kita akan menggunakannya lagi pada proses deploy.
Jangan lupa untuk menambahkan DNS record yang menuju ke IP publik NAT VPS Anda, seperti ini:
Install Docker
Kita akan menggunakan Docker dan Docker Compose untuk men-deploy Dockge & Dozzle.
Pertama, Install curl menggunakan perintah:
apt update && apt install curl -y
Kemudian, jalankan script instalasi otomatis dari Docker dengan memasukkan:
curl -fsSL get.docker.com | sh
Tunggu hingga proses instalasi selesai.
Deploy Shlink
Buat direktori baru dengan nama shlink
cd ~/ mkdir shlink cd shlink
Buat file baru dengan nama docker-compose.yml
menggunakan nano:
apt install nano -y nano docker-compose.yaml
Lalu tempelkan konfigurasi Compose berikut:
# Docker Compose untuk deploy Shlink di NAT VPS # https://natvps.id/deploy-shlink-nat-vps # Source: https://shlink.io/documentation/install-docker-image/ (converted to Docker Compose) services: shlink: container_name: shlink ports: - 19008:8080 environment: - DEFAULT_DOMAIN=link.mdinata.my.id - IS_HTTPS_ENABLED=true image: shlinkio/shlink:stable
Pada bagian ports
, sesuaikan 19008
dengan port Shlink Anda.
ports: - 19008:8080
Simpan file tersebut dengan menekan Ctrl-X
, y
, kemudian Enter
.
Terakhir, Jalankan Shlink menggunakan Docker Compose:
docker compose up -d
Tunggu hingga proses deploy selesai.
Konfigurasi NGINX (Reverse Proxy)
Agar kita dapat mengakses URL melalui domain seperti link.mdinata.my.id, kita dapat menggunakan reverse proxy seperti NGINX.
Pertama, install NGINX melalui perintah:
# Hapus Apache2 dan pendukungnya (biasanya terpasang secara bawaan di VPS OpenVZ) apt purge apache2* -y # Install NGINX apt install nginx -y
Buat konfigurasi host baru khusus untuk Shlink:
nano /etc/nginx/sites-available/shlink
Kemudian tempelkan konfigurasi berikut:
# Konfigurasi NGINX untuk deploy Shlink di NAT VPS # https://natvps.id/deploy-shlink-nat-vps # Source: https://shlink.io/documentation/supported-runtimes/classic-web-server/ (trimmed for proxy_pass usage) server { server_name link.mdinata.my.id; listen 80; location / { proxy_pass http://127.0.0.1:19008; } }
Sesuaikan link.mdinata.my.id
dan 19008
dengan domain & port Shlink Anda.
Aktifkan konfigurasi tersebut dengan:
ln -sf /etc/nginx/sites-available/shlink /etc/nginx/sites-enabled/shlink # Restart NGINX systemctl restart nginx
Generate Sertifikat SSL (Let’s Encrypt)
Agar domain kita dapat diakses melalui HTTPS, kita perlu membuat sertifikat SSL. Kita dapat menggunakan sertifikat SSL gratis dari Let’s Encrypt melalui Certbot.
Install Certbot dan plugin NGINX nya menggunakan perintah:
apt install python3-certbot python3-certbot-nginx
Lalu, generate sertifikat melalui Certbot dengan perintah
certbot --nginx -d link.mdinata.my.id
Ganti link.mdinata.my.id
dengan domain Anda.
Selamat! Domain Anda saat ini dapat diakses melalui koneksi aman HTTPS.
Mengakses Shlink
Untuk mengelola URL pada Shlink, kita perlu menggunakan aplikasi seperti Shlink web client: https://app.shlink.io.
Klik Add a server kemudian isi informasi server sesuai dengan domain Anda.
Untuk mengisi API key, kita perlu membuatnya terlebih dahulu. Kembali ke NAT VPS Anda, kemudian masukkan command berikut:
docker exec -it shlink shlink api-key:generate
Anda akan mendapatkan informasi mengenai API key Anda. Masukkan key tersebut ke web client tadi.
Jika sudah, maka Anda akan masuk ke tampilan dashboard Shlink seperti berikut:
Selamat! Shlink telah berhasil di-deploy dan siap untuk digunakan melalui Shlink web client (https://app.shlink.io).
Penutup
Demikianlah artikel ini mengenai langkah-langkah deploy Shlink di NAT VPS untuk memperpendek URL. Jika bingung atau ragu, jangan sungkan untuk bertanya di grup Telegram @IPv6Indonesia. Terima kasih!