Virtualbox linux web interface

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

В данной заметке я покажу, как настроить Web интерфейс для управления виртуальными машинами подготовленными чере з VirtualBox на системе 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.

Description: Ubuntu 12.04 LTS

Подключим репозитарии 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 —

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

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

# Include the virtual host configurations:

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

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

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’

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 */

Читайте также:  Получше чем kali linux

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

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]

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

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 &

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

(C) 2007-2012 Oracle Corporation

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, так что принцип и шаге одинаковы один в один.

Читайте также:  Точка монтирования efi linux

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

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

От ekzorchik

Всем хорошего дня, меня зовут Александр. Я под ником — ekzorchik, являюсь автором всех написанных, разобранных заметок. Большинство вещей с которыми мне приходиться разбираться, как на работе, так и дома выложены на моем блоге в виде пошаговых инструкции. По сути блог — это шпаргалка онлайн. Каждая новая работа где мне случалось работать вносила новые знания и нюансы работы и соответственно я расписываю как сделать/решить ту или иную задачу. Это очень помогает. Когда сам разбираешь задачу, стараешься ее приподнести в виде структурированной заметки чтобы было все наглядно и просто, то процесс усвоения идет в гору.

Источник

Аникин

Установка virtualbox с web-интерфейсом на сервер.

Имеем сервер на ubuntu 14.04. Нужно установить virtualbox с веб интерфейсом, чтобы установить несколько виртуальных машин на сервер.
Скрипт автоустановки для ленивых

Установка virtualbox.

Для начала установим сам virtualbox последней версии с репозиториев oracle.
Добавляем репозиторий и импортируем ключ

# echo "deb http://download.virtualbox.org/virtualbox/debian $(lsb_release -sc) contrib" | sudo tee -a /etc/apt/sources.list # wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -

Устанавливаем virtualbox и модули ядра

# apt-get update # apt-get install dkms virtualbox-5.0

Установим пакет дополнений гостевой ОС. Смотрим версию virtualbox

# vboxwebsrv -V Oracle VM VirtualBox web service Version 5.0.2 (C) 2007-2015 Oracle Corporation All rights reserved. 5.0.2r102096

И на этой странице берем ссылку для дополнений для нужной нам версии.
Скачиваем

# wget http://download.virtualbox.org/virtualbox/5.0.2/Oracle_VM_VirtualBox_Extension_Pack-5.0.2-102096.vbox-extpack
# VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-5.0.2-102096.vbox-extpack

Теперь создадим юзера, под которым будут работать наши виртуальные машины и добавим его в группу vboxusers

# adduser vbox # usermod -a -G vboxusers 'vbox'

Не забываем пароль, который мы назначили пользователю vbox. Он нам ещё потребуется.
Настраиваем веб-сервис virtualbox

# nano /etc/default/virtualbox
VBOXWEB_USER=vbox #пользователь под которым работает virtualbox VBOXWEB_HOST=xxx.xxx.xxx.xxx #ip VBOXWEB_PORT=18083 #порт для веб-сервиса
# service vboxweb-service stop # service vboxweb-service start

Установка web-интервейса.

Для работы веб интерфейса нам потребуется веб-сервер(мы будем использовать nginx) и php. Установим их.

# apt-get install nginx php5-common php5-fpm php-pear

Для ubuntu 16.04 кликнуть сюда

# apt-get install nginx php-common php-fpm php-pear php-soap

Создадим каталог для виртуального хоста.

# mkdir /var/www && mkdir /var/www/phpvirtualbox

На этой странице мы можем получить ссылки на архивы веб-интерфейса phpvirtualbox для разных версий virtualbox. В данном случае скачиваем и распаковываем в каталог виртуального хоста phpvirtualbox для нашей версии.

# cd /var/www/phpvirtualbox/ && wget http://sourceforge.net/projects/phpvirtualbox/files/phpvirtualbox-5.0-2.zip/download && mv download phpvirtualbox-5.0-2.zip # unzip phpvirtualbox-5.0-2.zip && mv ./phpvirtualbox-5.0-2/* /var/www/phpvirtualbox
# cp /var/www/phpvirtualbox/config.php-example /var/www/phpvirtualbox/config.php
# nano /var/www/phpvirtualbox/config.php
# Пользователь и пароль под которым работает virtualbox var $username = 'vbox'; var $password = 'PaS$w0rd'; # Адрес веб-сервиса var $location = 'http://xxx.xxx.xxx.xxx:18083/'; # Диапазон rdp портов var $vrdeports = '9000-9100'; # IP сервера var $consoleHost = 'xxx.xxx.xxx.xxx';

Создаем файл виртуального хоста в nginx

# nano /etc/nginx/conf.d/phpvirtualbox.conf
server < listen xxx.xxx.xxx.xxx:80; root /var/www/phpvirtualbox/; index index.php index.html index.htm; location / < # First attempt to serve request as file, then # as directory, then fall back to index.html try_files $uri $uri/ /index.html; # Uncomment to enable naxsi on this location # include /etc/nginx/naxsi.rules ># pass the PHP scripts to FastCGI server listening on 1$ # location ~ \.php$ < try_files $uri =404; fastcgi_split_path_info ^(.+.php)(.*)$; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; >>

Для ubuntu 16.04 конфиг такой

server < listen XXX.XXX.XXX.XXX:80; root /var/www/phpvirtualbox/; index index.php index.html index.htm; location / < # First attempt to serve request as file, then # as directory, then fall back to index.html try_files $uri $uri/ /index.html; # Uncomment to enable naxsi on this location # include /etc/nginx/naxsi.rules ># pass the PHP scripts to FastCGI server listening on 1$ # location ~ \.php$ < try_files $uri =404; fastcgi_split_path_info ^(.+.php)(.*)$; fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; >>

Теперь перейдя по адресу http://ip-сервера/ мы увидим форму логина. По умолчанию логин — admin и пароль — admin. Логинимся, открываем меню File, пункт Preferences и меняем пароль в графе Users. В графе Language можно поставить русский язык.

Читайте также:  Linux узнать параметры сервера

Установка виртуальной машины.

Скачиваем установочный образ нужной нам ОС(в данном случае debian 8) в домашний каталог юзера vbox

# cd /home/vbox/ # wget http://mirror.yandex.ru/debian-cd/8.1.0/amd64/iso-cd/debian-8.1.0-amd64-CD-1.iso

Затем в веб-интерфейсе, кликаем кнопку создать и создаем виртуальную машину с нужными нам характеристиками.

Переходим в настройки виртуальной машины — Дисплей. И во вкладке «Удаленный дисплей» включаем доступ по rdp с нужными нам данными авторизации и портом.

Запускаем нашу виртуальную машину. При первом запуске она спросит установочный iso образ, который мы скачали в домашний каталог пользователя vbox.

После запуска виртуальной машины мы можем подключится любым rdp клиентом к хост-машине по порту указанному в настройках удаленного дисплея и продолжить установку как обычно. Также можно подключится прямо через веб-интерфейс, просто кликнув «Консоль» справа сверху.

Источник

Оцените статью
Adblock
detector