Im Bildungskontext sind URL Verkürzer total sinnvoll. Die Links sind schnell geteilt und können zur Not auch mal eben abgetippt oder an das Whiteboard geschrieben werden. Dabei gibt es kommerzielle Varianten, aber auch freie, selbst installierbare Programme. Ich zeige dir in diesem Artikel, wie du dir einen YOURLS-Server installierst.
Vorbereitung
Du brauchst natürlich eine kurze Domain, damit es Sinn macht. Ich habe shortdomain.de
als Platzhalter genommen. Außerdem ist ein Webserver notwendig. Es kann sein, dass du die Pfade anpassen musst. Ich bin auf Ubuntu 20.04 LTS mit einem LEMP Stack und letsencrypt. Wenn du einen LEMP oder LAMP-Stack installiert hast kannst du letsencrypt mit sudo apt install letsencrypt
nachinstallieren.
Backend
YOURLS kannst du nach folgender Anleitung installieren:
https://github.com/YOURLS/YOURLS bzw. https://yourls.org/#Install
Ich gehe im weiteren Verlauf vom Installationpfad /var/www/yourls/
aus. Die Konfigurationsdatei von YOURLS findest du unter /var/www/yourls/user/config.php
. Sie ist selbsterklärend und gut kommentiert.
Der Standard YOURLS läuft bei mir mit folgender vServer Konfiguration:
cat /etc/nginx/sites-available/yourls
server {
listen 80;
listen [::]:80;
server_name shortdomain.de;
###### Von hier bis ......
# return 301 https://$server_name$request_uri;
# }
#server {
# listen 443 ssl http2;
# listen [::]:443 ssl http2;
# server_name shortdomain.de;
# access_log /var/log/nginx/shortdomain.de.access.log;
# error_log /var/log/nginx/shortdomain.de.error.log;
# ssl_certificate /etc/letsencrypt/live/shortdomain.de/fullchain.pem;
# ssl_certificate_key /etc/letsencrypt/live/shortdomain.de/privkey.pem;
# ssl_session_cache shared:SSL:10m;
# ssl_session_timeout 10m;
# ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
# ssl_ciphers "ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS:!AES256";
# ssl_prefer_server_ciphers on;
# ssl_dhparam /etc/nginx/ssl/dhp-2048.pem; #ggf. anpassen oder weglassen
##### .... hier nach holen des des Let's Encrypt Zertifikats einkommentieren. Pfade ggf. anpassen
root /var/www/yourls;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /yourls-loader.php$is_args$args;
}
#für letsencrypt
location ^~ /.well-known/ {
# limit_req [tighter per-ip settings here];
access_log off;
log_not_found off;
root /var/www/yourls;
autoindex off;
index index.html; # "no-such-file.txt",if expected protos don't need it
try_files $uri $uri/ =404;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
include fastcgi_params;
}
}
Wenn du die Grundkonfiguration erstellt hast, musst du deinem Webserer (hier NGINX) die Konfiguration übergeben und zum Laufen bringen.
# Link setzen zum aktivieren der Konfiguration
sudo ln -s /etc/nginx/sites-available/yourls /etc/nginx/sites-enabled/yourls
# Konfiguration Testen
sudo nginx -t
# nginx neu starten
sudo systemctl restart nginx
Yourls sollte jetzt auf Port 80 laufen und via http://shortdomain.de
erreichbar sein.
Let’s Encrypt Zertifikat holen und installieren:
Nun musst du dir das Zertifikat für https holen. shortdomain.de
ersetzt du natürlich mit deiner URL. Ich mache das immer so:
sudo letsencrypt --webroot -w /var/www/yourls/ -d shortdomain.de certonly
Dann musst du nur noch alles in der NGINX Konfiguration einkommentieren, dann hört der Server nur noch auf https (Port 443) und leitet http anfragen automatisch um.
Frontend
Als Frontend nutze ichInfinity Squared. Nutzbar ohne Anmeldung und ohne große Datenerhebung. Achtung: Pseudonomisierung der IP Adresse stellt du in Yourls direkt ein.
https://github.com/tomslominski/infinity-squared
Einfach im Hauptverzeichnis von Yourls entpacken und dann läufts. Wenn du die QR Funktionalität haben möchtest, dann kannst du dies hier lesen und den Code anpassen (das hatte bei mir nämlich zunächst nicht funktioniert): https://github.com/tomslominski/infinity-squared/issues/45
Das Frontend wird seit kurzem leider nicht mehr weiterentwickelt. Vielleicht kennt jemand von euch ja eine Alternative.
Spam
Es kann natürlich sein, dass ab und and jemand deinen URL Shortener zum spammen missbraucht. Ich habe das in etwa zwei Jahren Betrieb tatsächlich zweimal gehabt. Also zwei Links, die geshorted wurden und auf eine Sex bzw. Malware Seite verwiesen haben. Diese Shortlinks können über das Admin-Webinterface dann einfach gelöscht werden.
Viel Spass beim nachbauen.
Lizenzhinweis:
Das Beitragbild "abkürzen" stammt von www.verbformen.de und steht unter der Lizenz CC BY-SA 4.0
Die Anleitung zur Installation von Yourls von Ulrich Ivens steht unter der Lizenz CC BY-SA 4.0 und erschien zuerst auf meinem CodiMD Pad.
Hallo Achim,
natürlich gibt es die nicht. Du must das an deine Gegebenheiten anpassen. Das ist nur eine Beispielonfiguration! Ersetze shortdomain.de durch deine Domain, dann sollte es klappen!
Gruß
Ulli
Also shortdomain.de gibt es nicht bzw. Ist nicht erreichbar.