Comment installer un site basé sur Laravel
L’installation s’effectue à l’aide de composer. Le domaine utilisé comme exemple est example.com et l’utilisateur du site est user.
Préparation
Installation de Composer
Installez composer dans FASTPANEL®, dans la section "Applications"


Création d’un site web
Créez un site web dans FASTPANEL® et spécifiez le sous-répertoire public dans les paramètres du site, dans la section "Répertoire du site".

Création d’un projet
Pour créer un projet, vous devez vous connecter au serveur via SSH en utilisant les données du propriétaire du site. Le propriétaire du site est affiché dans la fiche du site dans FASTPANEL

Une fois la connexion SSH établie, vous devez vider le répertoire du site à l’aide de l’exemple de commande suivant (à la place de example.com, indiquez le nom de votre site)
rm -rf /var/www/user/data/www/example.com/*
Ensuite, accédez au répertoire du site
cd /var/www/user/data/www/example.com
Et créez un projet
composer create-project laravel/laravel ./
Exemple de sortie en cas d’installation correcte
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.
Installation d’une version spécifique de Laravel
Pour installer une version spécifique, lors de la création d’un projet, vous devez spécifier la version à la fin de la commande entre guillemets
composer create-project laravel/laravel ./ "5.8.*"
Connexion à la base de données
- Pour artisan, spécifiez les données de connexion à la base de données dans le fichier.env dans le répertoire du site
- Pour le site, spécifiez les données de connexion à la base de données dans le fichier
./config/database.php
Pour modifier le fichier .env, vous pouvez utiliser un éditeur de texte appelé nano via SSH :
nano .env
Exemple de .env
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=site_db
DB_USERNAME=db_user
DB_PASSWORD=0j9vd3qATwTsXW7C
Pour modifier le fichier ./config/database.php via SSH :
nano ./config/database.php
Exemple de ./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'),
]) : [],
],
Dans l’éditeur nano, Ctrl+O est utilisé pour enregistrer les modifications, Ctrl+X est utilisé pour quitter l’éditeur.
Connexion à Memcached (facultatif)
Vous devez installer le module PHP memcached pour la version de PHP utilisée sur le site, ainsi qu’installer l’application.
Installation du module PHP memcached


Installation de l’application memcached


Modification d’un fichier de configuration
Spécifiez les données de connexion à memcached dans le fichier ./config/cache.php
Exemple de ./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,
],
],
],
Utilisation d’Artisan avec une version non système de PHP
Pour utiliser artisan avec une version non système de PHP, vous devez spécifier le chemin complet vers le fichier exécutable. Exemple d’utilisation d’une version alternative de php 8.2 :
/opt/php82/bin/php artisan list
Commandes Artisan de base
Les commandes doivent être exécutées dans le répertoire racine de votre projet (example.com dans cet exemple)
cd /var/www/user/data/www/example.com
Pour afficher la liste de toutes les commandes Artisan disponibles, vous pouvez utiliser la commande
php artisan list
Lancer un serveur de développement Laravel local. Vous pouvez spécifier les clés --host et --port
php artisan serve
Démarrer la migration
php artisan migrate
Activation du mode maintenance sur le site, clé --redirect=/ pour spécifier la page du mode maintenance
php artisan down
Désactivation du mode maintenance sur le site
php artisan up