Installer PhpVirtualBox sur FreeBSD

Introduction

J'ai un peu tardé à m'occuper de ce module, qui permet d'administrer VirtualBox via une console web (donc à distance). Il est intéressant, mais limité (pas de console vraiment fonctionnelle permettant d'accéder aux VMs... juste les lancer/arrêter/configurer).
J'ai donc décidé de m'y mettre.

Voici comment faire.

Pré-requis :


1) Installer Virtualbox

Passer en root :

su -

Pour l'installation de VirtualBox, je mets tout en blocs pour aller plus vite.
Faîtes des copiers/collers !

pkg ins -y virtualbox-ose ; pkg ins -y virtualbox-ose-additions

sysrc vboxguest_enable=YES vboxservice_enable=YES vboxnet_enable=YES

echo 'vboxdrv_load='YES'' >> /boot/loader.conf ; echo '[system=10]' >> /etc/devfs.rules ; echo 'add path 'usb/*' mode 0660 group operator' >> /etc/devfs.rules ; sysrc devfs_system_ruleset='system'

Veuillez remplacer $user par le nom de l'utilisateur de VirtualBox (un utilisateur système que vous avez créé lors de l'installation de FreeBSD.. sur le blog c'est toujours marcel) dans les 2 commandes suivantes :

pw groupmod vboxusers -m $user

pw groupmod operator -m $user

Derniers petits réglages relatifs aux accès aux CD, cartes réseaux en ponts etc..
(copier/coller) :

sysrc hald_enable=YES ; echo 'perm cd* 0660' >> /etc/devfs.conf ; echo 'perm xpt0 0660' >> /etc/devfs.conf ; echo 'perm pass* 0660' >> /etc/devfs.conf ; chown root:vboxusers /dev/vboxnetctl ; chmod 0660 /dev/vboxnetctl ; echo 'own vboxnetctl root:vboxusers' >> /etc/devfs.conf ; echo 'perm vboxnetctl 0660' >> /etc/devfs.conf

Redémarrez votre système :

reboot

2) Installer PhpVirtualBox

Comme je le disais, un paquet phpvirtualbox existe sur FreeBSD... et il est 'presque' parfait.
Presque, car phpvirtualbox ne peut pas fonctionner sans serveur web [...]
Nous allons donc également installer apache et le module php pour apache et configurer tout ça.

Passer en root

su -

Installer :

pkg ins -y apache24 mod_php81 phpvirtualbox

service apache24 enable

Configurer php pour Apache :
(copiez/collez)

echo '<FilesMatch "\.(php|phtml|inc)$">' > /usr/local/etc/apache24/Includes/php.conf ; echo ' SetHandler application/x-httpd-php' >> /usr/local/etc/apache24/Includes/php.conf ; echo '</FilesMatch>' >> /usr/local/etc/apache24/Includes/php.conf ; echo '<FilesMatch "\.phps$">' >> /usr/local/etc/apache24/Includes/php.conf ; echo ' SetHandler application/x-httpd-php-source' >> /usr/local/etc/apache24/Includes/php.conf ; echo '</FilesMatch>' >> /usr/local/etc/apache24/Includes/php.conf

Placer le dossier phpvirtualbox (qui est apparu lors de l'installation du paquet) dans le répertoire du site par défaut d'apache :

mv /usr/local/www/phpvirtualbox /usr/local/www/apache24/data/

Modifiez le fichier de configuration config.php dans le dossier phpvirtualbox

nano /usr/local/www/apache42/data/phpvirtualbox/config.php

La première chose que nous allons modifier, c'est indiquer à phpvirtualbox le nom et le mot de passe de l'utilisateur système qui va se servir de virtualbox (rappelez-vous, ici c'est toujours marcel, mot de passe marcel)

###### Repérer les lignes suivantes ######
/* Username / Password for system user that runs VirtualBox */
var $username = 'vbox';
var $password = 'pass';

/* SOAP URL of vboxwebsrv (not phpVirtualBox's URL) */
var $location = 'http://127.0.0.1:18083/';


###### Les modifier en ######
var $username = 'marcel';
var $password = 'marcel';

/* SOAP URL of vboxwebsrv (not phpVirtualBox's URL) */
var $location = 'http://localhost:18083/';

(ne pas oublier de bien remplacer 127.0.0.1 par localhost en bas ! Sinon ça ne fonctionnera pas !)

Lancer le service vboxwebsrv

service vboxwebsrv enable ; service vboxwebsrv start

malheureusement, ça ne suffit pas... Il faut VRAIMENT le lancer.
Donc on va le faire en arrière-plan pour ne pas se gâcher un shell :

nohup vboxwebsrv &

(tappez sur la touche Entrée après pour revenir au shell, vboxwebsrv travaille en arrière-plan)

On relance Apache et le tour est joué :

service apache24 restart

Rendez-vous à présent dans votre navigateur internet et tapez l'adresse IP du serveur FreeBSD :

http://IP-SRV-FREEBSD/phpvirtualbox

Un écran d'identification apparaît, par défaut c'est admin / admin
Vous pourrez le changer plus tard dans 'File', 'Change password'.



↑ Haut de page