Ansible – installer un serveur LAMP automatiquement

Print Friendly, PDF & Email

Hello la team ! j’espère que vous allez bien. A priori, c’est kool vous êtes nombreux à revenir sur le blog vu les statistiques.

La chaîne youtube marche bien aussi et là encore c’est grâce à vous.

Aujourd’hui, je vous propose de revenir sur ansible avec une vidéo qui vous fait découvrir assez simplement comment installer un serveur LAMP de manière orchestrée. Cela est assez simple et tient sur quelques lignes.

Voici la vidéo :

N’oubliez pas que vous pouvez vous abonner à la chaine ou aussi mettre des petits pouces bleus pour m’encourager.

Qu’est-ce que l’on fait dans cette vidéo ?

1- Création du squelette d’un rôle ansible

A la racine, c’est à dire là on l’on trouve notre playbook et notre fichier d’inventory, on créé un répertoire rôles. Comme son nom l’indique c’est ici que nous stockerons les rôles développés ou récupérés de Galaxy. Pour créer la structure d’un rôle lançons :

ansible-galaxy init wordpress

Il ne nous reste plus qu’à éditer nos fichiers et en particulier le fichier mai.yml situé dans le répertoire tasks. C’est la clef d’entrée dans notre rôle.

2- Edition de main.yml dans tasks

La première chose à faire c’est de commencer par mettre à jour le cache de apt. C’est la moindre des choses avant d’installer des paquets.

- name: "[WORDPRESS] - update cache"
  apt:
    update_cache: yes
  become: yes

Le become à yes permet de réaliser une élévation de privilèges comme pour faire un sudo. Et nous utilisons le module apt.

- name: "[WORDPRESS] - install LAMP"
  apt:
   name: "{{ item }}"
   state: latest
  become: yes
  with_items: 
    - apache2
    - mysql-server
    - php7.0-common
    - php7.0-mysql
    - libapache2-mod-php7.0
    - python-mysqldb
    - wget

Vous pouvez le voir nous allons plus loin qu’un simple LAMP. Cela nous permettra d’aller plus loin par la suite dans notre installation de notre wordpress.

Découvrez  [Docker][Ansible] : comment se créer un mini datacenter de test sans VM ? (parc de conteneurs)

Puis lançons le démarrage de nos services :

- name: "[WORDPRESS] - start apache2 mysql"
  service:
    name: "{{ item }}"
    state: started
    enabled: yes
  become: yes
  with_items:
    - apache2
    - mysqld

Ici nous avons utilisé le module service qui nous permet d’intervenir sur systemd.

Vous pouvez aller plus loin en consultant les articles et vidéos spécifiques à ansible sur cette page.