среда, 8 августа 2012 г.

Веб интерфейс для VirtualBox - phpvirtualbox

Для удаленного руления виртуалками на десктопе, без VNC и прочих Иксов, обнаружит тут этот самый веб интерфейс. В процессе установки вскрылась парочка граблей, к счастью, успешно преодоленных.
Итак десктоп Ubuntu 10.04 с беспроводкой (это важно, так как одни грабли заключаются именно в этой беспроводке), ставим на него веб сервер с соответствующими модулями (сам VirtualBox уже установлен).
sudo apt-get update
sudo apt-get install apache2 libapache2-mod-php5
cd /var/www
sudo mkdir vboxphp
cd vboxphp
качаем туда сабж:
sudo wget http://phpvirtualbox.googlecode.com/files/phpvirtualbox-4.1-7.zip
и распаковываем
unzip phpvirtualbox-4.1-7.zip
Теперь настроим конфиги, которыми веб-морда будет пользоваться:
sudo vim /etc/default/virtualbox
  VBOXWEB_USER=mik17
  VBOXWEB_HOST=172.17.17.101
в данном случае, указаны логин "хозяина" будущих и текущих виртуалок, а также адрес беспроводного интерфейса.
sudo cp /var/www/vboxphp/phpvirtualbox-4.1-7/config.php-example /var/www/vboxphp/phpvirtualbox-4.1-7/config.php
Копируем шаблон конфига и правим его:
sudo vim /var/www/vboxphp/phpvirtualbox-4.1-7/config.php
...
/* Username / Password for system user that runs VirtualBox */
var $username = 'mik17';
var $password = '***';

/* SOAP URL of vboxwebsrv (not phpVirtualBox's URL) */
var $location = 'http://172.17.17.101:18083/';
...
Проверяем статус сервиса Web VirtualBox (vboxweb-service):
sudo /etc/init.d/vboxweb-service status
несмотря на то, что статус сервиса running, в выводе netstat'а нет прослушиваемого порта 18083. В результате при обращении на страницу веб-морды после аутентификации будет выдаваться ошибка о невозможности соединиться с сервисом на этом порту. Причина в том, что беспроводной интерфейс получает сетевые параметры после аутентификации пользователя, так что для открытия порта на прослушивание нужно перезапустить сервис:
sudo /etc/init.d/vboxweb-service stop
sudo /etc/init.d/vboxweb-service start
Проверим порты:
netstat -a | grep LISTEN
tcp 0 0 *:ssh *:* LISTEN
tcp 0 0 localhost:ipp *:* LISTEN
tcp 0 0 mik17-note.local:18083 *:* LISTEN
Теперь, скорее всего веб интерфейс заведется, но может и выдать такую ошибку (это вторые грабли):
- error - "Error logging to vboxwebsrv".
Лечится данный недуг так:
VBoxManage setproperty websrvauthlibrary default
В результате получаем удаленное управление виртуалками на ноуте.

Комментариев нет:

Отправить комментарий