Dies ist ein Beispiel dafür, wie du eine Laravel-Anwendung so einrichtest, dass sie von einem GitHub-Repository aus auf den Anwendungs-Hosting-Diensten von Kinsta bereitgestellt wird.

Laravel ist eine normale PHP-basierte Anwendung. Während des Bereitstellungs-Prozesses installiert Kinsta automatisch die in deiner composer.json-Datei definierten Abhängigkeiten.

  1. Melde dich bei GitHub an und erstelle ein neues Repository aus dieser Vorlage (Diese Vorlage verwenden > Neues Repository erstellen): Kinsta – Hello World – Laravel.
  2. Für Laravel muss die Umgebungsvariable APP_KEY gesetzt sein. Du kannst einen Anwendungs-Schlüssel selbst lokal generieren oder diesen Online-Laravel-Schlüsselgenerator verwenden.
  3. Füge in MyKinsta eine Anwendung mit dem Hello World-Laravel-Repository hinzu. In Umgebungsvariablen gibst du unter Key 1 APP_KEY ein, und unter Value 1 fügst du den in Schritt 2 generierten Schlüssel ein und wählst Available during runtime und Available during build process.
  4. Der Befehl Start kann für den Webprozess leer gelassen werden, da Kinsta den erforderlichen Befehl bei der ersten Bereitstellung automatisch erkennt.
    Hinweis: Die erste Bereitstellung kann fehlschlagen, weil du die erforderlichen Buildpacks hinzufügen musst.
  5. Damit die Anwendung die CSS/JS-Dateien bauen kann, musst du zwei Buildpacks hinzufügen: Node.js und PHP. Klicke auf Einstellungen > Buildpack hinzufügen, wähle Node.js > Buildpack hinzufügen. Wiederhole dies für PHP.
    Das Buildpack, das die Hauptsprache deiner Anwendung enthält, muss das letzte in der Liste der Buildpacks sein. In diesem Beispiel ist PHP die Hauptsprache und sollte das letzte Buildpack in der Liste sein.
  6. Klicke auf Bereitstellungen > Jetzt bereitstellen > wähle den gewünschten Zweig > Anwendung bereitstellen.

Die Anwendung ist verfügbar, sobald der Build abgeschlossen ist und die Kinsta-Willkommensseite unter der URL deiner Anwendung geladen wird.

Kinsta-Willkommensseite nach erfolgreicher Bereitstellung von Laravel
Kinsta-Willkommensseite nach erfolgreicher Bereitstellung von Laravel

Willst du lieber die Videoversion sehen?

Eine Datenbank verbinden

Wenn du deine Anwendung mit einer Datenbank verbinden möchtest, erstelle zunächst eine Datenbank im selben Rechenzentrum, in dem sich deine Anwendung befindet.

  1. Füge eine Datenbank hinzu.
  2. Verbinde die Datenbank mit deiner Anwendung, indem du eine interne Verbindung hinzufügst und das Kontrollkästchen Umgebungsvariablen hinzufügen… aktivierst. Dadurch werden automatisch die Umgebungsvariablen aus der Datenbank eingefügt.
  3. Einige der Variablennamen (Schlüssel), die Laravel verwendet, unterscheiden sich von denen, die in MyKinsta automatisch erstellt werden. Bearbeite die Variablenschlüssel nach Bedarf, damit sie mit den Variablennamen übereinstimmen, die in Laravels datenbank.php-Datei definiert sind. Im Folgenden findest du die entsprechenden Variablennamen (Schlüssel) für die von Laravel unterstützten Datenbanktypen.

Umgebungsvariablen

MySQL und PostgreSQL

Automatisch generierter Schlüssel

Laravel Key
DB_HOST DB_HOST
DB_PORT DB_PORT
DB_NAME DB_DATABASE
DB_USER DB_USERNAME
DB_PASSWORD DB_PASSWORD
DB_CONNECTION_URL DB_URL


Redis

Automatisch generierter Schlüssel Laravel Key
DB_HOST REDIS_HOST
DB_PORT REDIS_PORT
DB_NAME REDIS_DB
DB_USER REDIS_USERNAME
DB_PASSWORD REDIS_PASSWORD
DB_CONNECTION_URL REDIS_URL

Laravel APP_KEY

Laravel verlangt, dass die Umgebungsvariable APP_KEY gesetzt ist. Wenn dieser Schlüssel nicht gesetzt ist, siehst du eine 500-Fehlerseite, die von Laravel ausgegeben wird. Du kannst einen Anwendungs-Schlüssel selbst lokal generieren oder den Online-Laravel-Schlüsselgenerator verwenden. Sobald du einen Schlüssel hast, kannst du ihn als Umgebungsvariable hinzufügen.

Buildpacks

In den meisten Fällen möchtest du, dass die Anwendung die CSS/JS-Dateien erstellt. Deshalb musst du diese beiden Buildpacks hinzufügen:

  • Node.js
  • PHP

Das Buildpack, das die Hauptsprache deiner Anwendung enthält, muss das letzte in der Liste der Buildpacks sein. In diesem Beispiel ist PHP die Hauptsprache und sollte das letzte Buildpack in der Liste sein.

Webserver-Einrichtung

Start-Befehl

Der Standard-Webprozess ist heroku-php-apache2. Dieses Beispiel enthält eine .htaccess-Datei, die alle Anfragen an public/index.php für Laravel umleitet. Bei Bedarf kannst du diesen Befehl beim Hinzufügen deiner Anwendung (Prozesse einrichten) oder auf der Seite Prozesse der Anwendung nach der Bereitstellung ändern. Du kannst verwenden:

  • heroku-php-apache2 /public
  • php artisan serve --host 0.0.0.0 --port 8080