Configuration de serveurs web pour le déploiement des applications mobile et web
La tache effectuée a la fin du développement et validation d'une application mobile ou web ou même d'un site web, c'est le déploiement dans un serveur web. Configurer un serveur web est une tache relativement longue, et si vous avez une dizaine de serveurs a configurer par exemple vous allez devoir reproduire ces étapes encore et encore et du coup c'est un peu pénible
La communauté et devOps a bien réflichi a comment résoudre cette problématique et a proposer des solutions pour automatiser le déploiement des serveurs, l'installation des outils et leurs configuration. Donc, il en existe pas mal de solutions pour le faire comme Puppet , Chef ou Ansible. Découvrons l'un des outils open source que nous utilisons pour la gestion de configuration.
Pourquoi Ansible ?
Sans se lancer dans une comparaison des solution, Ansible est un outil simple a utiliser, vous allez avoir juste a comprendre comment écrire les fichiers de configuration et après ça va fonctionner.
Pour installer Ansible dans notre machine local on utilise la commande de gestionnaire des packets, sur linux ou mac, car Ansible aura besoin d'un accès SSH vers les machines cibles (Cela suppose l'utilisation d'un VM Linux si vous êtes dans Windows).
Pour installer ansible sur ubuntu en utilisant apt-get
$ sudo apt-get install software-properties-common $ sudo apt-add-repository ppa:ansible/ansible $ sudo apt-get update $ sudo apt-get install ansible
Ensuite, Ansible va s'installer sur la machine en installant des dépendance liées Python.
Définir l'ensemble des machine Hosts ou on veut faire le déploiement
Supposons qu'on veut lancer des serveurs web et des bases de données. La syntaxe du fichier Host a definir localement sera comme suit
[webservers] foo.example.com bar.example.com [dbservers] one.example.com two.example.com three.example.com
Definir les playbooks et les taches
Ensuite, on va créer des fichiers playbooks pour définir la configuration qu'on veut faire dans chacun des serveurs
Voici un exemple d'un Play qui va permettre de faire le mis a jour de Apache et l'activer au lancement du machine
--- - hosts: webservers vars: http_port: 80 max_clients: 200 remote_user: root tasks: - name: ensure apache is at the latest version yum: name=httpd state=latest - name: write the apache config file template: src=/srv/httpd.j2 dest=/etc/httpd.conf notify: - restart apache - name: ensure apache is running (and enable it at boot) service: name=httpd state=started enabled=yes handlers: - name: restart apache service: name=httpd state=restarted
Pour mieux comprendre Ansible, nous vous invitons a découvrir leurs documentations et l'ensemble des fonctionnalités de déploiements et automatisation.
Devinweb,
Agence de développement mobile, web et services cloud
We would love to hear from you, our business team will answer you shortly!