Héberger sur un mutualisé CPanel via FTP (O2Switch)

Voir la vidéo
Description Sommaire

Dans ce nouveau chapitre nous allons voir comment héberger notre application Laravel sur un hébergement mutualisé O2Switch en utilisant le protocole FTP. L'hébergeur O2Switch utilise l'interface d'administration CPanel donc vous pouvez aussi suivre sur un hébergeur qui propose des fonctionnalités similaires.

Configuration de PHP

En amont nous allons modifier la configuration PHP du serveur pour mettre une version suffisante pour une application Laravel (dans notre cas la version 8.1). On peut aussi en profiter pour activer des extensions PHP supplémentaires si c'est nécessaire (les extensions cochées par défaut suffisent).

Création d'un compte FTP

Pour déposer les fichiers sur le serveur nous allons utiliser le protocole FTP. Pour cela il faut commencer par créer un compte FTP depuis l'interface CPanel. Pour des raisons de sécurité on fera pointer la racine de ce dossier FTP vers un dossier spécifique qui contiendra le code de notre application. Par conventions je place les sites dans un dossier sites par exemple.

Création d'une base de données MySQL

O2Switch supporte des bases de données MySQL et PostgreSQL et dans les 2 cas un assistant permet de créer facilement la base et l'utilisateur associé. Vous avez aussi accès depuis CPanel à PHPMyAdmin et PHPPgAdmin pour gérer les données de votre base à distance.

Dépôt des fichiers

Une fois le compte FTP créé on va pouvoir utiliser un client FTP (Filezilla par exemple) pour déposer les fichiers sur le serveur. Pour éviter un transfert trop long on ne déposera pas le dossier vendor et node_modules.

Une fois les fichiers déposés on va modifier le fichier d'environnement pour l'adapter à la configuration O2Switch.

APP_NAME=MonSite
APP_ENV=production
APP_KEY=
APP_DEBUG=false
APP_URL=https://monsite.fr

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=
DB_USERNAME=
DB_PASSWORD=

BROADCAST_DRIVER=log
CACHE_DRIVER=file
FILESYSTEM_DISK=local
QUEUE_CONNECTION=database
SESSION_DRIVER=file
SESSION_LIFETIME=120

MAIL_MAILER=sendmail

Pour l'envoi des emails on peut utiliser sendmail qui permet une configuration simple mais vous pouvez aussi créer un compte email depuis CPanel et utiliser une configuration SMTP.

Vous pouvez aussi modifier le fichier public/.htaccess pour forcer la redirection vers https et sans www.

# Force https
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTM_HOST}%{REQUEST_URI} [L,R=301]

# Force no www
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] 
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

Configuration du domaine

Côté Cpanel on va maintenant se rendre dans la partie Domaines configurés pour modifier le dossier racine associé à notre nom de domaine.

/sites/monsite.fr/public

Une fois cette association faite on va activer le certificat SSL afin que le site soit accessible en https en utilisant l'option Let's encrypt SSL de l'espace d'administration.

Terminal

O2Switch dispose d'un terminal en ligne qui nous permettra de faire les opérations de base pour configurer le projet à distance. On va se rendre dans le dossier du projet et utiliser les commandes artisan pour faire l'initialisation de base.

cd sites/monsite.fr
composer install
php artisan key:generate
php artisan storage:link
php artisan migrate
php artisan cache:clear

Files d'attente

Si vous utilisez les files d'attentes il n'est pas possible de laisser une tâche tourner en fond et il faudra plutôt se reposer sur une tâche récurrente que vous pourrez programmer toutes les minutes.

/usr/local/bin/php /home/XXXXX/sites/monsite.fr/artisan queue:work --stop-when-empty

Conclusion

Et voila ! Votre site et maintenant en ligne !

Publié
Technologies utilisées
Auteur :
Grafikart
Partager