Construction d’une Box Vagrant Fedora 20

  1. Dans VirtualBox, créer une nouvelle machine virtuelle en spécifiant :
    • Nom = fedora20
    • Type = Linux
    • Version = Fedora (64bits)
    • Mémoire vive = 768Mo
    • Disque virtuel de type VMDK (Disque Virtual Machine) de 10Go alloué dynamiquement
  2. Dans l’onglet Stockage de la configuration de la VM, associer l’image disque du DVD d’installation Fedora (Fedora-Live-Xfce-x86_64-20-1.iso) au lecteur CD/DVD. Vérifier également que la première interface réseau est de type NAT. Positionner le disque dur comme premier périphérique de démarrage, suivi du lecteur de CD/DVD.

  3. Démarrer la machine virtuelle fedora20, et réaliser une installation de Fedora sur disque dur :
    • Langue d’installation = Français
    • Clavier = Français
    • Source de l’installation = Miroir le plus proche
    • Destination de l’installation = choisir le disque ATA VBOX HARDDISK et choisir Configurer automatiquement mon installation de Fedora sur les disques sélectionnés et Partition standard comme schéma de partitionnement
    • Mot de passe root = anf2014
    • Utilisateur = identifiant vagrant, mot de passe vagrant, cocher la case faire de cet utilisateur un administrateur
  4. Relancer la machine virtuelle sur le système installé (pas le Live-CD), et ouvrir une session avec l’utilisateur vagrant.

  5. Mettre à jour le système

    sudo yum update
    
  6. Modifier la configuration de sudo afin qu’il ne demande plus de mot de passe. Il est également nécessaire de commenter la ligne imposant un tty à sudo. Dans /etc/sudoers :

    #Defaults requiretty
    %wheel	ALL=(ALL:ALL)	NOPASSWD: ALL
    
  7. En tant que root, installer et configurer le service SSH de façon à ce que l’utilisateur Vagrant puisse se connecter avec un couple de clé

    $ yum install wget openssh-server
    $ systemctl start sshd.service
    $ systemctl enable sshd.service
    $ mkdir /home/vagrant/.ssh
    $ wget --no-check-certificate https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub' -O /home/vagrant/.ssh/authorized_keys
    $ chmod 700 /home/vagrant/.ssh
    $ chmod 600 /home/vagrant/.ssh/authorized_keys
    $ chown -R vagrant.vagrant /home/vagrant/.ssh
    
  8. Dans le menu VirtualBox, chosir Devices -> Insert Guest Additions CD Image…. Ensuite, en tant que root, monter le CD et lancer l’installation des outils VirtualBox. Au préalable, il est nécesssaire d’installer les outils et fichiers de développement du noyau.

    $ yum install kernel-headers kernel-devel gc
    $ mount /dev/cdrom /media
    $ cd /media
    $ ./VBoxLinuxAdditions.run 
    $ umount /media
    $ eject /dev/cdrom
    
  9. Installer puis activer le serveur xrdp pour autoriser les connexions RDP

    $ sudo yum install xrdp
    $ sudo systemctl start xrdp.service
    $ sudo systemctl start xrdp-sesman.service
    $ sudo systemctl enable xrdp.service
    $ sudo systemctl enable xrdp-sesman.service
    
  10. Ajouter une règle au firewall, autorisant les connexions entrantes pour le protocole RDP (TCP, port 3389). Ouvrir l’outil firewall-config :
    • Dans la liste déroulante intitulée configuration, choisir Permanent
    • Aller sur l’onglet Services
    • Ajouter un service avec le + (plus) placé sous la liste des services
      • Nom = RDesktop
      • Court = RDP
    • Dans la liste de services sélectionner le service RDesktop
    • Sur l’onglet de droite Ports et protocoles clic sur Ajouter
      • Port = 3389
      • Protocole = TCP
    • Revenir sur l’onglet Zones, dans le menu Options choisir Recharger FirewallD pour faire apparaitre RDesktop dans la liste des services
    • Dans la liste des services, en ayant sélectionné public comme zone, cocher la case associée au service RDesktop
    • Dans la liste déroulante intitulée configuration, choisir Temps d’execution
    • Dans la liste des services, en ayant sélectionné public comme zone, cocher la case associée au service RDesktop
    • appliquer les changements avec l’item Recharger FirewallD du menu Options
    • Sortir de l’outil avec Fichier -> Quitter

    Vérifier que la règle correpondante apparait bien dans IPtables

    $ sudo iptables -L IN_public_allow
    
  11. Installer des paquets complémentaires

    $ sudo yum install firefox 
    
  12. Minimiser l’espace disque occupé par la création temporaire d’un gros fichier

    $ sudo yum clean packages
    $ sudo dd if=/dev/zero of=/EMPTY bs=1M
    $ sudo rm /EMPTY
    
  13. Arrêter la machine virtuelle. Depuis une invite de commande du système hote, lancer la construction de la Box.

    $ vagrant package --base fedora20
    $ mv package.box fedora20.box