Naar hoofdinhoud springen

Een op Laravel gebaseerde site installeren

De installatie wordt uitgevoerd met composer. Het domein dat als voorbeeld wordt gebruikt is example.com en de gebruiker van de site is user.

Voorbereiding

Composer installeren

Installeer composer in FASTPANEL® in de sectie "Applicaties"

Menu voor applicatiebeheer in FASTPANEL

Composer installeren in FASTPANEL

Een website aanmaken

Maak een website aan in FASTPANEL® en geef de subdirectory public op in de site-instellingen in de sectie "Sitemap".

De subdirectory public opgeven

Een project aanmaken

Om een project aan te maken, moet u via SSH verbinding maken met de server met de gegevens van de site-eigenaar. De site-eigenaar wordt weergegeven in de sitekaart in FASTPANEL

De site-eigenaar controleren in FASTPANEL

Nadat de SSH-verbinding tot stand is gebracht, moet u de sitemap wissen met behulp van het volgende opdrachtvoorbeeld (geef in plaats van example.com uw sitenaam op)

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

Ga daarna naar de sitemap

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

En maak een project aan

composer create-project laravel/laravel ./
Voorbeeld van uitvoer bij een correcte installatie
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.

Een specifieke versie van Laravel installeren

Om een specifieke versie te installeren, moet u bij het aanmaken van een project de versie aan het einde van de opdracht tussen aanhalingstekens opgeven

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

Databaseverbinding

  • Geef voor Artisan de gegevens voor de verbinding met de database op in het bestand .env in de sitedirectory
  • Voor de site geeft u de gegevens voor verbinding met de database op in het bestand ./config/database.php

Om het bestand .env te bewerken, kunt u via SSH een teksteditor met de naam nano gebruiken:

nano .env
Voorbeeld van .env
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=site_db
DB_USERNAME=db_user
DB_PASSWORD=0j9vd3qATwTsXW7C

Om het bestand ./config/database.php via SSH te bewerken:

nano ./config/database.php
Voorbeeld van ./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'),
]) : [],
],

In de nano-editor wordt Ctrl+O gebruikt om wijzigingen op te slaan, Ctrl+X wordt gebruikt om de editor af te sluiten.

Memcached-verbinding (optioneel)

U moet de PHP-module memcached installeren voor de PHP-versie die op de site wordt gebruikt, en ook de applicatie installeren.

De PHP-module memcached installeren

Menu voor PHP-beheer in FASTPANEL

PHP memcached-module installeren in FASTPANEL

De memcached-applicatie installeren

Menu voor applicatiebeheer in FASTPANEL

Memcached-applicatie installeren in FASTPANEL

Een configuratiebestand bewerken

Geef de gegevens voor verbinding met memcached op in het bestand ./config/cache.php

Voorbeeld van ./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 gebruiken met een niet-systeemversie van PHP

Om artisan te gebruiken met een niet-systeemversie van PHP, moet u het volledige pad naar het uitvoerbare bestand opgeven. Voorbeeld van het gebruik van een alternatieve PHP-versie 8.2:

/opt/php82/bin/php artisan list

Basis Artisan-opdrachten

Opdrachten moeten worden uitgevoerd in de hoofdmap van uw project (example.com in dit voorbeeld)

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

Om een lijst van alle beschikbare Artisan-opdrachten te bekijken, kunt u de opdracht gebruiken

php artisan list

Start een lokale Laravel-ontwikkelserver. U kunt de sleutels --host en --port opgeven

php artisan serve

Migratie starten

php artisan migrate

Onderhoudsmodus op de site inschakelen, sleutel --redirect=/ om de pagina voor de onderhoudsmodus op te geven

php artisan down

De onderhoudsmodus op de site uitschakelen

php artisan up