Et hop un petit article rapide et oui je penses encore à ce blog…
Ajout du ppa virtualbox :
sudo vim /etc/apt/source.list.d/virtualbox.list
Y copier la ligne correspondant à votre version d’Ubuntu, dans mon cas la 12.04 :
deb http://download.virtualbox.org/virtualbox/debian precise contrib
Liste complète ici
Ajout de la clé virtualbox et installation :
wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add - sudo aptitude update sudo aptitude install linux-headers-$(uname -r) build-essential virtualbox-4.2 dkms --without-recommends
Installation des additions clientes :
wget http://download.virtualbox.org/virtualbox/4.2.4/Oracle_VM_VirtualBox_Extension_Pack-4.2.4-81684.vbox-extpack sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.2.4-81684.vbox-extpack
Et voila virtualbox est installé, on pourrait s’arrêter ici et le commander en ligne de commande, mais pour plus de facilité on va installer phpvirtualbox qui comme son nom l’indique permet de piloter virtualbox via une interface web.
On partira du principe que vous avez déjà un serveur web (Nginx en l’occurrence, voir Installer Nginx, Paramétrer Nginx).
On pourra s’assurer que les paquet suivant sont installés :
php5-suhosin php-pear unzip
On va tout d’abord créer un utilisateur spécifique qui exécutera le service Vboxweb-service :
useradd -d /home/vbox -m -g vboxusers -s /bin/bash vbox passwd vbox
On configure virtualbox pour lui indiquer que l’on doit utiliser l’utilisateur que l’on vient de créer :
vim /etc/default/virtuabox
On ajoute :
VBOXWEB_USER=vbox
On installe le service vboxweb-service et on le démarre :
update-rc.d vboxweb-service defaults /etc/init.d/vboxweb-service start
On récupère le code de phpvirtualbox et on l’installe :
cd /var/www/localhost wget http://phpvirtualbox.googlecode.com/files/phpvirtualbox-4.2-4.zip unzip phpvirtualbox-4.2-4.zip mv phpvirtualbox-4.2-4 phpvirtualbox
Configuration de phpvirtualbox :
cd /var/www/localhost/phpvirtualbox/ cp config.php-example config.php vim config.php
Et on modifiera les 2 lignes suivantes :
var $username = 'vbox'; var $password = '[Mot de passe de l'utilisateur vbox]';
Enfin en bonus voici ma config nginx :
server { listen 80; server_name localhost, [IP locale]; root /var/www/localhost/phpvirtualbox; include /etc/nginx/common.conf ; index index.html index.php; access_log /var/log/nginx/localhost.access.log; location ~ \.php$ { include /etc/nginx/fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_pass 127.0.0.1:9000; } }
On peut dès lors se connecter sur son serveur (login et mot de passe par défaut de phpvirtualbox : admin/admin)
A l’usage phpvirtualbox est comme virtualbox, c’en est bluffant.
Seul chose à savoir, lorsque l’on démarre une machine virtuel, on peut y accéder via l’onglet « Console » mais il faut changer l’adresse de connexion de null:9001 (ou tout autre port) en [IP locale du serveur virtualbox]:9001.
Enfin plus pratique que l’onglet console, on pourra utiliser rdestop sous Ubuntu (là aussi l’accès se fait via : [IP locale du serveur virtualbox]:9001.)
Sources :
http://www.howtoforge.com/vboxheadless-running-virtual-machines-with-virtualbox-4.1-on-a-headless-ubuntu-12.04-server
http://www.vionblog.com/virtualbox-4-2-and-phpvirtualbox-on-debian/
http://www.howtoforge.com/managing-a-headless-virtualbox-installation-with-phpvirtualbox-on-nginx-ubuntu-12.04