
Pour commencer on configure un nouveau site sur notre serveur Apache
cd /etc/apache2/sites-available/
vim phpvirtualbox
On peut bien sur spécifier un hôte virtuel pour phpvirtualbox, mais je préfère pour l'occasion conserver l'utilisation de son url relative, étant donné que j'ai déjà en place un site par défaut hébergé sur ce dédié.
<VirtualHost *:80>
ServerAdmin admin@server.com
DocumentRoot /var/www/phpvirtualbox
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/phpvirtualbox>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/phpvirtualbox-error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/phpvirtualbox#-access.log combined
</VirtualHost>
Puis on télécharge et on installe virtualbox-4.3
wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | apt-key add -
apt-get update
apt-get install virtualbox-4.3
On vérifie la présence du pack d'extensions (si on veut pouvoir utiliser la console distante, c'est obligatoire)
VBoxManage list extpacks
Ici on peut voir qu'il est absent à la ligne Usable: false , qu'à cela ne tienne on va l'installer tout de suite:
VBoxManage extpack uninstall 'Oracle VM VirtualBox Extension Pack'
wget http://download.virtualbox.org/virtualbox/4.3.8/Oracle_VM_VirtualBox_Extension_Pack-4.3.8-92456.vbox-extpack
VBoxManage extpack install /home/vbox/ISOs/Oracle_VM_VirtualBox_Extension_Pack-4.3.8-92456.vbox-extpack
On va maintenant créer un utilisateur vbox qui exécutera le service Vboxweb-service :
useradd -d /home/vbox -m -g vboxusers -s /bin/bash vbox
passwd vbox
Et configurer virtualbox pour lui indiquer que l’on doit utiliser l’utilisateur que l’on vient de créer:
vim /etc/default/virtuabox
VBOXWEB_USER=vbox
Puis on récupère le code de phpvirtualbox et on l’installe :
cd /var/www/
wget http://sourceforge.net/projects/phpvirtualbox/files/phpvirtualbox-4.3-1.zip/download
unzip download
mv phpvirtualbox-4.3-1/ phpvirtualbox
Enfin on copie et on édite le fichier de configuration par défaut
cd phpvirtualbox/
cp config.php-example config.php
vim config.php
en modifiant les 2 lignes suivantes :
var $username = 'vbox';
var $password = '[Mot de passe de l'utilisateur vbox]';
On aura besoin d'ouvrir au moins un port pour la prendre la main à distance (avec Remmina par exemple). Je modifie donc mon script iptables en conséquence pour ouvrir le port 9001
vim /etc/network/if-pre-up.d/iptables-start
# RDP sur le port 9001
iptables -A INPUT -p tcp --dport 9001 -j ACCEPT
Et je m'assure que la règle soit active
/etc/network/if-pre-up.d/iptables-startiptables -v -L
On peut relancer le service, et le serveur
/etc/init.d/vboxweb-service restart
apachectl restart
Voila qui est fait ! Il ne reste plus qu'à se loguer sur l'interface web (l'utilisateur et mot de passe par défaut son admin:admin) et on peut commencer à créer ses VMs: http://server.com/phpvirtualbox/
Note:
Afin de s'assurer que votre CPU est compatible avec la virtualisation, cherchez les tags "vmx" ou "svm" dans la sortie de cette commande:
egrep '(vmx|svm)' /proc/cpuinfogrep flags /proc/cpuinfo
Vous verrez aussi si "lm" est dans la liste, qui signifie "Long Mode" et implique un CPU 64-bit. (Real Mode pour 16-bit et Protected Mode pour 32-bit).