Erste Schritte
Systemanforderungen
Pflicht
| Bereich | Anforderung |
|---|---|
| PHP | 8.4.1 oder neuer |
| PHP-Erweiterungen | pdo_mysql, mbstring, openssl, fileinfo, ctype, tokenizer, json, xml |
| Datenbank | MySQL 8 oder MariaDB 10.6 und neuer. Datenbank und Benutzer mit vollen Rechten legst du selbst an — Shortlink tut es nicht. SQLite und PostgreSQL laufen technisch, sind aber nicht geprüft |
| Webserver | nginx oder Apache mit PHP-FPM, Document-Root auf public/ |
| TLS | Zertifikat für die Domain |
| Composer | 2.x |
| Zugang | SSH und Zugriff auf die Zeitsteuerung (Cron) |
| Schreibrechte | storage/ und bootstrap/cache/ für den PHP-Prozess beschreibbar |
Nicht nötig
| Node.js / npm | Nur beim Weg über das Repository, und dort einmalig auf dem eigenen Rechner. Das Release-Paket bringt CSS und JavaScript fertig gebaut mit |
| Queue-Worker | Es gibt keine Hintergrundarbeit. QUEUE_CONNECTION=sync genügt |
| Upload-Grenzen | upload_max_filesize, post_max_size und client_max_body_size spielen keine Rolle |
| Freier Speicherplatz | Es werden keine Dateien von Nutzern abgelegt — außer Logo und Theme-Datei durch Administratoren. Es wachsen nur Datenbankzeilen |
Dringend empfohlen
- HTTPS. Ohne TLS gehen Passwörter und Sitzungs-Cookies im Klartext über die Leitung, und „In die Zwischenablage kopieren" funktioniert im Browser nicht.
- Mail-Versand. Ohne ihn lassen sich keine Konten einrichten, keine Passwörter zurücksetzen und keine Adressen ändern.
- Zwei Cron-Einträge. Siehe Cron einrichten.
Prüfen
php artisan shortlink:check
Prüft PHP-Version, Erweiterungen, ob die Betriebsverzeichnisse vorhanden und beschreibbar
sind und ob die .env nicht für alle lesbar ist. Ändert nichts, braucht weder .env noch
Datenbank — läuft also schon vor der Installation.
Beschreibbarkeit wird mit einem echten Schreibversuch geprüft, nicht über die Rechte-Bits: Bei ACLs, NFS-Freigaben oder SELinux sagen die etwas anderes als die Wirklichkeit.
Nach der Installation steht eine erweiterte Prüfung unter Einstellungen → Systemdaten → Ausführliche Diagnose.
Geteilte Datenbank
Die Datenbank muss nicht leer sein. Teilst du sie mit anderen Anwendungen, vergib bei der
Installation ein Tabellen-Präfix (--db-prefix, im Assistenten ein eigenes Feld).
Quelle dieser Seite:
docs/systemanforderungen.md
im Repository. Sie wird beim Bauen daraus erzeugt — Änderungen gehören in die
Markdown-Datei, nicht in diese Seite.