So hosten Sie Ihren eigenen bit.ly-Server mit Shlink unter Linux

So hosten Sie Ihren eigenen bit.ly-Server mit Shlink unter Linux
Ein Foto eines Laptops auf einem Tisch.

Shlink ist ein leistungsstarker selbst gehosteter Link-Shortener-Dienst für Linux. Er bietet ein einfaches, aber effektives Framework, in dem Sie Ihren eigenen Domänennamen als Stamm für Ihre verkürzten Links verwenden können. Dieser Artikel zeigt Ihnen, wie Sie mit Docker und Nginx Ihre eigene Shlink-Instanz auf Ubuntu Linux installieren.

Einer der größten Verkaufspunkte von Shlink ist, dass Sie Ihre eigene benutzerdefinierte Domain für Kurzlinks verwenden können, während Sie dennoch selbst hosten können. Dies wiederum gibt Ihnen die Flexibilität eines SaaS-Link-Shortener-Dienstes sowie die Privatsphäre, die Sie durch die Ausführung der Software auf Ihrem eigenen Computer haben.

Ein Screenshot, der Shlink auf einem Demoserver laufen lässt.

Abgesehen davon bietet Shlink auch eine Reihe weiterer Funktionen, wie beispielsweise die Möglichkeit, QR-Codes zu erstellen, Link-Anfragen automatisch weiterzuleiten und benutzerdefinierte Slug-Adressen mit mehreren Segmenten zu erstellen. Das macht Shlink zu einem praktischen Tool, wenn Sie nach einem Link-Shortener-Dienst unter Linux suchen, mit dem Sie das Aussehen und Verhalten Ihrer Links optimieren können.

Docker für Shlink beziehen

Annahme: Dieser Artikel geht davon aus, dass Sie Shlink auf einem Ubuntu 22.04 VPS installieren und derzeit einen Domänennamen besitzen.

Der erste Schritt bei der Bereitstellung von Shlink unter Linux besteht darin, eine Kopie von Docker zu erhalten. Holen Sie sich dazu den Signaturschlüssel des Docker-Projekts von der Website:

Erstellen Sie die Repository-Datei für Ihre Docker-Binärdateien:

Fügen Sie die folgende Codezeile in Ihre neue Repository-Datei ein:

Laden Sie die Repository-Liste Ihres Systems neu, indem Sie Folgendes tun apt update:

Installieren der Abhängigkeiten für Shlink

Wenn die Docker-Repositorys eingerichtet und ausgeführt werden, können Sie nun apt verwenden, um die Abhängigkeiten für Shlink abzurufen:

Stellen Sie sicher, dass das Snap-Paket „Core“ in Ihrem System verfügbar ist:

Holen und installieren Sie das Snap-Paket „certbot“ von der Electronic Frontier Foundation:

Erhalten eines Geolite2-Lizenzschlüssels

Ein weiteres entscheidendes Merkmal von Shlink ist, dass es den allgemeinen Standort des Benutzers verfolgen kann, der auf Ihre Links geklickt hat. Um dies zu verwenden, öffnen Sie die Anmeldeseite für die Geolite2-Lizenzierung .

Ein Screenshot, der die Anmeldeseite für die GeoLite-Lizenz zeigt.

Füllen Sie das Formular mit Ihren Daten aus und drücken Sie dann auf Weiter .

Öffnen Sie Ihren E-Mail-Posteingang und suchen Sie nach der Bestätigungs-E-Mail von MaxMind.

Klicken Sie auf den Link in der E-Mail und geben Sie dann ein Passwort für Ihr neues MaxMind-Konto ein.

Ein Screenshot, der den Link zur Passworterstellung für MaxMind zeigt.

Melden Sie sich bei Ihrem MaxMind-Konto an und klicken Sie dann auf Ihrem Dashboard auf „Lizenzschlüssel verwalten“ .

Ein Screenshot, der die

Klicken Sie auf „Neuen Lizenzschlüssel generieren“ und dann auf „Bestätigen“ , um Ihren Geolite2-Schlüssel zu erstellen.

Ein Screenshot, der die

Kopieren Sie den Geolite2-Lizenzschlüssel in eine Textdatei auf Ihrem Computer und speichern Sie ihn.

Um Shlink zu installieren, müssen Sie zunächst ein virtuelles Docker-Netzwerk erstellen. Dies dient als privates Netzwerk der App, in dem sie mit den anderen Containern kommunizieren kann, die Sie bereitstellen:

Stellen Sie eine PostgreSQL-Datenbank bereit und verknüpfen Sie sie mit Ihrem neuen virtuellen Docker-Netzwerk:

Ändern Sie den Wert der Umgebungsvariable „POSTGRES_PASSWORD“ mit einer zufälligen Textzeichenfolge.

Ein Terminal, das ein zufälliges PostgreSQL-DB-Passwort anzeigt.

Fügen Sie den folgenden Befehl in eine neue Terminalsitzung ein:

Ersetzen Sie den Wert der Variable DEFAULT_DOMAIN durch Ihren Domänennamen.

Ein Terminal, das den Standarddomänenwert für den Demoserver anzeigt.

Ändern Sie den Wert der Variable „GEOLITE_LICENSE_KEY“ mit Ihrem persönlichen Lizenzschlüssel.

Ein Terminal, das die Geolite-Lizenz für den Demo-Shlink-Server anzeigt.

Ersetzen Sie die Variable „DB_PASSWORD“ durch Ihr PostgreSQL-Datenbankpasswort.

Ein Terminal, das das PostegreSQL-DB-Passwort für den Demoserver anzeigt.

Drücken Sie Enter, um Ihre Shlink-Instanz zu starten.

Installieren und Verknüpfen Ihrer Shlink-Schnittstelle

Holen Sie sich einen API-Schlüssel aus Ihrem Shlink-Container und kopieren Sie ihn dann in Ihre Zwischenablage:

Fügen Sie den folgenden Befehl in eine neue Terminalsitzung ein:

Ersetzen Sie „SHLINK_SERVER_URL“ durch den Wert aus Ihrer Variable „DEFAULT_DOMAIN“ im Backend-Container.

Ein Terminal, das die vollständige URL für die Shlink-Backend-Instanz anzeigt.

Fügen Sie Ihren API-Schlüssel als Wert für „SHLINK_SERVER_API_KEY“ ein.

Ein Terminal, das den Shlink-Backend-API-Schlüssel anzeigt.

Drücken Sie Enter, um Ihre Shlink-Frontend-Schnittstelle zu starten.

Bestätigen Sie, dass Ihre Datenbank, das Shlink-Backend und das Shlink-Frontend ordnungsgemäß funktionieren, indem Sie alle derzeit aktiven Container im System auflisten:

Ein Terminal, das die drei Container zeigt, aus denen die vollständige Shlink-Web-App besteht.

Erstellen eines SSL-Reverse-Proxys mit Nginx

An diesem Punkt läuft nun eine funktionierende Shlink-Softwaresuite auf Ihrem Server. Um darauf zugreifen zu können, müssen Sie jedoch noch einen SSL-Webproxy erstellen, der Ihre beiden Container an verschiedene Domänen delegiert.

Erstellen Sie zunächst einen neuen A-Eintrag für die Frontend-Schnittstelle Ihres Shlink. In meinem Fall werde ich den A-Eintrag meines Frontends als „admin“ festlegen.

Ein Screenshot, der die beiden DNS-Einträge für den Demo-Shlink-Server zeigt.

Erstellen Sie die Site-Konfigurationsdatei für Ihre Shlink-Instanz mit Ihrem bevorzugten Texteditor:

Fügen Sie den folgenden Codeblock in Ihre Konfigurationsdatei ein:

Ersetzen Sie die Variable „YOUR-ROOT.DOMAIN“ durch Ihre Stammdomäne und „SUBDOMAIN.YOUR-ROOT.DOMAIN“ durch die Subdomäne für Ihre Frontend-Schnittstelle.

Speichern Sie Ihre Konfigurationsdatei und aktivieren Sie dann Ihre Web-App in Nginx:

Laden Sie Ihren Nginx-Daemon neu, um Ihre neuen Einstellungen anzuwenden:

Registrieren Sie Ihren Server bei der Electronic Frontier Foundation:

Fordern Sie ein neues Multi-Domain-SSL-Zertifikat für Ihre Shlink-Instanz an:

Bestätigen Sie, dass Ihr Shlink-Server ordnungsgemäß funktioniert, indem Sie zur Administratorkonsole Ihrer Instanz navigieren. In meinem Fall ist es „https://admin.helloserver.top“.

Ein Screenshot, der die Standard-Landingpage für eine Shlink-Instanz zeigt.

Um Ihre neue Instanz zu verwenden, klicken Sie auf der Zielseite auf das Menüelement „Shlink“ .

Ein Screenshot, der das Shlink-Menüelement auf der Zielseite der Instanz zeigt.

Fügen Sie Ihre lange URL in das Textfeld „Zu kürzende URL“ unter der Kategorie „Kurz-URL erstellen“ ein .

Geben Sie einige Metadaten für Ihren Kurzlink ein und klicken Sie dann auf „Speichern“ , um Ihren Link zu erstellen.

Ein Screenshot, der das Formular zum Erstellen eines Kurzlinks in Shlink zeigt.

Öffnen Sie Ihre neue Kurz-URL in einer neuen Browser-Registerkarte und klicken Sie dann auf die Schaltfläche „Besuche“ in Ihrem Shlink-Dashboard, um zu testen, ob sie ordnungsgemäß funktioniert.

Ein Screenshot, der eine grundlegende Analyse des Beispiellinks auf Shlink zeigt.

Die Installation und Bereitstellung Ihres eigenen Linkverkürzungsdienstes ist nur der erste Schritt, um Ihre Online-Privatsphäre zurückzugewinnen. Erfahren Sie, wie Linux Ihnen dabei helfen kann, Ihre Privatsphäre noch weiter zu schützen, indem Sie Ihre eigene anonyme Website in Ubuntu mit Tor hosten .

Bildnachweis: Carlos Muza über Unsplash und Shlink.io Developers . Alle Änderungen und Screenshots von Ramces Red.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert