Laravel auf Shared Hosting installieren: vollständige Anleitung

Laravel ist das beliebteste PHP-Framework und funktioniert hervorragend auf Shared Hosting. In dieser Anleitung lernst du, wie du Laravel installierst, konfigurierst und für die Produktion auf Theory7 Hosting bereit machst.

Voraussetzungen für Laravel

Bevor du beginnst, überprüfe, ob dein Hosting die Anforderungen erfüllt.

PHP-Anforderungen

Laravel 11 benötigt:
  • PHP 8.2 oder höher
  • BCMath PHP Extension
  • Ctype PHP Extension
  • Fileinfo PHP Extension
  • JSON PHP Extension
  • Mbstring PHP Extension
  • OpenSSL PHP Extension
  • PDO PHP Extension
  • Tokenizer PHP Extension
  • XML PHP Extension
Bei Theory7 Hosting sind alle erforderlichen Erweiterungen standardmäßig verfügbar.

Weitere Anforderungen

  • SSH-Zugang (für Composer)
  • MySQL oder MariaDB-Datenbank
  • Ausreichend Speicherplatz (mindestens 100MB)
  • Composer über die Kommandozeile verfügbar

SSH-Zugang aktivieren

Die Installation von Laravel erfordert SSH-Zugang.

SSH aktivieren in DirectAdmin

  1. Logge dich in DirectAdmin ein
  2. Gehe zu Account Manager
  3. Klicke auf SSH Keys
  4. Generiere oder lade deinen SSH-Schlüssel hoch
  5. Aktiviere den SSH-Zugang
Siehe auch: SSH-Zugang aktivieren

Verbindung herstellen

ssh benutzername@deinedomain.nl
# Oder mit Port:
ssh -p 7777 benutzername@server.theory7.net

Laravel über Composer installieren

Jetzt kannst du Laravel installieren.

In das richtige Verzeichnis navigieren

# Gehe in dein Domain-Verzeichnis
cd ~/domains/deinedomain.nl

Laravel-Projekt erstellen

Installiere Laravel in einem Unterverzeichnis:
# Neues Laravel-Projekt erstellen
composer create-project laravel/laravel projekt
# Dies erstellt einen Ordner 'projekt' mit Laravel
Oder direkt im aktuellen Verzeichnis:
# In leerem Verzeichnis
composer create-project laravel/laravel .

Installation überprüfen

# Laravel-Version überprüfen
cd projekt
php artisan --version
# Ausgabe: Laravel Framework 11.x.x

Document Root konfigurieren

Shared Hosting erfordert eine spezielle Konfiguration für Laravel. Laravels public-Verzeichnis muss das Document Root sein:
# Alte public_html löschen oder umbenennen
cd ~/domains/deinedomain.nl
mv public_html public_html_backup
# Symlink zu Laravel public erstellen
ln -s projekt/public public_html

Alternative: .htaccess im Root

Wenn Symlinks nicht funktionieren:
# In der Root .htaccess
RewriteEngine On
RewriteRule ^(.*)$ projekt/public/$1 [L]

Datenbank konfigurieren

Laravel benötigt eine Datenbank.

Datenbank in DirectAdmin erstellen

  1. Gehe zu Account Manager und dann MySQL Management
  2. Klicke auf Create new Database
  3. Wähle einen Namen und ein Passwort
  4. Notiere die Daten

.env-Datei konfigurieren

Bearbeite die .env-Datei:
cd ~/domains/deinedomain.nl/projekt
nano .env
Passe die Datenbankeinstellungen an:
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=dein_datenbank_name
DB_USERNAME=dein_datenbank_benutzer
DB_PASSWORD=dein_datenbank_passwort

Anwendung konfigurieren

Stelle die Basiskonfiguration ein.

App-Key generieren

php artisan key:generate
Dies generiert einen einzigartigen Verschlüsselungsschlüssel in .env.

Produktionseinstellungen

Passe .env für die Produktion an:
APP_NAME="Meine Laravel App"
APP_ENV=production
APP_DEBUG=false
APP_URL=https://deinedomain.nl
LOG_CHANNEL=daily
LOG_LEVEL=error

Cache-Einstellungen

Optimiere für die Produktion:
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_CONNECTION=database

Storage konfigurieren

Laravel benötigt Schreibzugriff für den Storage.
php artisan storage:link
Dies erstellt einen Symlink von public/storage zu storage/app/public.

Rechte einstellen

# Stelle sicher, dass der Storage beschreibbar ist
chmod -R 775 storage
chmod -R 775 bootstrap/cache

Migrations ausführen

Erstelle die Datenbanktabellen:
# Migrations ausführen
php artisan migrate
# Mit Seeding (falls verfügbar)
php artisan migrate --seed

Produktion optimieren

Optimiere Laravel für Geschwindigkeit.

Konfigurationscache

php artisan config:cache
Dies cached alle Konfigurationen in einer einzigen Datei.

Routen-Cache

php artisan route:cache
Beschleunigt die Routenauflösung erheblich.

View-Cache

php artisan view:cache
Pre-kompiliert alle Blade-Templates.

Autoloader-Optimierung

composer install --optimize-autoloader --no-dev

Alles auf einmal

php artisan optimize

Cronjob einrichten

Der Scheduler von Laravel benötigt einen Cronjob:
  1. Gehe zu DirectAdmin
  2. Gehe zu Advanced Features und dann Cron Jobs
  3. Füge einen Cronjob hinzu:
    * * * * * cd ~/domains/deinedomain.nl/projekt && php artisan schedule:run >> /dev/null 2>&1
    

Häufige Probleme

500-Fehler nach der Installation

  1. Überprüfe, ob .env existiert
  2. Generiere den App-Key: `php artisan key:generate`
  3. Überprüfe die Schreibrechte für den Storage
# Alten Link entfernen
rm -f public/storage
# Neu erstellen
php artisan storage:link

Composer-Speicherfehler

# Speicherlimit erhöhen
php -d memory_limit=512M /usr/local/bin/composer install

Leere Seite ohne Fehlermeldung

  1. Aktiviere Debugging vorübergehend: `APP_DEBUG=true`
  2. Überprüfe den Fehler
  3. Deaktiviere Debugging wieder

Updates durchführen

Halte Laravel auf dem neuesten Stand:
# Abhängigkeiten aktualisieren
composer update
# Neue Migrations ausführen
php artisan migrate
# Cache leeren und neu aufbauen
php artisan optimize:clear
php artisan optimize

Verwandte Artikel

Brauchst du Hilfe?

Wir stehen dir zur Verfügung! Hast du Fragen oder stößt du auf Probleme? Unser Support-Team hilft dir gerne persönlich weiter. Schicke uns eine Nachricht über das Ticketsystem – wir antworten normalerweise innerhalb weniger Stunden und denken gerne mit dir mit.