#1 Le 25/05/2012, à 10:25
- jean8888
Tutoriel VirtualBox HeadLess et phpVirtualBox
Bonjour je suis un stagiaire en informatique, j'ai eu comme projet de recycler de vieux serveurs 32 et 64 bits.
J'ai testé Proxmox qui ma déçu niveau performances.
Je me suis donc tourné vers virtual box sans interface graphique gérer a distance via browser.
Voici Ma Documentation,
Enjoy
VirtualBox HeadLess et phpVirtualBox
VirtualBox est connu pour son utilisation locale et son interface GUI. Pourtant VirtualBox peut être géré par commandes. Ce tutorial permet d’installer VirtualBox sur Ubuntu serveur 12.04LTS. Il n’y a donc pas d’affichage graphique, phpVirtualBox est une application web qui permet la gestion de VirtualBox via un PC distant.
Installation standard Ubuntu serveur 32bits ou 64bits dépendamment de votre matériel.
VirtualBox :
Authentifier en tant que root.
#nano /etc/apt/sources.list
Ajouter le dépôt VirtualBox:
#deb http://download.virtualbox.org/virtualbox/debian oneiric contrib
La clé publique de se dépôt:
#wget -q http://download.virtualbox.org/virtualb … e_vbox.asc -O- | sudo apt-key add -
Update:
#sudo apt-get update
Installation de VitualBox 4.1:
#sudo apt-get install linux-headers-$(uname -r) build-essential virtualbox-4.1 dkms
Installations des paquets d'extensions voir http://www.virtualbox.org/wiki/Downloads
#cd /tmp
#wget http://download.virtualbox.org/virtualb … ox-extpack
#sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.1.8-75467.vbox-extpack
Ajouter root aux utilisateurs de VirtualBox :
#sudo adduser root vboxusers
Créer l'utilisateur vbox :
#adduser vbox
Ajouter ce nouvel utilisateur au groupe vbox.
(Autre façon de faire, permet de vérifier le fichier source) :
#nano /etc/group
Ajouter:
vboxusers:x:118:vbox (118 doit être remplacé par un id non utilisé)
À cette étape il vous serait possible de créer/gérer/modifier des VM par commandes directement sur le serveur.
Exemple de création d’une VM :
#VBoxManage createvm --name "Ubuntu 11.10 Server" --register
#VBoxManage modifyvm "Ubuntu 11.10 Server" --memory 512 --acpi on --boot1 dvd --nic1 bridged --bridgeadapter1 eth0
#VBoxManage createhd --filename Ubuntu_11_10_Server.vdi --size 10000
#VBoxManage storagectl "Ubuntu 11.10 Server" --name "IDE Controller" --add ide
#VBoxManage storageattach "Ubuntu 11.10 Server" --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium Ubuntu_11_10_Server.vdi
*prendre note que cet iso doit être localement sur le serveur, ici dans le repertoire home :
#VBoxManage storageattach "Ubuntu 11.10 Server" --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium /home/ubuntu-11.10-server-amd64.iso
#VBoxHeadless --startvm "Ubuntu 11.10 Server"
Pour accéder à la documentation des commandes :
#VBoxHeadless --help
INTERFACE PHP
1er étape installation d’Apache et php5 :
#apt-get install linux-generic-pae linux-headers-generic-pae
#apt-get install apache2 libapache2-mod-php5 build-essential htop unzip
#/etc/init.d/apache2 restart
2e installation du gestionnaire phpVirtualBox :
#cd /tmp/
*prendre note que la version doit correspondre à votre version de VirtualBox.
#wget http://phpvirtualbox.googlecode.com/fil … -4.1-7.zip
#unzip phpvirtualbox-4.1-7.zip
#cp -a phpvirtualbox-4.1-7 /var/www/phpvirtualbox
#cd /var/www/phpvirtualbox/
#mv config.php-example config.php
#nano config.php
Dans le fichier config.php changer vboxpassword par le mot de passe de l'utilisateur vbox qui a été définit plus haut.
var $username = ‘vbox’;
var $password = ‘vboxpassword’;
Créer un fichier /etc/init.d/vbox.start et ajouter cette ligne:
/usr/bin/vboxwebsrv -b
Ce fichier démarrera le serveur web Vbox au démarrage en mode silencieux.
Lancer ces commandes (donne les droits d’exécutions à votre fichier) :
#chmod +x /etc/init.d/vbox.start
#update-rc.d vbox.start defaults
*Important de redémarrer.
#reboot
Via votre browser accéder à l’interface de phpVirtualBox ex :
http://10.4.126.116/phpvirtualbox/
Au 1er login :
Utilisateur : admin
Mot de passe : admin
Une foi authentifié changer le mot de passe.
Vous pouvez alors créer vos Vms, attacher un ISO local sur le serveur est selon moi la meilleure façon d’installer vos systèmes d’exploitation. L’installation des additions clients « Guest additions » se fait via l’onglet option (settings) de votre Vm. Ils règleront les problèmes d’affichage et de gestion de la sourie lors de la administration par console VNC disponible directement sur l’interface web.
Dernière modification par jean8888 (Le 25/05/2012, à 10:48)
Hors ligne
#2 Le 25/05/2012, à 10:31
- jean8888
Re : Tutoriel VirtualBox HeadLess et phpVirtualBox
Quelqu'un sais s'il est possible de gérer plusieurs serveurs virtualbox/headless avec une seule interface? (Open Source SVP, je sais qu'il est possible d'utilisé Vsphere payant$$)
Est-il possible de faire quelque chose avec phpvirtualbox?
Dernière modification par jean8888 (Le 25/05/2012, à 10:45)
Hors ligne
#3 Le 25/05/2012, à 10:53
- freechelmi
Re : Tutoriel VirtualBox HeadLess et phpVirtualBox
Merci , pour le Tuto, juste pour dire , que j'utilise PhpVirtualBox depusi plus d'un AN et que c'est vraiment un super Outil.
j'ai plusieurs serveurs et il n'y a pas de solution a ma connaissance pour les gèrer ensemble avec la meme interface car elle se connecte a un seul webservice pour l'instant .
Hors ligne
#4 Le 25/05/2012, à 10:58
- demonipuch
Re : Tutoriel VirtualBox HeadLess et phpVirtualBox
Bonjour
Il est possible de gérer plusieurs serveurs virtualbox avec phpvirtualbox. Il faut modifier le fichier config.php de phpvirtualbox.
http://code.google.com/p/phpvirtualbox/ … figuration
Hors ligne
#5 Le 25/05/2012, à 14:01
- jean8888
Re : Tutoriel VirtualBox HeadLess et phpVirtualBox
Merci!
J'essai ça sur le champ.
Hors ligne
#6 Le 25/05/2012, à 15:25
- jean8888
Re : Tutoriel VirtualBox HeadLess et phpVirtualBox
Problème:
Si au serveur local j'écris 127.0.0.1 comme ip ça fonctionne , mais si je donne son ip "10.4.126.xx" je ne peut plus y accéder.
'location' => 'http://127.0.0.1:18083/', fonctionne
'location' => 'http://10.4.126.xx:18083/', fonctionne pas
Dans le cas ou je peut m'authentifier je ne peut pas accéder au 2e serveur (celui la j'ai pas le choix de mettre un IP).
Une autre option à modifier peut-être?
Hors ligne
#7 Le 25/05/2012, à 16:10
- demonipuch
Re : Tutoriel VirtualBox HeadLess et phpVirtualBox
Je pense que votre problème vient du fichier de config du serveur vboxwebsrv. Vous avez bien défini la directive VBOXWEB_HOST??
http://code.google.com/p/phpvirtualbox/ … onfigLinux
Hors ligne
#8 Le 29/05/2012, à 11:03
- ahmeddrira
Re : Tutoriel VirtualBox HeadLess et phpVirtualBox
Bonjour , la commande VBoxHeadless --startvm "Ubuntu 11.10 Server" se block en Al right reserved et reste comme ça , sinon avec le web j'ai créer ma VM mais lorsque je la démarre j'ai pas de visuelle je voix pas l’état de ma machine donc je peut pas procéder à l'installation de l OS
Hors ligne
#9 Le 29/05/2012, à 14:19
- jean8888
Re : Tutoriel VirtualBox HeadLess et phpVirtualBox
Essai de créer les machines virtuelle directement par la console web. Par la suite clique en haut à droite sur console http://phpvirtualbox.googlecode.com/svn … hpvbsm.png puis se connecter (faire attention de prendre la bonne résolution). Sans cette concole vnc c'est assez difficile d'installer un OS.
Hors ligne
#10 Le 29/05/2012, à 14:23
- jean8888
Re : Tutoriel VirtualBox HeadLess et phpVirtualBox
Tutorial pour gestion de plusieurs serveurs avec la même console
merci à demonipuch!
Démarche :
Éditer le fichier de configuration du serveur ayant apache et phpVirtualBox :
#nano /var/www/phpvirtualbox/config.php
Repérer ceci :
/*
var $servers = array(
array(
'name' => 'London',
'username' => 'user',
'password' => 'pass',
'location' => 'http://192.168.1.1:18083/'
),
array(
'name' => 'New York',
'username' => 'user2',
'password' => 'pass2',
'location' => 'http://192.168.1.2:18083/'
),
);
*/
Enlever les /* et*/ sinon le tout est en commentaire.
Éditer les champs selon vos spécifications ex :
[…]
var $location = 'http://10.4.126.116:18083/';
[…]
var $servers = array(
array(
'name' => 'LOCAL',
'username' => 'vbox',
'password' => 'test',
'location' => 'http://127.0.0.1:18083/'
),
array(
'name' => 'DISTANT',
'username' => 'vbox',
'password' => 'test',
'location' => 'http://10.4.126.120:18083/'
),
);
Créer ce fichier (sur toutes les machines qui seront gérées)
#nano /etc/default/virtualbox
Y inclure vos paramètres :
VBOXWEB_USER=vbox (utilisateur VirtualBox)
VBOXWEB_HOST=10.4.126.116 (IP du serveur local)
VBOXWEB_PORT=18083 (port)
Redémarrage des services :
/etc/init.d/vboxweb-service restart
Faire un autre script de démarrage, car si je l’inclus dans le 1er script il faut quand même relancer le service vboxweb au démarrage.
#nano /etc/init.d/vboxweb.start
Inlcure /etc/init.d/vboxweb-service restart
#chmod +x /etc/init.d/vboxweb.start
#update-rc.d vboxweb.start defaults
#reboot
Vous pouvez ainsi accéder au 2e serveur en cliquant sur VirtualBox local/distant :
Hors ligne
#11 Le 29/05/2012, à 15:35
- demonipuch
Re : Tutoriel VirtualBox HeadLess et phpVirtualBox
Essai de créer les machines virtuelle directement par la console web. Par la suite clique en haut à droite sur console http://phpvirtualbox.googlecode.com/svn … hpvbsm.png puis se connecter (faire attention de prendre la bonne résolution). Sans cette concole vnc c'est assez difficile d'installer un OS.
Il me semble que lorsqu'une VM est créee à partir de l'interface web, le VRDP (VirtualBox Remote Desktop Protocol) est activé (si le pack d'extensions d'Oracle est installé bien entendu). Du coup il est possible de se connecter à la VM avec un client RDP. Je préfère cela à la console de phpvirtualbox qui est assez limitée je trouve.
Hors ligne
#12 Le 29/05/2012, à 17:10
- freechelmi
Re : Tutoriel VirtualBox HeadLess et phpVirtualBox
La console de PHPVB est un client RDP en Flash.
ça n'as rien a voir avec l'OS du guest, et donc pas besoin des VB addons. C'est un RDP de l'ecran de la VM , pas de son OS
Hors ligne
#13 Le 29/05/2012, à 17:17
- demonipuch
Re : Tutoriel VirtualBox HeadLess et phpVirtualBox
@freechelmi
VB addons (installés sur le guest) =/= pack d'extensions (installé sur l'host).
Pour se connecter en RDP sur une VM (avec un "vrai" client RDP, pas le client flash de phpvbox), il faut installer le pack d'extension sur le serveur.
Hors ligne
#14 Le 31/05/2012, à 09:52
- freechelmi
Re : Tutoriel VirtualBox HeadLess et phpVirtualBox
Oui je pensais que tu parlais du guest, je confirme qu'on doit effectivement passer par l'installation de ce pack proprio.
Hors ligne