GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So installieren Sie den Shlink-URL-Shortener mit Nginx unter Ubuntu 20.04

Shlink ist ein Open-Source- und selbst gehosteter URL-Shortener, der in PHP geschrieben ist. Es wird verwendet, um kurze URLs von der Befehlszeile aus zu generieren und zu verwalten. Es ermöglicht Ihnen, alle Besuche Ihrer Kurz-URLs zu verfolgen, einschließlich Standort, Browser oder Referrer. Es kann über die Shlink-API in Tools von Drittanbietern integriert werden. Es bietet eine Befehlszeilenschnittstelle zum Kürzen von URLs.

In diesem Tutorial zeige ich Ihnen, wie Sie Shlink unter Ubuntu 20.04 installieren.

Voraussetzungen

  • Ein Server mit Ubuntu 20.04.
  • Ein gültiger Domainname, auf den Ihre Server-IP verweist.
  • Auf dem Server ist ein Root-Passwort konfiguriert.

Erste Schritte

Aktualisieren Sie zuerst die Systempakete auf die aktualisierte Version, indem Sie den folgenden Befehl ausführen:

apt-get update -y

Sobald alle Pakete aktualisiert sind, können Sie mit dem nächsten Schritt fortfahren.

LEMP-Server installieren

Installieren Sie zuerst Nginx, PHP, MariaDB und andere erforderliche Pakete mit dem folgenden Befehl:

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

Sobald alle Pakete installiert sind, können Sie mit dem nächsten Schritt fortfahren.

Shlink verwendet MariaDB als Datenbank-Backend. Sie müssen also eine Datenbank und einen Benutzer für Shlink erstellen. Verbinden Sie sich zunächst mit dem folgenden Befehl mit der MariaDB:

mysql

Sobald die Verbindung hergestellt ist, erstellen Sie eine Datenbank und einen Benutzer mit dem folgenden Befehl:

MariaDB [(keine)]> CREATE DATABASE shlink;
MariaDB [(keine)]> GRANT ALL ON shlink.* TO 'shlink'@'localhost' IDENTIFIED BY 'password';

Leeren Sie als Nächstes die Berechtigungen und beenden Sie die MariaDB mit dem folgenden Befehl:

MariaDB [(keine)]> FLUSH PRIVILEGES;
MariaDB [(keine)]> EXIT;

Laden Sie zunächst die neueste Version von Shlink von der offiziellen Download-Seite herunter:

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

Sobald der Download abgeschlossen ist, entpacken Sie die heruntergeladene Datei mit dem folgenden Befehl:

shlink2.7.1_php7.4_dist.zip entpacken

Verschieben Sie als Nächstes das extrahierte Verzeichnis in das Nginx-Webstammverzeichnis:

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

Legen Sie als Nächstes die richtige Berechtigung und den Besitz mit dem folgenden Befehl fest:

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

Führen Sie als Nächstes den folgenden Befehl aus, um die Installation zu starten:

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

Sie werden aufgefordert, die Datenbank wie unten gezeigt auszuwählen:

 Willkommen bei Shlink!! Dieses Tool führt Sie durch den Installationsprozess.DATABASE========Datenbanktyp auswählen [MySQL]:[0] MySQL [1] MariaDB [2] PostgreSQL [3] MicrosoftSQL [4] SQLite> 1 

Wählen Sie eine beliebige Option und drücken Sie die Eingabetaste. Sie werden aufgefordert, den Datenbanknamen wie unten gezeigt anzugeben:

 Datenbankname [shlink]:> 

Geben Sie Ihren Datenbanknamen ein oder drücken Sie die Eingabetaste, um den Standard auszuwählen. Sie werden aufgefordert, den Datenbankhost anzugeben:

 Datenbankhost [localhost]:> 

Geben Sie Ihren Datenbankhost an oder drücken Sie die Eingabetaste, um den Standard auszuwählen. Sie werden aufgefordert, den Datenbankport anzugeben:

 Datenbankport [3306]:> 

Geben Sie Ihren Datenbankport an oder drücken Sie die Eingabetaste, um den Standard auszuwählen. Sie werden aufgefordert, Ihren Datenbank-Benutzernamen anzugeben:

 Datenbankbenutzername:> shlink

Geben Sie Ihren Datenbank-Benutzernamen ein und drücken Sie die Eingabetaste. Sie werden aufgefordert, Ihr Datenbank-Benutzerkennwort einzugeben:

 Datenbankpasswort:> Passwort

Geben Sie Ihr Datenbank-Benutzerkennwort ein und drücken Sie die Eingabetaste. Sie werden aufgefordert, einen Unix-Socket anzugeben.

 Unix-Socket (leer lassen, um keinen Socket zu verwenden):> 

Lassen Sie es leer und drücken Sie die Eingabetaste. Sie werden aufgefordert, den Domänennamen anzugeben:

URL SHORTENER=============Standarddomäne für generierte Kurz-URLs:> shlink.linuxbuz.com

Geben Sie Ihren Domainnamen ein und drücken Sie die Eingabetaste. Sie werden aufgefordert, das Schema auszuwählen:

 Schema für generierte Kurz-URLs [http] auswählen:[0] http [1] https> 0

Wählen Sie eine Option und drücken Sie die Eingabetaste. Sie werden aufgefordert, lange URLs zu validieren:

 Möchten Sie lange URLs anhand des HTTP-Statuscodes 200 als Antwort validieren? (ja/nein) [ja]:> 

Wählen Sie die Standardoption und drücken Sie die Eingabetaste. Sie werden aufgefordert, die Länge der generierten Shortcodes anzugeben:

 Was ist die Standardlänge, die generierte Funktionscodes haben sollen? (Sie können dies weiterhin für jede erstellte Kurz-URL überschreiben) [5]:> 

Wählen Sie den Standardwert und drücken Sie die Eingabetaste. Sie sollten die folgende Ausgabe sehen:

 Möchten Sie, dass Shlink den kurzen URL-Titel basierend auf dem Titel-Tag der langen URL auflöst (falls vorhanden)? Andernfalls wird es leer gehalten, sofern nicht ausdrücklich angegeben. (ja/nein) [nein]:> 

Wählen Sie die Standardantwort und drücken Sie die Eingabetaste. Sie sollten die folgende Ausgabe sehen:

 Geben Sie einen GeoLite2-Lizenzschlüssel an. (Leer lassen, um den Standardschlüssel zu verwenden, aber es wird dringend empfohlen, sich einen eigenen zu besorgen. Gehen Sie zu https://shlink.io/documentation/geolite-license-key, um zu erfahren, wie Sie ihn erhalten):> 

Lassen Sie es leer und drücken Sie die Eingabetaste. Sie sollten die folgende Ausgabe sehen:

 Welche Art von Weiterleitung sollen Ihre Kurz-URLs haben? [Alle Besuche werden immer getrackt. Nicht so gut für SEO.]:[302] Alle Besuche werden immer getrackt. Nicht so gut für SEO. [301] Beste Option für SEO. Die Weiterleitung wird für kurze Zeit zwischengespeichert, wodurch einige Besuche nicht nachverfolgt werden.> 301

Wählen Sie eine beliebige Option und drücken Sie die Eingabetaste. Sie sollten die folgende Ausgabe sehen:

 Wie lange (in Sekunden) sollen Ihre Weiterleitungen von Besuchern zwischengespeichert werden? [30]:> 

Wählen Sie Standardwerte und drücken Sie die Eingabetaste. Sie sollten die folgende Ausgabe sehen:

TRACKING========Möchten Sie verwaiste Besuche verfolgen? (Besuche der Basis-URL, ungültige Kurz-URLs oder andere "nicht gefundene" URLs) (ja/nein) [ja]:> 

Wählen Sie die Standardoption und drücken Sie die Eingabetaste. Sie sollten die folgende Ausgabe sehen:

 Geben Sie einen Parameternamen an, den Sie verwenden können, um das Tracking bei bestimmten Anfragen an kurze URLs zu deaktivieren (leer lassen und diese Funktion wird nicht aktiviert):> 

Drücken Sie einfach die Eingabetaste. Sie sollten die folgende Ausgabe sehen:

 Möchten Sie das Besuchs-Tracking vollständig deaktivieren? (ja/nein) [nein]:> 

Wählen Sie die Standardoption und drücken Sie die Eingabetaste. Sie sollten die folgende Ausgabe sehen:

 Möchten Sie das Tracking von Besucher-IP-Adressen deaktivieren? (ja/nein) [nein]:> 

Wählen Sie die Standardoption und drücken Sie die Eingabetaste. Sie sollten die folgende Ausgabe sehen:

 Möchten Sie, dass die Remote-IP-Adressen der Besucher anonymisiert werden, bevor sie in der Datenbank gespeichert werden? (ja/nein) [ja]:> 

Wählen Sie die Standardoption und drücken Sie die Eingabetaste. Sie sollten die folgende Ausgabe sehen:

 Möchten Sie das Tracking der "User Agents" der Besucher deaktivieren? (ja/nein) [nein]:> 

Wählen Sie die Standardoption und drücken Sie die Eingabetaste. Sie sollten die folgende Ausgabe sehen:

 Möchten Sie das Tracking der "Referrer" der Besucher deaktivieren? (ja/nein) [nein]:> 

Wählen Sie die Standardoption und drücken Sie die Eingabetaste. Sie sollten die folgende Ausgabe sehen:

REDIRECTS=========Benutzerdefinierte URL zur Weiterleitung, wenn ein Benutzer auf die Basis-URL von Shlink klickt (Wenn kein Wert angegeben wird, sieht der Benutzer eine Standardseite "404 nicht gefunden"):> http:/ /shlink.linuxbuz.com

Geben Sie Ihren Domainnamen ein und drücken Sie die Eingabetaste. Sie sollten die folgende Ausgabe sehen:

 Benutzerdefinierte URL zur Umleitung, wenn ein Benutzer auf eine ungültige Kurz-URL trifft (Wenn kein Wert angegeben wird, sieht der Benutzer eine Standardseite "404 nicht gefunden"):> http://shlink.linuxbuz.com

Geben Sie Ihren Domainnamen ein und drücken Sie die Eingabetaste. Sie sollten die folgende Ausgabe sehen:

 Benutzerdefinierte URL zur Umleitung, wenn ein Benutzer auf eine nicht gefundene URL trifft, die keine ungültige Kurz-URL ist (Wenn kein Wert angegeben wird, sieht der Benutzer eine Standardseite „404 nicht gefunden“):> http://shlink. linuxbuz.com

Geben Sie Ihren Domainnamen ein und drücken Sie die Eingabetaste. Sie sollten die folgende Ausgabe sehen:

APPLICATION===========Möchten Sie eine Sicherheitsprüfung aktivieren, die verhindert, dass kurze URLs nach einer bestimmten Anzahl von Besuchen gelöscht werden? (ja/nein) [ja]:> 

Wählen Sie die Standardoption und drücken Sie die Eingabetaste. Sie sollten die folgende Ausgabe sehen:

 Bei wie vielen Besuchen lässt das System das Löschen von Kurz-URLs nicht zu? [15]:> 

Wählen Sie die Standardoption und drücken Sie die Eingabetaste. Sie sollten die folgende Ausgabe sehen:

 Von welchem ​​Pfad aus wird Shlink bedient? (Leer lassen, wenn Sie Shlink vom Stammverzeichnis der Domain bereitstellen möchten) []:> 

Wählen Sie die Standardoption und drücken Sie die Eingabetaste. Sie sollten die folgende Ausgabe sehen:

INTEGRATIONS============Geben Sie eine durch Kommas getrennte Liste von Redis-Server-URIs an, die für gemeinsame Caching-Zwecke unter Shlink-Multi-Instanz-Kontexten verwendet werden (leer lassen, wenn Sie dies nicht möchten Redis-Cache verwenden):> Benutzerdefinierte Konfiguration korrekt generiert! Datenbank wird initialisiert... Erfolg! Datenbank wird aktualisiert... Erfolg! Proxys werden generiert... Erfolg! GeoLite2-DB-Datei wird heruntergeladen... Erfolg! [OK] Installation abgeschlossen! 

Als Nächstes müssen Sie eine virtuelle Nginx-Hostdatei für Shlink erstellen. Sie können es mit dem folgenden Befehl erstellen:

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

Fügen Sie die folgenden Zeilen hinzu:

server {listen 80; Servername 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; location / { # Versuch, Datei direkt bereitzustellen, Fallback auf app.php try_files $uri /index.php$is_args$args; } # einige ganze Ordner umleiten rewrite ^/(vendor|translations|build)/.* /index.php break; Ort ~ \.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; schließen Sie fastcgi_params ein; }}

Speichern und schließen Sie die Datei und überprüfen Sie dann Nginx mit dem folgenden Befehl auf Fehler:

nginx -t

Sie sollten die folgende Ausgabe erhalten:

nginx:Die Syntax der Konfigurationsdatei /etc/nginx/nginx.conf ist oknginx:Der Test der Konfigurationsdatei /etc/nginx/nginx.conf ist erfolgreich

Starten Sie als Nächstes den Nginx-Dienst neu, um die Änderungen zu übernehmen:

systemctl startet nginx neu

Sie können den Status von Nginx auch mit dem folgenden Befehl überprüfen:

systemctl status nginx

Sie sollten die folgende Ausgabe erhalten:

? nginx.service – Ein Hochleistungs-Webserver und ein Reverse-Proxy-Server :28:30 UTC; vor 4s Dokumente:man:nginx(8) Prozess:25639 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process an; (code=beendet, status=0/SUCCESS) Prozess:25653 ExecStart=/usr/sbin/nginx -g daemon on; master_process an; (code=exited, status=0/SUCCESS) Main PID:25655 (nginx) Tasks:2 (limit:2353) Memory:2.6M CGroup:/system.slice/nginx.service ??25655 nginx:master process /usr/ sbin/nginx -g Daemon an; master_process an; ??25656 nginx:worker processJun 02 05:28:29 ubuntu2004 systemd[1]:Starten eines Hochleistungs-Webservers und eines Reverse-Proxy-Servers...Jun 02 05:28:30 ubuntu2004 systemd[1]:Gestartet Eine hohe Leistung Webserver und einen Reverse-Proxy-Server.

Sie können jetzt den Shlink-Client installieren, um die URL zu verkürzen.

Sie können die Kurz-URL auch auf Ihrem Server über die Befehlszeile generieren:

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

Führen Sie den folgenden Befehl aus, um alle Kurz-URLs aufzulisten:

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

Führen Sie den folgenden Befehl aus, um Hilfeinformationen anzuzeigen:

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

Schlussfolgerung

Herzliche Glückwünsche! Sie haben den URL-Shortener Shlink erfolgreich auf Ubuntu 20.04 installiert. Sie können jetzt URLs über die CLI-Oberfläche oder den webbasierten Client verkürzen.


Ubuntu
  1. So installieren Sie WordPress mit Nginx unter Ubuntu 18.04

  2. So installieren Sie phpMyAdmin mit Nginx unter Ubuntu 18.04

  3. So installieren Sie MediaWiki mit Nginx unter Ubuntu 16.04

  4. So installieren Sie Grav CMS mit Nginx unter Ubuntu 16.04

  5. So installieren Sie SuiteCRM mit Nginx unter Ubuntu 16.04

So installieren Sie Shlink URL Shortener auf Ubuntu 20.04 Server

So installieren Sie Shlink URL Shortener auf Ubuntu 18.04 Server

So installieren Sie phpMyAdmin mit Nginx (LEMP) unter Ubuntu 20.04 LTS

So installieren Sie Nextcloud 13 auf Ubuntu 16.04 mit Nginx

So installieren Sie den Shlink-URL-Shortener mit Nginx unter Ubuntu 20.04

So installieren Sie WordPress mit Nginx in Ubuntu 20.04