Aller au contenu principal

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"

Menu de gestion des applications dans FASTPANEL

Installation de composer dans FASTPANEL

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".

Spécification du sous-répertoire public

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

Vérification du propriétaire 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

Menu de gestion de PHP dans FASTPANEL

Installer le module PHP memcached dans FASTPANEL

Installation de l’application memcached

Menu de gestion des applications dans FASTPANEL

Installer l’application memcached dans FASTPANEL

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