Wie man ein Laravel-Projekt auf Hostinger hPanel hochlädt | Schritt-für-Schritt-Anleitung
Hier ist ein ausführliches, schrittweises Tutorial, wie du dein Laravel-Projekt auf Hostinger (hPanel) veröffentlichst.
Dieses Tutorial führt dich durch den gesamten Prozess – von der Vorbereitung deiner Dateien bis hin zur Konfiguration der Datenbank auf dem Hostinger hPanel.
Schritt 1: Vorbereitung des Laravel-Projekts (Lokal)
Bevor du Dateien hochlädst, solltest du dein Projekt lokal optimieren.
- Cache leeren: Öffne dein Terminal im Projektordner und führe folgende Befehle aus:
php artisan config:cache php artisan route:cache php artisan view:clear - Dateien packen: Erstelle ein ZIP-Archiv deines gesamten Projekts.
- Wichtig: Du kannst den Ordner
node_modulesweglassen (er wird auf dem Server nicht benötigt). - Der Ordner
vendorsollte enthalten sein, es sei denn, du möchtestcomposer installdirekt über SSH auf dem Hostinger-Server ausführen.
- Wichtig: Du kannst den Ordner
Schritt 2: Datenbank auf Hostinger erstellen
- Logge dich in dein Hostinger hPanel ein.
- Navigiere zu Datenbanken -> MySQL-Datenbanken.
- Erstelle eine neue Datenbank:
- MySQL-Datenbankname: z.B.
u123456789_db - MySQL-Benutzername: z.B.
u123456789_user - Passwort: (Erstelle ein sicheres Passwort und notiere es dir).
- MySQL-Datenbankname: z.B.
- Klicke auf Erstellen.
Schritt 3: Projektdateien hochladen
- Gehe im hPanel zu Dateien -> Dateimanager.
- Wähle deine Domain aus und öffne den Ordner
public_html. - Upload: Klicke auf das Upload-Symbol oben rechts und wähle deine lokale
.zip-Datei aus. - Entpacken: Rechtsklick auf die hochgeladene ZIP-Datei -> Extract. Gib einen Punkt
.an, um sie direkt im aktuellen Verzeichnis zu entpacken, oder verschiebe die Dateien später.
Schritt 4: Die Verzeichnisstruktur anpassen (Wichtig!)
Standardmäßig zeigt eine Domain bei Hostinger auf den Ordner public_html. Laravel erwartet jedoch den Einstiegspunkt im Ordner public.
Es gibt zwei gängige Methoden. Methode A wird empfohlen:
Methode A: Dokumentenstamm (Root) ändern (Empfohlen)
- Gehe im hPanel zu Erweitert -> OpenLiteSpeed-Konfiguration (falls verfügbar) oder suche nach Domains -> Subdomains/Edit Domain.
- Ändere den Pfad für das "Basisverzeichnis" (Document Root) von
public_htmlaufpublic_html/public. - Speichere die Änderung.
Methode B: Die .htaccess Lösung (Falls Methode A nicht möglich ist)
Erstelle im Hauptverzeichnis (public_html) eine .htaccess-Datei mit folgendem Inhalt:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
Schritt 5: Die .env Datei konfigurieren
-
Suche im Dateimanager im Ordner
public_htmldie Datei.env. -
Falls sie nicht da ist, benenne die
.env.examplein.envum. -
Bearbeite die Datei und passe die Datenbankeinstellungen an:
APP_ENV=production APP_DEBUG=false APP_URL=https://deine-domain.de DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=u123456789_db DB_USERNAME=u123456789_user DB_PASSWORD=dein_passwort_aus_schritt_2
Schritt 6: PHP-Version prüfen
Laravel benötigt eine aktuelle PHP-Version.
- Gehe im hPanel zu Fortgeschritten -> PHP-Konfiguration.
- Stelle sicher, dass die PHP-Version (z.B. 8.1 oder 8.2) mit den Anforderungen deiner Laravel-Version übereinstimmt.
Schritt 7: Datenbank-Migration (via SSH)
Damit deine Tabellen erstellt werden, musst du die Migration ausführen.
- Gehe im hPanel zu Fortgeschritten -> SSH-Zugriff und aktiviere ihn.
- Verbinde dich über ein Terminal (Putty oder Mac/Linux Terminal) mit deinem Server.
- Navigiere in dein Verzeichnis:
cd domains/deine-domain.de/public_html - Führe den Migrationsbefehl aus:
php artisan migrate(Falls gefragt wird, ob der Befehl in "Production" ausgeführt werden soll, bestätige mit "yes")
Schritt 8: Storage-Link erstellen
Damit Bilder und Uploads korrekt angezeigt werden, muss ein symbolischer Link erstellt werden: Führe im SSH-Terminal aus:
php artisan storage:link
Fehlerbehebung (Troubleshooting)
- 500 Internal Server Error: Prüfe die Berechtigungen der Ordner
storageundbootstrap/cache. Diese müssen beschreibbar sein (Rechtsklick im Dateimanager -> Permissions -> auf 775 oder 755 setzen). - Mix-Manifest not found: Stelle sicher, dass du lokal
npm run build(bei Vite) odernpm run prod(bei Webpack) ausgeführt hast, bevor du denpublic-Ordner hochgeladen hast. - White Screen: Überprüfe das Laravel-Log unter
storage/logs/laravel.log, um die genaue Fehlermeldung zu sehen.
Glückwunsch! Dein Laravel-Projekt sollte nun unter deiner Domain bei Hostinger erreichbar sein.