Dans cette vidéo nous allons voir comment faire fonctionner notre application Laravel / Echo sur un serveur Debian.
Installation des outils
Avant de commencer, nous allons installer les outils dont nous avons besoin pour notre projet. Nous avons surtout besoin de PHP 7.1+ pour Laravel et NodeJS pour l'application laravel-echo-server.
Pour PHP nous allons ajouter un nouveau dépôt pour pouvoir installer la version 7.2.
Et on fait de même pour préparer l'installation de NodeJS 8 LTS :
Maintenant nous pouvons installer nos outils
Pour MySQL vous pouvez sécuriser l'installation via la commande mysql_secure_installation.
Pour ajouter une couche de sécurité, je vous conseille d'installer un pare feu et de bloquer les ports dont vous n'avez pas besoin (histoire d'éviter qu'une base de données mal configurée se retrouve accessible publiquement).
Nous allons ensuite installer notre serveur web nginx et le configurer pour gérer notre nom de domaine.
On va ensuite créer un nouveau fichier pour configurer notre site /etc/nginx/sites-available/domain.
Et on fait un lien vers sites-enabled
Configuration de Laravel
Maintenant que nos outils sont prêt, nous allons pouvoir configurer notre application. Pour faire les choses bien nous allons placer notre application dans le dossier utilisateur /home/user/mondomaine.ltd (vous pouvez utiliser git pour automatiser cette partie là ou utiliser un outil comme capistrano / ansistrano, nous verrons ça dans une prochaine vidéo).
On va ensuite créer une base de données MySQL avec un utilisateur qui aura les droits dessus. Pour simplifier les choses, je vais utiliser le nom de domaine comme nom d'utilisateur / base.
On modifier le fichier .env, avec ces nouvelles informations :
Et on génère les différentes clefs (et on migre la base si nécessaire)
Laravel Echo Server
Pour le serveur laravel-echo il va falloir maintenir le processus allumé et s'assurer de son démarrage avec le système. Vous pouvez utiliser plusieurs outils pour cela, mais nous allons aller au plus simple avec pm2.
On installe les outils globalement :
On configure le projet via un JSON
Et on démarre notre projet
Pour que tout démarre avec le système vous pouvez taper la commande
Et suivre les instructions.
Et voila !
Et voila votre site devrait fonctionner. Nous verrons dans une prochaine vidéo comment automatiser les choses avec Ansible.