Laravel est un framework PHP puissant, mais il nécessite une structure de dossiers spécifique qui ne correspond pas entièrement à la configuration standard de notre hébergement mutualisé. Dans cet article, nous expliquons comment déployer correctement Laravel sur un hébergement Combell.
Cela n’est pas possible par défaut
Sur un hébergement Combell, votre site web est chargé par défaut depuis le dossier www.
Laravel, quant à lui, s’attend à ce que les fichiers accessibles publiquement se trouvent dans le dossier public.
Cela crée un conflit :
- L’hébergement attend : www
- Laravel attend : public
Si vous ne faites rien, votre site ne fonctionnera pas correctement ou ne sera pas visible du tout.
Solution : symlink de www vers public
La solution recommandée consiste à créer un lien symbolique (symlink) du dossier www vers le dossier public.
Ainsi :
- L’hébergement voit toujours un dossier www
- Mais les fichiers sont en réalité servis depuis le dossier public de Laravel
Étape 1 : Téléverser votre projet Laravel
Téléversez l’ensemble de votre projet Laravel sur votre hébergement, par exemple via FTP ou Git.
Assurez-vous que la structure ressemble à ceci :
/home/username/
├── app
├── bootstrap
├── config
├── public
├── resources
├── routes
└── ...
Étape 2 : Renommer le dossier www existant
Renommez le dossier www en quelque chose comme www_old
Étape 3 : Créer un symlink via SSH
Connectez-vous à votre hébergement via SSH et exécutez la commande suivante :
ln -s public www
Que fait cette commande ?
- www devient un lien vers public
- Le serveur web pense servir depuis www
- Mais en réalité, il utilise le dossier public de Laravel
Solution alternative
Au lieu d’utiliser un symlink, vous pouvez aussi modifier Laravel pour qu’il utilise le dossier www au lieu de public.
Cela nécessite des modifications dans la configuration de Laravel et est moins recommandé.
Plus d’informations ici :
https://developerhowto.com/2018/11/12/how-to-change-the-laravel-public-folder/