Dans cette première partie nous allons mettre en place le playbook Ansible qui va permettre de provisionner le serveur en y installant les outils nécessaires au fonctionnement du projet.

L'objectif de ce playbook est le suivant :

  • Créer un utilisateur "simple" qui aura les droits sur le projet (mais qui ne sera pas nécessairement un sudoers)
  • Mettre en place un pare-feu et n'ouvrir que le port SSH / HTTP / HTTPS
  • Installer quelques outils d'administration (vim, htop...)
  • Installer PHP (7.2 dans notre cas, mais la version sera paramétrable)
  • Installer et sécuriser MySQL
    • Retirer la base de données test
    • Créer un mot de passe pour l'utilisateur root
    • Créer une base de données pour le site
    • Créer un utilisateur qui aura tous les droits sur cette base de données
  • Installer Nginx et configurer le Vhost pour notre nom de domaine
  • Installer NodeJS et installer les modules nécessaires (pm2, yarn, laravel-echo-server dans notre cas)
  • Installer Redis pour la communication PHP <=> NodeJS via les PubSub