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