Web интерфейс для управления VirtualBox

Posted by

В данной заметке я покажу, как настроить Web интерфейс для управления виртуальными машинами подготовленными через на системе Ubuntu Server 12.04. (если ставите на Desktop‘ую систему, но присутствуют затраты на RAM (оперативная память), а она Вам очень пригодиться при развертывании виртуальных машин, в моем случае так оно и было (её не хватало), но в целом Вам решать.) В управление входят все такие же действия, как и при запуске самой программы локально:

  • выключение
  • перезагрузка
  • создание снимков системы для последующего отката и многое другое.

И так у нас есть система:

ekzorchik@polygon:~$ uname -a && lsb_release -a

Linux polygon 3.2.0-23-generic-pae #36-Ubuntu SMP Tue Apr 10 22:19:09 UTC 2012 i686 i686 i386 GNU/Linux

No LSB modules are available.

Distributor ID: Ubuntu

Description: LTS

Release: 12.04

Codename: precise

Подключим репозитарии virtualbox:

ekzorchik@polygon:~$ sudo nano /etc/apt/sources.list

deb http://download.virtualbox.org/virtualbox/debian precise contrib

ekzorchik@polygon:~$ sudo wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add —

OK

 

Обновляем репозитарии:

ekzorchik@polygon:~$ sudo apt-get update

 

Устанавливаем Virtualbox 4.2 в систему:

ekzorchik@polygon:~$ sudo apt-cache search virtualbox-4.2

virtualbox-4.2 — Oracle VM VirtualBox

ekzorchik@polygon:~$ sudo apt-get install virtualbox-4.2

 

Устанавливаем Apache, формируем виртуальный сайт phpvirtualbox:

  • apache2-utils — utility programs for webservers
  • apache2.2-bin — Apache HTTP Server common binary files
  • apache2.2-common — Apache HTTP Server common files

ekzorchik@polygon:~$ sudo apt-get install apache2 apache2.2-bin apache2.2-common

ekzorchik@polygon:~$ sudo nano /etc/apache2/sites-available/default

приводим к виду:

<virtualhost *:80>

ServerAdmin webmaster@localhost

DocumentRoot /var/www/

</virtualhost>

ekzorchik@polygon:~$ sudo nano /etc/apache2/apache2.conf

ServerName localhost

# Include the virtual host configurations:

Include /etc/apache2/sites-enabled/

ekzorchik@polygon:~$ sudo /etc/init.d/apache2 reload

* Reloading web server config apache2 [ OK ]

ekzorchik@polygon:~$ sudo mkdir -p /var/www/phpvirtualbox

ekzorchik@polygon:~$ sudo mkdir -p /var/www/phpvirtualbox/log

ekzorchik@polygon:~$ sudo nano /etc/apache2/sites-available/phpvirtualbox.conf

<virtualhost *:80>

ServerAdmin webmaster@localhost

ServerName phpvirtualbox

ServerAlias phpvirtualbox

DirectoryIndex index.html

DocumentRoot /var/www/phpvirtualbox

LogLevel warn

ErrorLog /var/www/phpvirtualbox/log/error.log

CustomLog /var/www/phpvirtualbox/log/access.log combined

</virtualhost>

ekzorchik@polygon:~$ sudo service apache2 reload

* Reloading web server config apache2 [ OK ]

ekzorchik@polygon:~$ sudo a2ensite phpvirtualbox.conf

Site phpvirtualbox.conf already enabled

ekzorchik@polygon:~$ sudo apachectl restart

phpVirtualBox — это такая панель управления VirtualBox, доступная по определённому адресу и открываемая в браузере.

ekzorchik@polygon:~$ cd /var/www/phpvirtualbox/

ekzorchik@polygon:/var/www/phpvirtualbox$ sudo wget `wget -q -O — http://phpvirtualbox.googlecode.com/files/LATEST.txt` -O phpvirtualbox-latest.zip

-2013-01-17 16:24:24— http://phpvirtualbox.googlecode.com/files/phpvirtualbox-4.2-4.zip

Resolving phpvirtualbox.googlecode.com (phpvirtualbox.googlecode.com)… 173.194.71.82, 2a00:1450:4010:c04::52

Connecting to phpvirtualbox.googlecode.com (phpvirtualbox.googlecode.com)|173.194.71.82|:80… connected.

HTTP request sent, awaiting response… 200 OK

Length: 3663173 (3,5M) [application/zip]

Saving to: `phpvirtualbox-latest.zip’

100%[========================================================>] 3 663 173 1,04M/s in 3,4s

2013-01-17 16:24:27 (1,04 MB/s) — `phpvirtualbox-latest.zip’ saved [3663173/3663173]

 

Распаковываем архив:

ekzorchik@polygon:/var/www/phpvirtualbox$ sudo unzip phpvirtualbox-latest.zip

ekzorchik@polygon:/var/www/phpvirtualbox$ sudo mv phpvirtualbox-4.2-4/ php

ekzorchik@polygon:/var/www/phpvirtualbox$ cd php

ekzorchik@polygon:/var/www/phpvirtualbox/php$ sudo cp config.php-example config.php-example.backup

ekzorchik@polygon:/var/www/phpvirtualbox/php$ sudo mv config.php-example config.php

ekzorchik@polygon:/var/www/phpvirtualbox/php$ sudo nano config.php

/* Username / Password for system user that runs VirtualBox */

/* Указываем логи и пароль для системного пользователя из под которого будет запускаться приложение Virtualbox, я использовал запуск под своей учетной записью – ekzorchik */

var $username = ‘ekzorchik’;

var $password = ‘Aa1234567’;

ekzorchik@polygon:/var/www/phpvirtualbox/php$ sudo wget -c http://phpvirtualbox.googlecode.com/files/vboxwebsrv

—2013-01-17 16:27:59— http://phpvirtualbox.googlecode.com/files/vboxwebsrv

Resolving phpvirtualbox.googlecode.com (phpvirtualbox.googlecode.com)… 173.194.71.82, 2a00:1450:4010:c04::52

Connecting to phpvirtualbox.googlecode.com (phpvirtualbox.googlecode.com)|173.194.71.82|:80… connected.

HTTP request sent, awaiting response… 200 OK

Length: 2446 (2,4K) [application/x-shellscript]

Saving to: `vboxwebsrv’

100%[========================================================>] 2 446 —.-K/s in 0,06s

2013-01-17 16:27:59 (41,1 KB/s) — `vboxwebsrv’ saved [2446/2446]

ekzorchik@polygon:/var/www/phpvirtualbox/php$ sudo chmod +x vboxwebsrv

ekzorchik@polygon:/var/www/phpvirtualbox/php$ sudo cp vboxwebsrv /etc/init.d/

ekzorchik@polygon:/var/www/phpvirtualbox/php$ sudo vboxwebsrv -b

Oracle VM VirtualBox web service Version 4.2.6

(C) 2007-2012 Oracle Corporation

All rights reserved.

VirtualBox web service 4.2.6 r82870 linux.x86 (Dec 19 2012 14:55:50) release log

00:00:00.013385 main Log opened 2013-01-17T12:28:57.566185000Z

00:00:00.013390 main OS Product: Linux

00:00:00.013391 main OS Release: 3.2.0-23-generic-pae

00:00:00.013393 main OS Version: #36-Ubuntu SMP Tue Apr 10 22:19:09 UTC 2012

00:00:00.013427 main DMI Product Name: VirtualBox

00:00:00.013434 main DMI Product Version: 1.2

00:00:00.013442 main Host RAM: 692MB total, 89MB available

00:00:00.013445 main Executable: /usr/lib/virtualbox/vboxwebsrv

00:00:00.013446 main Process ID: 9276

00:00:00.013448 main Package type: LINUX_32BITS_UBUNTU_12_04

 

Открываем через браузер

К примеру, на этой станции, у меня установлено графическое окружение: Applications – Internet – FirefoxWebBrowser

http://localhost/phpvirtualbox/php

Открываем в браузере Web-интерфейс по управлению Virtualbox

 

Смотрим какие версии пакетов virtualbox, apache и php установлены в системе:

ekzorchik@polygon:~$ sudo dpkg -l | grep -iE ‘(virtualbox|apache|php)’

Смотрим какие версии пакетов virtualbox, apache и php установлены в системе

 

Устанавливаем php5 в систему:

ekzorchik@polygon:~$ sudo apt-get install php5

ekzorchik@polygon:~$ sudo /etc/init.d/apache2 restart

* Restarting web server apache2 … waiting [ OK ]

 

Запускаем снова и открываем браузер:

ekzorchik@polygon:~$ cd /var/www/phpvirtualbox/php/ && vboxwebsrv &

[1] 10870

ekzorchik@polygon:~$ Oracle VM VirtualBox web service Version 4.2.6

(C) 2007-2012 Oracle Corporation

All rights reserved.

VirtualBox web service 4.2.6 r82870 linux.x86 (Dec 19 2012 14:55:50) release log

00:00:00.001171 main Log opened 2013-01-18T04:22:48.494421000Z

00:00:00.001175 main OS Product: Linux

00:00:00.001176 main OS Release: 3.2.0-23-generic-pae

00:00:00.001178 main OS Version: #36-Ubuntu SMP Tue Apr 10 22:19:09 UTC 2012

00:00:00.001205 main DMI Product Name: VirtualBox

00:00:00.001213 main DMI Product Version: 1.2

00:00:00.001220 main Host RAM: 692MB total, 64MB available

00:00:00.001223 main Executable: /usr/lib/virtualbox/vboxwebsrv

00:00:00.001224 main Process ID: 10871

00:00:00.001225 main Package type: LINUX_32BITS_UBUNTU_12_04

00:00:00.164802 SQPmp #### SOAP FAULT: Address already in use [SOAP-ENV:Server]

при открытии браузера наблюдаем окно ввода логина и пароля:

Окно ввода логина и пароля

 

 

 

 

Для входа на Web-интерфейс управления виртуальными машинами используем логин: admin и пароль admin.

http://ekzorchik.ru/phpvirtualbox/php — это мой внутренний адрес в моей локальной сети, в Вашем случае можно указыть как полное DNS имя, так и IP адрес Вашей системы на которой разворачиваете Virtualbox.

На заметку: В данном примере я рассмотрел на примере VirtualBox 4.2.6, но на сегодняшний день уже существует версия 4.2.12, так что принцип и шаге одинаковы один в один.

После успешной авторизации перед нами Web интерфейс управления виртуальными машинами Virtualbox

В результате мы получили и настроили бесплатный Web-интерфейс реализованный на PHP и использующий встроенную в VirtualBox службы удалённого управления VirtualBox Web Service. Всё это было сделано, для того чтобы управлять из любого места своими тестовыми система, будь-то домашняя локальная сеть либо в компании. На этом всё, удачи!!! Следите за обновления на моём блоге.

2 комментария

  1. Отлично. То что надо для постоянного доступа с планшетника сидя на диване. Хорошая заметка, а самое главное практичная и никакой воды…Респект автору!!! :)

Leave a Reply

Ваш e-mail не будет опубликован. Обязательные поля помечены *

5 × 2 =