Last active
December 22, 2015 07:39
-
-
Save matyo91/6439249 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Vagrant est un outil qui permet de configurer des machine virtuelles prètes à l'emploi. La finalité étant que tout les développeurs travaillent sur le même environnement par projet. Il n'est plus possible de dire : 'le projet ne fonctionne pas sur ma machine'. | |
# Installation | |
[Installer la dernière version de VirtualBox](https://www.virtualbox.org/wiki/Downloads) | |
[Installer la dernière version de Vagrant](http://downloads.vagrantup.com/) | |
# Utilisation | |
Via le terminal, naviguez vers le dossier racine de votre projet. L'utilisation principale à retenir est la suivante : | |
$ vagrant up | |
Cette commande va configurer automatiquement la machine virtuelle pour le projet. | |
$ vagrant ssh | |
Cette commande vous loggue en ssh sur la machine virtuelle | |
$ vagrant halt | |
Cette commande stoppe correctement la machine virtuelle | |
$ vagrant reload | |
Cette commande est un alias de $ vagrant halt puis $ vagrant up | |
$ vagrant destroy | |
Cette commande detruit la machine virtuelle | |
# Avancé : configuration de vagrant pour le projet | |
## Création de la boxe | |
Le plus simple est de télécharger directement une boxe sur des listes publiques : | |
- http://www.vagrantbox.es/ | |
- http://puppet-vagrant-boxes.puppetlabs.com/ | |
Sinon voici la procédure à suivre pour la création de la boxe à la main (exemple : d'une Debian Wheezy) | |
- Télécharger l'image Debian Wheezy Netinstall CD | |
- Ouvrir VirtualBox | |
- Créer une nouvelle machine virtuelle 'wheezy64' | |
- Accepter les paramètres par défaut et désactiver 'Audio' et 'USB' | |
- Ajouter l'image ISO en tant que CD de démarrage | |
- Installer | |
- Choisir le 'Language' English | |
- Choisir le 'Country' France | |
- Choisir en_US pour la locale | |
- Choisir France pour le keymap | |
- Choisir le nom d'hôte : vagrant-debian-cheezy | |
- Choisr le domaine : vagrantup.com | |
- Choisir le mot de passe root : vagrant | |
- Choisir l'utilisateur vagrant et mot de passe vagrant | |
- Choisr le système de partion par défaut (all one partition) | |
- Choisir l'url du manageur de packet par defaut | |
- Choisir 'Ne pas utiliser le système de mise à jour automatique' | |
- Choisir 'Ne pas participer à la notification' | |
- Ensuite : Cocher uniquement 'Standard system utilities' | |
- Choisir GRUB par défaut | |
- Reboot | |
On installe des packets de base. Se logger en tant que root | |
$ apt-get install build-essentials module-assistant | |
$ m-a prepare | |
$ apt-get install openssh-server zerofree ruby1.9 sudo | |
$ gem install chef --no-ri --no-rdoc | |
$ mkdir /home/vagrant/.ssh | |
$ cd /home/vagrant/.ssh | |
$ wget https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub | |
$ mv vagrant.pub authorized_keys | |
$ cd - | |
$ chmod 700 /home/vagrant/.ssh | |
$ chown -r vagrant:vagrant /home/vagrant/.ssh | |
Ajouter la ligne a /etc/sudoers | |
vagrant ALL=(ALL) NOPASSWD: ALL | |
Installer les Guest Additions VirtualBox : | |
$ mount /media/cdrom | |
$ sh /media/cdrom/VBoxLinuxAdditions.run | |
Alléger la taille de la boxe : | |
# Remove shared docs | |
$ rm -rf /usr/share/doc | |
# Remove guest addition source (not needed by VirtualBox anymore) | |
$ rm -rf /usr/src/vboxguest* | |
$ rm -rf /usr/src/virtualbox-ose-guest* | |
# Remove linux headers | |
$ rm -rf /usr/src/linux-headers* | |
# Remove cache | |
$ find /var/cache -type f -exec rm -rf {} \; | |
# Remove locales `en_US` and a few others are not removed | |
$ rm -rf /usr/share/locale/{af,am,ar,as,ast,az,bal,be,bg,bn,bn_IN,br,bs,byn,ca,cr,cs,csb,cy,da,de,de_AT,dz,el,en_AU,en_CA,eo,es,et,et_EE,eu,fa,fi,fo,fr,fur,ga,gez,gl,gu,haw,he,hi,hr,hu,hy,id,is,it,ja,ka,kk,km,kn,ko,kok,ku,ky,lg,lt,lv,mg,mi,mk,ml,mn,mr,ms,mt,nb,ne,nl,nn,no,nso,oc,or,pa,pl,ps,pt,pt_BR,qu,ro,ru,rw,si,sk,sl,so,sq,sr,sr*latin,sv,sw,ta,te,th,ti,tig,tk,tl,tr,tt,ur,urd,ve,vi,wa,wal,wo,xh,zh,zh_HK,zh_CN,zh_TW,zu} | |
Revenir au single user mode en tapant | |
init 1 | |
Libérer l'espace disque avec zerofree | |
$ mount -o remount,ro /dev/sda1 | |
$ zerofree /dev/sda1 | |
Enfin arrêter la machine virtuelle. | |
$ poweroff | |
Puis packer la box : | |
$ vagrant package --base wheezy64 | |
Et voilà. Plus d'infos sur l'expérience de bloggeurs : | |
- http://blog.codeboutique.com/post/creating-debian-squeeze-box-for-vagrant | |
- https://mikegriffin.ie/blog/20130418-creating-a-debian-wheezy-base-box-for-vagrant/ | |
- http://dominique.broeglin.fr/2012/02/25/wheezy-64-vagrant-base-box.html | |
## Configuration d'un dépot Vagrant | |
Le plus simple est de prendre exemple sur une configuration de fichier de base : | |
- https://github.com/kasperisager/vagrant-lnpp | |
- https://github.com/bryannielsen/Laravel4-Vagrant | |
- https://puphpet.com/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment