Wie man ein Laravel-Projekt auf Hostinger hPanel hochlädt | Schritt-für-Schritt-Anleitung

Melden

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.

  1. 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
  2. Dateien packen: Erstelle ein ZIP-Archiv deines gesamten Projekts.
    • Wichtig: Du kannst den Ordner node_modules weglassen (er wird auf dem Server nicht benötigt).
    • Der Ordner vendor sollte enthalten sein, es sei denn, du möchtest composer install direkt über SSH auf dem Hostinger-Server ausführen.

Schritt 2: Datenbank auf Hostinger erstellen

  1. Logge dich in dein Hostinger hPanel ein.
  2. Navigiere zu Datenbanken -> MySQL-Datenbanken.
  3. 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).
  4. Klicke auf Erstellen.

Schritt 3: Projektdateien hochladen

  1. Gehe im hPanel zu Dateien -> Dateimanager.
  2. Wähle deine Domain aus und öffne den Ordner public_html.
  3. Upload: Klicke auf das Upload-Symbol oben rechts und wähle deine lokale .zip-Datei aus.
  4. 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)

  1. Gehe im hPanel zu Erweitert -> OpenLiteSpeed-Konfiguration (falls verfügbar) oder suche nach Domains -> Subdomains/Edit Domain.
  2. Ändere den Pfad für das "Basisverzeichnis" (Document Root) von public_html auf public_html/public.
  3. 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

  1. Suche im Dateimanager im Ordner public_html die Datei .env.

  2. Falls sie nicht da ist, benenne die .env.example in .env um.

  3. 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.

  1. Gehe im hPanel zu Fortgeschritten -> PHP-Konfiguration.
  2. 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.

  1. Gehe im hPanel zu Fortgeschritten -> SSH-Zugriff und aktiviere ihn.
  2. Verbinde dich über ein Terminal (Putty oder Mac/Linux Terminal) mit deinem Server.
  3. Navigiere in dein Verzeichnis: cd domains/deine-domain.de/public_html
  4. 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 storage und bootstrap/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) oder npm run prod (bei Webpack) ausgeführt hast, bevor du den public-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.

0