Laravel alapú webhely telepítése
A telepítés composer használatával történik. A példában használt domain neve: example.com, a webhely felhasználója pedig: user.
Előkészületek
Composer telepítése
Telepítse a composer-t a FASTPANEL® felületén az "Alkalmazások" szakaszban


Webhely létrehozása
Hozzon létre egy webhelyet a FASTPANEL® felületén, és adja meg a public alkönyvtárat a webhely beállításaiban a "Webhely könyvtára" szakaszban.

Projekt létrehozása
A projekt létrehozásához SSH-n keresztül kell csatlakoznia a szerverhez a webhely tulajdonosának adataival. A webhely tulajdonosa a FASTPANEL webhelykártyáján látható

Az SSH-kapcsolat létrehozása után törölje a webhely könyvtárát a következő parancspélda segítségével (az example.com helyett adja meg a webhely nevét)
rm -rf /var/www/user/data/www/example.com/*
Ezután lépjen a webhely könyvtárába
cd /var/www/user/data/www/example.com
És hozza létre a projektet
composer create-project laravel/laravel ./
Példa a kimenetre sikeres telepítés esetén
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.
A Laravel egy adott verziójának telepítése
Egy adott verzió telepítéséhez a projekt létrehozásakor a parancs végén, idézőjelek között meg kell adnia a verziót
composer create-project laravel/laravel ./ "5.8.*"
Adatbázis-kapcsolat
- Az Artisan számára adja meg az adatbázishoz való csatlakozás adatait a webhely könyvtárában található .env fájlban
- A webhelyhez adja meg az adatbázishoz való csatlakozás adatait a
./config/database.phpfájlban
A .env fájl szerkesztéséhez SSH-n keresztül használhatja a nano nevű szövegszerkesztőt:
nano .env
Példa a .env fájlra
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=site_db
DB_USERNAME=db_user
DB_PASSWORD=0j9vd3qATwTsXW7C
A ./config/database.php fájl szerkesztése SSH-n keresztül:
nano ./config/database.php
Példa a ./config/database.php fájlra
'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'),
]) : [],
],
A nano szerkesztőben a Ctrl+O a módosítások mentésére, a Ctrl+X pedig a szerkesztő bezárására szolgál.
Memcached kapcsolat (opcionális)
Telepítenie kell a PHP memcached modult a webhelyen használt PHP-verzióhoz, valamint az alkalmazást is telepítenie kell.
A memcached PHP modul telepítése


A memcached alkalmazás telepítése


Konfigurációs fájl szerkesztése
Adja meg a memcached kapcsolódási adatait a ./config/cache.php fájlban
Példa a ./config/cache.php fájlra
'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,
],
],
],