Construction d’une Box Vagrant Debian Wheezy

  1. Dans VirtualBox, créer une nouvelle machine virtuelle en spécifiant :
    • Nom = wheezy
    • Type = Linux
    • Version = Debian (64bits)
    • Mémoire vive = 256Mo
    • Disque virtuel de type VMDK (Disque Virtual Machine) de 8Go alloué dynamiquement
  2. Dans l’onglet Stockage de la configuration de la VM, associer l’image disque du DVD d’installation Debian (debian-7.5.0-amd64-netinstall.iso) au lecteur CD/DVD. Vérifier également que la première interface réseau est de type NAT.

  3. Démarrer la machine virtuelle wheezy, et réaliser une installation minimal de Debian. Pour éviter tout problème de version de paquet, et notamment avoir des paquets plus récents que ceux disponibles lors de l’ANF, se placer dans un réseau où seul le mirroir en place lors de l’ANF est disponible (pas d’accès au dépot security).

    • Langue = English
    • Pays = France
    • Locale = en_US.UTF-8
    • Disposition clavier = French
    • Hostname = debian
    • Domain name = localdomain
    • Root password = anf2014
    • Création d’un utilisateur vagrant, ayant comme mot de passe vagrant
    • Méthode de partitionnement du disque = Guidé, utilisant la totalité du disque sda et plaçant tous les fichiers dans une seule partition
    • Mirroir = www.loire.tp
    • Logiciels à installer = Standard System Utilities
    • Installer GRUB dans le MBR
  4. Installer quelques paquets supplémentaires

    $ apt-get install debconf-utils sudo screen
    
  5. Dans le dossier /etc/default créer un fichier keyboard.osx et y placer le contenu ci-dessous. Cela permettra de changer la carte clavier lorsque la VM est utilisée depuis un ordinateur Apple.

    # KEYBOARD CONFIGURATION FILE
    
    # Consult the keyboard(5) manual page.
    
    XKBMODEL="pc105"
    XKBLAYOUT="fr"
    XKBVARIANT="mac"
    XKBOPTIONS="lv3:switch,compose:lwin"
    
  6. Ajouter l’utilisateur vagrant au groupe sudo. Modifier la configuration de sudo dans /etc/sudoers, pour qu’il ne demande plus de mot de passe :

    %sudo	ALL=(ALL:ALL)	NOPASSWD: ALL
    
  7. Installer SSH et déposer dans le compte de l’utilisateur la clé publique SSH

    $ apt-get install openssh-server
    $ mkdir /home/vagrant/.ssh
    $ chmod 700 /home/vagrant/.ssh
    $ chown vagrant.vagrant /home/vagrant/.ssh
    $ wget --no-check-certificate 'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub' -O /home/vagrant/.ssh/authorized_keys
    $ chmod 600 /home/vagrant/.ssh/authorized_keys
    $ chown vagrant.vagrant /home/vagrant/.ssh/authorized_keys
    
  8. Mettre à jour le système. On en profite également pour libérer de l’espace disque en enlvant les fichiers .deb des paquets déjà installés.

    $ apt-get update
    $ apt-get upgrade
    $ apt-cache clean
    
  9. Dans le menu VirtualBox, après avoir ouvert la console de la VM, choisir Devices -> Insert Guest Additions CD Image…. Ensuite, en tant que root, monter ce CD et lancer l’installation. Au préalable, il convient d’installer les outils de compilation.

    $ apt-get install linux-headers-$(uname -r) build-essential
    $ mount /media/cdrom
    $ cd /media/cdrom
    $ /bin/sh VBoxLinuxAdditions.run
    $ cd /root
    $ umount /media/cdrom
    $ eject /dev/cdrom
    $ reboot
    
  10. Précharger les paquets logicel pour une installation hors ligne.

       $ apt-get install --download-only slapd ldap-utils bind9 bind9-doc bind9utils
    
  11. Supprimer les règles UDEV dependantes du matériel réseau et minimiser l’espace disque occupé par la création temporaire d’un gros fichier

    $ rm /etc/udev/rules.d/70-persistent-net.rules
    $ mkdir /etc/udev/rules.d/70-persistent-net.rules
    $ rm /lib/udev/rules.d/75-persistent-net-generator.rules
    $ dd if=/dev/zero of=/EMPTY bs=1M
    $ rm /EMPTY
    
  12. Arrêter la machine virtuelle. Depuis une invite de commande du système hote, lancer la construction de la Box.

    $ vagrant package --base wheezy
    $ mv package.box debian_wheezy.box