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 :
- un serveur avec FreeBSD 13.2/14 installé
- une connexion internet configurée.
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