Hoe u uw eigen bit.ly-server kunt hosten met Shlink in Linux

Hoe u uw eigen bit.ly-server kunt hosten met Shlink in Linux
Een foto van een laptop op een tafel.

Shlink is een krachtige self-host linkverkorterservice voor Linux. Het biedt een eenvoudig maar effectief raamwerk waarin u uw eigen domeinnaam kunt gebruiken als basis voor uw verkorte links. Dit artikel laat zien hoe u uw eigen Shlink-instantie op Ubuntu Linux installeert met behulp van Docker en Nginx.

Een van de grootste verkoopargumenten van Shlink is dat u uw eigen aangepaste domein voor shortlinks kunt gebruiken terwijl u nog steeds zelf-hostbaar bent. Dit geeft u op zijn beurt de flexibiliteit van een SaaS-linkverkorterservice en de privacy van het uitvoeren van software op uw eigen machine.

Een screenshot waarin Shlink op een demoserver draait.

Daarnaast beschikt Shlink ook over een gevarieerde reeks functies, zoals de mogelijkheid om QR-codes te maken, linkquery’s automatisch door te sturen en aangepaste slugs met meerdere segmenten te maken. Dit maakt Shlink een handig hulpmiddel als u op zoek bent naar een linkverkortingsservice in Linux, waarmee u kunt aanpassen hoe uw links eruitzien en zich gedragen.

Docker verkrijgen voor Shlink

Aanname: In dit artikel wordt ervan uitgegaan dat je Shlink installeert op een Ubuntu 22.04 VPS en dat je momenteel over een domeinnaam beschikt.

De eerste stap bij het implementeren van Shlink op Linux is het verkrijgen van een exemplaar van Docker. Om dit te doen, haalt u de ondertekeningssleutel van het Docker-project op van hun website:

Maak het repositorybestand voor uw Docker-binaire bestanden:

Plak de volgende coderegel in uw nieuwe repositorybestand:

Laad de repositorylijst van uw systeem opnieuw door een apt update:

De afhankelijkheden voor Shlink installeren

Nu de Docker-opslagplaatsen actief zijn, kunt u nu apt gebruiken om de afhankelijkheden voor Shlink te verkrijgen:

Zorg ervoor dat het “core” snap-pakket beschikbaar is in uw systeem:

Haal en installeer het “certbot” snap-pakket van de Electronic Frontier Foundation:

Een Geolite2-licentiesleutel verkrijgen

Een ander bepalend kenmerk van Shlink is dat het de algemene locatie kan volgen van de gebruiker die op uw links heeft geklikt. Om dit te gebruiken, opent u de Geolite2 Licensing Sign Up -pagina.

Een screenshot van de aanmeldingspagina voor de GeoLite-licentie.

Vul het formulier in met uw gegevens en druk vervolgens op Doorgaan .

Open uw e-mailinbox en zoek naar de bevestigingsmail van MaxMind.

Klik op de link in de e-mail en geef vervolgens een wachtwoord op voor uw nieuwe MaxMind-account.

Een screenshot met de link voor het maken van een wachtwoord voor MaxMind.

Log in op uw MaxMind-account en klik vervolgens op Licentiesleutels beheren op uw Dashboard.

Een screenshot waarin de

Klik op Nieuwe licentiesleutel genereren en klik vervolgens op Bevestigen om uw Geolite2-sleutel aan te maken.

Een screenshot waarin de

Kopieer de Geolite2-licentiesleutel naar een tekstbestand op uw machine en sla het vervolgens op.

Om Shlink te installeren, moet u eerst een virtueel Docker-netwerk maken. Dit zal dienen als het privénetwerk van de app, waar deze kan communiceren met de andere containers die u gaat inzetten:

Implementeer een PostgreSQL-database en koppel deze aan uw nieuwe virtuele Docker-netwerk:

Wijzig de waarde van de omgevingsvariabele “POSTGRES_PASSWORD” met een willekeurige tekstreeks.

Een terminal die een willekeurig PostgreSQL DB-wachtwoord toont.

Plak de volgende opdracht in een nieuwe terminalsessie:

Vervang de waarde van de DEFAULT_DOMAIN variabele door uw domeinnaam.

Een terminal die de standaarddomeinwaarde voor de demoserver toont.

Wijzig de waarde van de variabele “GEOLITE_LICENSE_KEY” met uw persoonlijke licentiesleutel.

Een terminal die de Geolite-licentie toont voor de demo Shlink-server.

Vervang de variabele “DB_PASSWORD” door uw PostgreSQL-databasewachtwoord.

Een terminal die het PostegreSQL DB-wachtwoord voor de demoserver toont.

Druk op Enterom uw Shlink-instantie te starten.

Uw Shlink-interface installeren en koppelen

Haal een API-sleutel op uit uw Shlink-container en kopieer deze vervolgens naar uw klembord:

Plak de volgende opdracht in een nieuwe terminalsessie:

Vervang de “SHLINK_SERVER_URL” door de waarde van uw “DEFAULT_DOMAIN” variabele in de backend-container.

Een terminal die de volledige URL toont voor de Shlink-backend-instantie.

Plak uw API-sleutel als de waarde voor de ‘SHLINK_SERVER_API_KEY’.

Een terminal die de Shlink backend API-sleutel toont.

Druk op Enterom uw Shlink-frontendinterface te starten.

Bevestig dat uw database, Shlink-backend en Shlink-frontend goed werken door alle momenteel actieve containers in het systeem weer te geven:

Een terminal met de drie containers die de complete Shlink-webapp bouwen.

Een SSL Reverse Proxy maken met Nginx

Op dit punt heeft u nu een werkend Shlink-softwarepakket op uw server draaien. Om er toegang toe te krijgen, moet u echter nog steeds een SSL-webproxy maken die uw twee containers op verschillende domeinen delegeert.

Maak om te beginnen een nieuw A-record voor de frontend-interface van uw Shlink. In mijn geval zal ik het A-record van mijn frontend instellen als ‘admin’.

Een screenshot met de twee DNS-records voor de demo-Shlink-server.

Maak het siteconfiguratiebestand voor uw Shlink-instantie met behulp van uw favoriete teksteditor:

Plak het volgende codeblok in uw configuratiebestand:

Vervang de variabele “YOUR-ROOT.DOMAIN” door uw hoofddomein, en de “SUBDOMAIN.YOUR-ROOT.DOMAIN” door het subdomein voor uw frontend-interface.

Sla uw configuratiebestand op en schakel vervolgens uw web-app in Nginx in:

Herlaad uw Nginx-daemon om uw nieuwe instellingen toe te passen:

Registreer uw server bij de Electronic Frontier Foundation:

Vraag een nieuw multi-domein SSL-certificaat aan voor uw Shlink-instantie:

Bevestig dat uw Shlink-server correct werkt door naar de beheerdersconsole van uw exemplaar te navigeren. In mijn geval is dit “https://admin.helloserver.top.”

Een screenshot van de standaard landingspagina voor een Shlink-instantie.

Om uw nieuwe exemplaar te gebruiken, klikt u op het menu-item Shlink op de landingspagina.

Een schermafbeelding van het Shlink-menu-item op de landingspagina van de instantie.

Plak uw lange URL in het tekstvak dat u wilt verkorten, onder de categorie Een korte URL maken .

Geef wat metagegevens op voor uw korte link en klik vervolgens op Opslaan om uw link te maken.

Een screenshot van het formulier voor het maken van een korte link in Shlink.

Open uw nieuwe korte URL op een nieuw browsertabblad en klik vervolgens op de knop Bezoeken op uw Shlink-dashboard om te testen of deze goed werkt.

Een screenshot met basisanalyses van de voorbeeldlink op Shlink.

Het installeren en implementeren van uw eigen linkverkortingsservice is slechts de eerste stap in het terugnemen van uw online privacy. Ontdek hoe Linux u kan helpen uw privacy verder terug te winnen door uw eigen anonieme website in Ubuntu te hosten met behulp van Tor .

Beeldcredits: Carlos Muza via Unsplash- en Shlink.io-ontwikkelaars . Alle wijzigingen en screenshots door Ramces Red.

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *