Zum Hauptinhalt springen

So installieren Sie eine Laravel-basierte Website

Die Installation erfolgt mit composer. Die als Beispiel verwendete Domain ist example.com und der Benutzer der Website ist user.

Vorbereitung​

Composer installieren​

Installieren Sie composer in FASTPANEL® im Abschnitt "Anwendungen"

Menü zur Anwendungsverwaltung in FASTPANEL

Installation von composer in FASTPANEL

Eine Website erstellen​

Erstellen Sie eine Website in FASTPANEL® und geben Sie im Abschnitt "Website-Verzeichnis" in den Website-Einstellungen das Unterverzeichnis public an.

Angeben des Unterverzeichnisses public

Ein Projekt erstellen​

Um ein Projekt zu erstellen, müssen Sie sich per SSH unter Verwendung der Daten des Website-Eigentümers mit dem Server verbinden. Der Website-Eigentümer wird in der Website-Karte in FASTPANEL angezeigt

Prüfen des Website-Eigentümers in FASTPANEL

Nachdem die SSH-Verbindung hergestellt wurde, sollten Sie das Website-Verzeichnis mit dem folgenden Befehlsbeispiel leeren (geben Sie anstelle von example.com Ihren Website-Namen an)

rm -rf /var/www/user/data/www/example.com/*

Gehen Sie dann in das Website-Verzeichnis

cd /var/www/user/data/www/example.com

Und erstellen Sie ein Projekt

composer create-project laravel/laravel ./
Beispiel für die Ausgabe bei erfolgreicher Installation
73 package suggestions were added by new dependencies, use `composer suggest` to see details.
Package fruitcake/laravel-cors is abandoned, you should avoid using it. No replacement was suggested.
Package swiftmailer/swiftmailer is abandoned, you should avoid using it. Use symfony/mailer instead.
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi
Discovered Package: facade/ignition
Discovered Package: fruitcake/laravel-cors
Discovered Package: laravel/sail
Discovered Package: laravel/sanctum
Discovered Package: laravel/tinker
Discovered Package: nesbot/carbon
Discovered Package: nunomaduro/collision
Package manifest generated successfully.
76 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
> @php artisan vendor:publish --tag=laravel-assets --ansi --force
No publishable resources for tag [laravel-assets].
Publishing complete.
No security vulnerability advisories found
> @php artisan key:generate --ansi
Application key set successfully.

Eine bestimmte Version von Laravel installieren​

Um eine bestimmte Version zu installieren, müssen Sie beim Erstellen eines Projekts die Version am Ende des Befehls in Anführungszeichen angeben

composer create-project laravel/laravel ./ "5.8.*"

Datenbankverbindung​

  • Geben Sie für artisan die Daten für die Verbindung zur Datenbank in der Datei.env im Website-Verzeichnis an
  • Geben Sie für die Website die Daten für die Verbindung zur Datenbank in der Datei ./config/database.php an

Um die Datei .env zu bearbeiten, können Sie über SSH einen Texteditor namens nano verwenden:

nano .env
Beispiel für .env
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=site_db
DB_USERNAME=db_user
DB_PASSWORD=0j9vd3qATwTsXW7C

Um die Datei ./config/database.php per SSH zu bearbeiten:

nano ./config/database.php
Beispiel für ./config/database.php
'mysql' => [
'driver' => 'mysql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'site_db'),
'username' => env('DB_USERNAME', 'db_user'),
'password' => env('DB_PASSWORD', '0j9vd3qATwTsXW7C'),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
]) : [],
],

Im nano-Editor wird Strg+O verwendet, um Änderungen zu speichern, Strg+X wird verwendet, um den Editor zu beenden.

Memcached-Verbindung (optional)​

Sie müssen das PHP-Modul memcached für die auf der Website verwendete PHP-Version installieren sowie die Anwendung installieren.

Das memcached-PHP-Modul installieren​

PHP-Verwaltungsmenü in FASTPANEL

Installation des PHP-Moduls memcached in FASTPANEL

Die memcached-Anwendung installieren​

Menü zur Anwendungsverwaltung in FASTPANEL

Installation der memcached-Anwendung in FASTPANEL

Eine Konfigurationsdatei bearbeiten​

Geben Sie die Daten für die Verbindung zu memcached in der Datei ./config/cache.php an

Beispiel für ./config/cache.php
'memcached' => [
'driver' => 'memcached',
'persistent_id' => env('MEMCACHED_PERSISTENT_ID'),
'sasl' => [
env('MEMCACHED_USERNAME'),
env('MEMCACHED_PASSWORD'),
],
'options' => [
// Memcached::OPT_CONNECT_TIMEOUT => 2000,
],
'servers' => [
[
'host' => env('MEMCACHED_HOST', '127.0.0.1'),
'port' => env('MEMCACHED_PORT', 11211),
'weight' => 100,
],
],
],

Artisan mit einer nicht systemweiten PHP-Version verwenden​

Um artisan mit einer nicht systemweiten PHP-Version zu verwenden, müssen Sie den vollständigen Pfad zur ausführbaren Datei angeben. Beispiel für die Verwendung einer alternativen PHP-Version 8.2:

/opt/php82/bin/php artisan list

Grundlegende Artisan-Befehle​

Befehle sollten im Stammverzeichnis Ihres Projekts ausgeführt werden (in diesem Beispiel example.com)

cd /var/www/user/data/www/example.com

Um eine Liste aller verfügbaren Artisan-Befehle anzuzeigen, können Sie den Befehl verwenden

php artisan list

Starten Sie einen lokalen Laravel-Entwicklungsserver. Sie können die Schlüssel --host und --port angeben

php artisan serve

Migration starten

php artisan migrate

Aktivieren des Wartungsmodus auf der Website, Schlüssel --redirect=/ zum Angeben der Seite für den Wartungsmodus

php artisan down

Den Wartungsmodus auf der Website deaktivieren

php artisan up