Shortlink betreiben
Von null auf eine laufende Installation. Alles Weitere steht in den Handbüchern — die sind ausführlich, und diese Seite ersetzt sie nicht.
Was du brauchst
| Hosting | SSH-Zugang, PHP 8.3 oder neuer, Composer, MySQL oder MariaDB, Apache oder nginx |
| Datenbank | Eine Datenbank und ein Benutzer mit vollen Rechten darauf — beides legst du selbst an |
| Domain | Auf das Verzeichnis public/ zeigend, mit TLS-Zertifikat |
| Cron | Zugang zur Zeitsteuerung des Servers |
Node und npm brauchst du nicht — das Paket bringt CSS und JavaScript fertig gebaut mit. Einen Queue-Worker auch nicht: Diese Anwendung hat keine Hintergrundarbeit.
In einer Viertelstunde eingerichtet
1. Dateien auf den Server.
curl -fLO https://gitlab.com/mankeldor/shortlink/-/raw/main/shortlink-setup.sh
sh shortlink-setup.sh /pfad/zur/installation
Lies das Skript, bevor du es ausführst — deshalb steht hier curl -fLO und kein
curl … | sh. Ein Skript in die Shell zu pipen führt Code aus, den niemand gesehen hat.
2. Einrichten. Per Befehl:
php artisan shortlink:install
Oder im Browser unter /install. Gleiche Schritte, gleiche Logik — nimm den Weg, der zu
dir passt.
3. Die zwei Cron-Einträge setzen. Siehe unten.
Ausführlich, mit Dateirechten und Fehlersuche: Installation.
Die zwei Cron-Einträge
Beide sind nötig, und sie tun Verschiedenes. Pfad anpassen:
0 3 * * * cd /pfad/zu/shortlink && php artisan shortlink:cleanup --force >> /dev/null 2>&1
15 * * * * cd /pfad/zu/shortlink && php artisan shortlink:check-targets >> /dev/null 2>&1
Ohne den ersten greift keine Aufbewahrungsfrist. Abgelaufene Links bleiben stehen, Klick- und Versandprotokolle werden nie gelöscht.
Ohne den zweiten wird kein Ziel je geprüft — auch nicht beim Anlegen. Das würde den Knopf bis zu fünf Sekunden an einem fremden Server hängen lassen, deshalb übernimmt ausschließlich dieser Lauf die Prüfung.
Beide Zeilen stehen nach der Installation auch unter Einstellungen → Systemdaten, mit dem Pfad dieser Installation und einem Knopf zum Kopieren. Dort steht ebenfalls, wann jeder Befehl zuletzt gelaufen ist.
Aktualisieren
Derselbe Aufruf wie bei der Installation:
sh shortlink-setup.sh /pfad/zur/installation
Das Skript erkennt eine vorhandene Installation und übergibt an das update.sh aus dem
frisch geladenen Paket — kein Download von Hand, kein Entpacken, kein Nachdenken darüber,
welches Skript das richtige ist.
Entpacke ein Archiv nie über eine laufende Installation. Entpacken fügt hinzu und überschreibt, es löscht nie: Ausgemusterte Dateien blieben liegen und würden weiter geladen.
Weiterlesen
Nach Aufgabe, nicht nach Dateiname:
- Installation — der ganze Weg im Detail, Dateirechte, Fehlersuche
- Betrieb — Konfiguration, Rollen, Sicherheit, Datenhaltung, Backup, Wartung
- Barrierefreiheit — was geprüft wurde und was nicht
- Release — Pipeline, Tags, Paketbau
- Lizenz — wer was darf, kostenlos oder lizenzpflichtig
- Änderungen — was sich zuletzt geändert hat
Für die Menschen, die täglich damit arbeiten, gibt es ein eigenes Benutzerhandbuch.
Quelle dieser Seite:
site/content/docs.md
im Repository. Sie wird beim Bauen daraus erzeugt — Änderungen gehören in die
Markdown-Datei, nicht in diese Seite.