Vagrant.configure("2") do |config| config.vm.box = "debian/contrib-jessie64" # Redirection de ports (forwarding) : config.vm.network "forwarded_port", guest: 80, host: 8080 # Définir le hostname : config.vm.hostname = "hostname" # Definir des adresses mac aux interfaces (dans le cas d'un routeur virtualisé): # A noté que la 1er interface est utilisé par vagrant pour une connexion via ssh en local. config.vm.network "public_network", adapter: 2, :bridge => "usb0", :mac => "0800279B84E8", ip: "192.168.1.1" config.vm.network "public_network", adapter: 3, :bridge => "eth0" # Les paramètres non mentionné sont celle utilisé par défaut. # Définir une Ip dans un réseau interne appelé "mynetwork" : config.vm.network "private_network", adapter:2, ip: "192.168.50.3", virtualbox__intnet: "mynetwork" # Provisionnement via Ansible : config.vm.provision "ansible" do |ansible| ansible.playbook = "provisioning/playbook.yml" ansible.inventory_path = "provisioning/inventory" ansible.sudo = true end # Installer des paquets lors du premier boot : config.vm.provision "shell", inline: "sudo -p vagrant apt-get install iftop htop iotop tmux -y" # Ou sur plusieurs lignes (les commandes sont exécuter en tant que root) : config.vm.provision "shell", inline: <<-SHELL apt-get update apt-get install -y apache2 # Cela permet de se connecter avec un compte utilisateur de la VM au lieu d'être obligé d'échanger les certificats : sed -i.bak 's/^PasswordAuthentication/#/' /etc/ssh/sshd_config sed -i.bak 's/^PermitRootLogin/#/' /etc/ssh/sshd_config service ssh restart SHELL # Désactive la sécurité par l'échange de clé : config.ssh.insert_key=false # Si la machine hôte dispose que d'un seul core et que le boot est lent (par défaut c'est 300 secondes). config.vm.boot_timeout = 600 # Si l'on souhaite pas avoir de proposition de mise à jour de la VM : config.vm.box_check_update = false # Synchronisation des dossiers entre l'hôte et la machine virtuelle : config.vm.synced_folder "/dossier_machine_hote", "/mnt" # Ou pour désactiver celui par défaut : config.vm.synced_folder "/chemin/absolue/de/la/vm","/vagrant", disabled:true # Personnaliser le hardware de la machine : config.vm.provider "virtualbox" do |vb| vb.gui = true vb.customize ["modifyvm", :id, "--memory", "2048"] vb.customize ["modifyvm", :id, "--cpus", "2"] # Création d'un second disque de 5Go : vb.customize ['createhd', '--filename', "/tmp/disk.vdi", '--size', 5 * 1024] vb.customize ["storageattach", :id, "--storagectl", "SATA Controller", "--port", "1", "--device", "0", "--type", "hdd", "--medium", "/tmp/disk.vdi"] end # pour KVM : config.vm.provider :libvirt do |vb| end