Přejít na hlavní obsah

Jak nainstalovat web založený na Laravelu

Instalace se provádí pomocí composeru. Doména použitá jako příklad je example.com a uživatel webu je user.

Příprava

Instalace Composeru

Nainstalujte composer v FASTPANEL® v sekci "Aplikace"

Nabídka správy aplikací ve FASTPANEL

Instalace composeru ve FASTPANEL

Vytvoření webu

Vytvořte web v FASTPANEL® a v nastavení webu zadejte podadresář public v sekci "Adresář webu".

Zadání podadresáře public

Vytvoření projektu

Chcete-li vytvořit projekt, musíte se připojit k serveru přes SSH pomocí údajů vlastníka webu. Vlastník webu je zobrazen na kartě webu ve FASTPANEL

Kontrola vlastníka webu ve FASTPANEL

Po navázání připojení přes SSH byste měli vyčistit adresář webu pomocí následujícího příkazu (místo example.com zadejte název svého webu)

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

Poté přejděte do adresáře webu

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

A vytvořte projekt

composer create-project laravel/laravel ./
Příklad výstupu v případě správné instalace
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.

Instalace konkrétní verze Laravelu

Chcete-li nainstalovat konkrétní verzi, musíte při vytváření projektu zadat verzi na konec příkazu v uvozovkách

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

Připojení k databázi

  • Pro Artisan zadejte údaje pro připojení k databázi do souboru .env v adresáři webu
  • Pro web zadejte údaje pro připojení k databázi do souboru ./config/database.php

Chcete-li upravit soubor .env, můžete přes SSH použít textový editor nano:

nano .env
Příklad souboru .env
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=site_db
DB_USERNAME=db_user
DB_PASSWORD=0j9vd3qATwTsXW7C

Chcete-li přes SSH upravit soubor ./config/database.php:

nano ./config/database.php
Příklad souboru ./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'),
]) : [],
],

V editoru nano se ke uložení změn používá Ctrl+O, k ukončení editoru se používá Ctrl+X.

Připojení k Memcached (volitelné)

Pro verzi PHP použitou na webu musíte nainstalovat modul PHP memcached a také samotnou aplikaci.

Instalace modulu PHP memcached

Nabídka správy PHP ve FASTPANEL

Instalace modulu PHP memcached ve FASTPANEL

Instalace aplikace memcached

Nabídka správy aplikací ve FASTPANEL

Instalace aplikace memcached ve FASTPANEL

Úprava konfiguračního souboru

Zadejte údaje pro připojení k memcached do souboru ./config/cache.php

Příklad souboru ./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,
],
],
],

Použití Artisanu s nesystémovou verzí PHP

Chcete-li používat artisan s nesystémovou verzí PHP, musíte zadat úplnou cestu ke spustitelnému souboru. Příklad použití alternativní verze php 8.2:

/opt/php82/bin/php artisan list

Základní příkazy Artisanu

Příkazy by měly být spuštěny v kořenovém adresáři vašeho projektu (v tomto příkladu example.com)

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

Chcete-li zobrazit seznam všech dostupných příkazů Artisanu, můžete použít příkaz

php artisan list

Spustí lokální vývojový server Laravelu. Můžete zadat klíče --host a --port

php artisan serve

Spustit migraci

php artisan migrate

Zapnutí režimu údržby na webu, klíč --redirect=/ slouží k určení stránky pro režim údržby

php artisan down

Vypnutí režimu údržby na webu

php artisan up