Vagrant - Présentation et Installation

1 - Qu’est-ce que Vagrant ?

Vagrant est un logiciel libre et open-source pour la création et la configuration des environnements de développement virtuel.
A l’origine lié à VirtualBox, il est maintenant compatible avec d’autres environnements de virtualisation tels que VMware, Amazon EC2 et Docker.
De plus, il est écrit en Ruby mais compatible avec de nombreux langages tels que PHP, Python, Java, etc…

2 - Comment l’installer ?

Vagrant peut être installé de deux façons différentes :

  • via les sources disponibles sur le site de Vagrant
    >Pour installer via les sources, soyez certains que les deux paquets suivants sont déjà installés :
    dpkg-dev
    virtualbox-dkms

Ensuite, téléchargez le paquet “deb” ou “rpm” depuis le site officiel :
wget https://dl.bintray.com/mitchellh/vagrant/vagrant_[version].[extension .deb ou .rpm]

Ensuite, installez le paquet avec la commande suivante :
Debian/Ubuntu : dpkg -i vagrant[version].deb
CentOS : rpm -iv vagrant
[version].rpm

  • Via RubyGems
    gem install vagrant

3 - Comment l’utiliser ?

Une fois installé, il faut ajouter des “boxes” pour, par la suite, créer les environnements.
Les commandes suivantes permettent de manipuler les boxes :

  • ajouter une box : vagrant box add

  • supprimer une box : vagrant box remove

  • lister les box existantes : vagrant box list

  • Redémarrer une box : vagrant halt

  • transformer une box en package : vagrant package

  • Destruction d’une box : vagrant destroy

  • Effectue un snapshot de la box et la suspend ensuite : vagrant suspend

  • Redémarre une box suspendue : vagrant resume

  • Affiche le statut d’une box : vagrant status

  • Démarre le provisionnement d’une box : vagrant provision

Une fois la box créée à l’aide de la commande vagrant box add, il faut taper la commande vagrant init pour générer le vagrantfile.
Le Vagrantfile permet de configurer l’environnement sur lequel vous allez travailler.

Le Vagrantfile se présente ainsi :
Vagrant::Config.run do |config|
config.vm.box = “base”
# config.vm.boot_mode = :gui
end

Il faudra remplacer la ligne config.vm.box = “base” Par la box qui a été installée.

Par exemple, si vous avez entré la commande suivante :
vagrant box add hashicorp/precise32
Il faudra préciser hashicorp/precise32 après config.vm.box =.

Une fois ces étapes effectuées, la commande vagrant up lancer la création de la machine virtuelle.

Une fois la machine virtuelle prête, vous pourrez vous y connecter à l’aide de la commande vagrant ssh.

Important : Si vous rencontrez une erreur lors de la création de la VM, nous vous suggérons de dé-commenter la ligne config.vm.boot_mode = :gui.

4 - Conclusion

Dans cette série de tutoriels, nous allons aborder le fonctionnement de Vagrant en nous concentrant sur divers aspect tels que les dossiers partagés, le réseau et la configuration des images.
Dans ce document, nous avons expliqué comment installer Vagrant ainsi que les commandes de base liées à la manipulation des box.
Dans le prochain, nous aborderons les différents modes de provisionnement.