laravel

Vollständige Bereitstellungsanleitung für laravel auf NStrim

Überblick

Laravel ist ein PHP-Webanwendungs-Framework mit ausdrucksvoller, eleganter Syntax. Diese Anleitung führt Sie durch die Bereitstellung einer Laravel-Anwendung auf der NStrim-Plattform von Anfang bis Ende.

Bevor Sie beginnen
Stellen Sie sicher, dass Ihr Dashboard geöffnet ist - Sie benötigen die dort angezeigten Anmeldedaten (Benutzername, Passwort und Datenbankverbindungsdetails).

Schnellstart

1

Repository aus Vorlage erstellen

Gehen Sie in Ihrem Dashboard zum Tab Tools & Deployment. Klicken Sie auf "New Repository", wählen Sie die Laravel-Vorlage aus dem Dropdown, geben Sie einen Repository-Namen und eine Subdomain ein und klicken Sie auf "Create Repository".

2

Ihr Repository klonen

git clone https://<git-server>/<username>/<repo-name>.git
cd <repo-name>
3

Abhängigkeiten installieren

composer install
4

Umgebung konfigurieren

Kopieren Sie die Beispiel-Umgebungsdatei und konfigurieren Sie Ihre Datenbank (siehe detaillierte Anweisungen unten):

cp .env.example .env
php artisan key:generate
5

Migrationen ausführen & hochladen

php artisan migrate
git add .
git commit -m "Initial setup"
git push origin main
Jeder Push zu Git stellt Ihre Anwendung automatisch bereit. Überprüfen Sie Ihre Modul-Arbeits-URL im Dashboard, um Ihre Live-Site zu sehen.

Lokale Entwicklung mit Docker

Wenn Sie PHP nicht lokal installiert haben, können Sie Docker verwenden, um Laravel-Befehle auszuführen. Das Projekt enthält ein Dockerfile, das alles Notwendige einrichtet.

Was ist Docker?
Docker erstellt isolierte "Container" mit der gesamten benötigten Software (PHP, Composer, Node.js), ohne diese auf Ihrem Computer zu installieren. Stellen Sie es sich wie eine leichtgewichtige virtuelle Maschine vor.

Voraussetzungen

Installieren Sie Docker Desktop für Ihr Betriebssystem (Windows, Mac oder Linux).

Befehle mit Docker ausführen

Anstatt php artisan migrate direkt auszuführen, führen Sie es in einem Docker-Container aus:

# Docker-Image erstellen (nur einmal erforderlich)
docker build -t laravel-app .

# Beliebigen Artisan-Befehl ausführen
docker run --rm laravel-app php artisan migrate

# Composer install ausführen
docker run --rm -v $(pwd):/var/www/html laravel-app composer install

# Interaktive Shell im Container
docker run --rm -it -v $(pwd):/var/www/html laravel-app bash
Hinweis
Docker ist optional für die lokale Entwicklung. Die NStrim-Plattform handhabt die Bereitstellung automatisch - Sie benötigen Docker nur, wenn Sie Befehle lokal ohne installiertes PHP ausführen möchten.

Datenbank-Konfiguration

Die NStrim-Plattform stellt Ihnen eine MySQL/MariaDB-Datenbank zur Verfügung. Sie müssen Ihre .env-Datei mit den korrekten Datenbank-Anmeldedaten konfigurieren, um eine Verbindung herzustellen.

Warum die Datenbank konfigurieren?

Laravel verwendet eine .env-Datei zum Speichern umgebungsspezifischer Konfiguration. Standardmäßig verwendet die Vorlage SQLite (eine dateibasierte Datenbank), aber NStrim bietet MySQL für bessere Leistung und Kompatibilität mit realen Szenarien.

Schritt-für-Schritt-Konfiguration

1

Öffnen Sie Ihre .env-Datei

Öffnen Sie die .env-Datei im Projektstamm mit Ihrem Code-Editor.

2

Finden Sie den Datenbankabschnitt

Suchen Sie nach diesen Zeilen (normalerweise um Zeile 23):

DB_CONNECTION=sqlite
# DB_HOST=127.0.0.1
# DB_PORT=3306
# DB_DATABASE=laravel
# DB_USERNAME=root
# DB_PASSWORD=
3

Mit Ihren Anmeldedaten aktualisieren

Ersetzen Sie mit den Anmeldedaten aus Ihrem Dashboard:

DB_CONNECTION=mysql
DB_HOST=db.<session-domain>
DB_PORT=3306
DB_DATABASE=<your-username>
DB_USERNAME=<your-username>
DB_PASSWORD=<your-password>
Wichtig
Ihr Datenbankname und Benutzername sind typischerweise identisch mit Ihrem Dashboard-Benutzernamen (z.B. student01). Überprüfen Sie den Anmeldedatenbereich Ihres Dashboards für genaue Werte.

Konfigurationsbeispiel

Wenn Ihr Benutzername student01 und die Session-Domain demo.nstrim.app ist:

DB_CONNECTION=mysql
DB_HOST=db.demo.nstrim.app
DB_PORT=3306
DB_DATABASE=student01
DB_USERNAME=student01
DB_PASSWORD=your-password-from-dashboard

Migrationen ausführen

Migrationen sind Laravels Methode zum Erstellen von Datenbanktabellen. Nach der Konfiguration Ihrer Datenbank führen Sie Migrationen aus, um die erforderlichen Tabellen einzurichten:

php artisan migrate

Wenn Sie alle Migrationen zurücksetzen und erneut ausführen müssen (dies löscht alle Daten):

php artisan migrate:fresh

Um Migrationen mit Seed-Daten auszuführen (wenn Ihr Projekt Seeder hat):

php artisan migrate:fresh --seed

Projektstruktur

Verstehen, wo sich Dateien befinden:

├── app/                  # Anwendungscode
│   ├── Http/
│   │   └── Controllers/  # Hier befinden sich Ihre Controller
│   └── Models/           # Eloquent Models
├── config/               # Konfigurationsdateien
├── database/
│   ├── migrations/       # Datenbank-Migrationen
│   └── seeders/          # Datenbank-Seeder
├── public/               # Öffentliche Assets (CSS, JS, Bilder)
├── resources/
│   └── views/            # Blade Templates
├── routes/
│   └── web.php           # Web-Routen (URL → Controller)
├── .env                  # Umgebungskonfiguration (DB, etc.)
└── composer.json         # PHP-Abhängigkeiten
        

Nützliche Befehle

php artisan serve Lokalen Entwicklungsserver starten
php artisan migrate Datenbank-Migrationen ausführen
php artisan migrate:status Migrationsstatus prüfen
php artisan make:controller Neuen Controller erstellen
php artisan make:model -m Model mit Migration erstellen
php artisan route:list Alle registrierten Routen auflisten

Fehlerbehebung

SQLSTATE[HY000] [2002] Connection refused

Ursache: Datenbank-Host ist falsch oder Datenbankserver ist nicht erreichbar.

Lösung: Überprüfen Sie, ob DB_HOST in Ihrer .env-Datei mit dem Datenbank-Host aus Ihrem Dashboard übereinstimmt (normalerweise db.<session-domain>).

SQLSTATE[HY000] [1045] Access denied for user

Ursache: Falscher Benutzername oder Passwort.

Lösung: Überprüfen Sie, ob DB_USERNAME und DB_PASSWORD genau mit dem übereinstimmen, was in Ihrem Dashboard angezeigt wird. Passwörter sind Groß-/Kleinschreibung-sensitiv!

SQLSTATE[HY000] [1049] Unknown database

Ursache: Datenbankname existiert nicht.

Lösung: Stellen Sie sicher, dass DB_DATABASE auf Ihren Benutzernamen gesetzt ist (z.B. student01). Ihre Datenbank wurde mit demselben Namen wie Ihr Benutzername erstellt.

No application encryption key has been specified

Ursache: APP_KEY fehlt in der .env-Datei.

Lösung: Führen Sie php artisan key:generate aus, um einen neuen Schlüssel zu generieren.

500 Server Error nach Bereitstellung

Ursache: Normalerweise ein Konfigurationsproblem oder fehlende Abhängigkeiten.

Lösung: Überprüfen Sie:

  • .env-Datei existiert und hat korrekte Werte
  • APP_KEY ist gesetzt (führen Sie php artisan key:generate aus)
  • Alle Abhängigkeiten sind installiert (composer install)
  • Datenbank-Anmeldedaten sind korrekt

Bereitstellungs-Workflow

Jedes Mal, wenn Sie Code zu Git pushen, wird Ihre Anwendung automatisch bereitgestellt:

Code-Änderung git push Auto-Bereitstellung Live!

Ihre bereitgestellte Anwendungs-URL folgt diesem Format:

https://<your-subdomain>-<repo-name>.<session-domain>

Beispiel: https://student01-module-a.demo.nstrim.app

Weitere Informationen finden Sie in der offiziellen Laravel Dokumentation.