- linux-notes.org
- Управление VirtualBox с веб-интерфейсом phpVirtualBox
- Web интерфейс для управления VirtualBox
- 2 комментария
- Ubuntu: Установка VirtualBox с WEB интерфейсом
- Установка phpvirtualbox и VirtualBox в Ubuntu 20.04 (19.10)
- Становимся рутом (на время инсталляции):
- Добавляем репозиторий:
- Добавляем ключи репозитория:
- Обновляем репозитории:
- Поищем VirtualBox:
- Устанавливаем linux-headers и VirtualBox 6.1.12-139181:
- Установим Extension Pack:
- Редактируем службу systemd запуска:
- Создаем пользователя vbox в нужной нам группе и запоминаем пароль:
- Создаем директорию для pid файла и назначим ей права:
- Перезагрузим systemd и vboxweb:
- Настало время phpVirtualBox
- Получаем phpVirtualBox:
- Редактируем конфиг phpVirtualBox:
- Установим пользователя на файлы phpVirtualBox:
- Конфигурационный файл NGINX:
- Делаем симлинк на конфигурационный файл NGINX для его подключения:
linux-notes.org
Управление VirtualBox с веб-интерфейсом phpVirtualBox
phpVirtualBox является ПО с открытым исходным кодом, который предоставляет веб-интерфейс для Oracle VirtualBox, написанной на PHP с реализацией AJAX. Она позволяет удаленно управлять экземплярами VirtualBox, действительно полезно, когда вы не имеете графического интерфейса в операционной системе.
phpVirtualBox позволяет контролировать и управлять гостевыми экземплярами в качестве VirtualBox GUI и вы не найдете никакой разницы между веб-интерфейсом и VirtualBox GUI. Более того, phpVirtualBox поддерживает удаленную консоль через веб-клиент Oracle RDP , который поставляется с Extension Pack.
Вот небольшое руководство «Управление VirtualBox с веб-интерфейсом phpVirtualBox» для настройки phpVirtualBox на Ubuntu/Debian/Mint и CentOS/Fedora/RedHat (его поддерживает все Linux, его минимальным требованием является веб-сервер, установленный при поддержке PHP).
Установка Apache с PHP.
Но БД не обязательно устанавливать в этом примере, можно выполнить:
Установка VirtualBox.
Скачиваем последнюю версию phpVirtualBox.
Выполните следующую команду, чтобы загрузить самую последнюю phpVirtualBox (на момент написания была версия 4.3.2):
Переместите этот документ в корень вашего веб-сервера (если изменили на свой, перемещаем на свой):
Конфигурация phpVirtualBox:
Мы должны изменить конфигурацию phpVirtualBox сделать успешную коммуникацию с установкой VirtualBox, сначала нужно переименовать файл образец конфигурации (config.php-пример в config.php).
Отредактируем ( изменим) файл-конфиг:
Ниже приведена минимальная конфигурация для phpVirtualBox. Имя пользователя / Пароль для системы, которая работает с VirtualBox, в моем случае я использую пользователя «captain» с некоторым паролем.
Если вы работаете с VirtualBox и PHP и они находятся на том же хосте, установите следующую опцию $location , как это показано ниже:
Конфигурация vboxweb-service.
Установка VirtualBox создает стартовый скрипт vboxweb-service, когда он установлен, то он используется для запуска и остановки vboxwebserv, перед запуском службы, мы должны иметь /etc/default/virtualbox и нужно создать его вручную, если он не существует.
Мы должны установить минимальную VBOXWEB_USER запустить vboxweb-служба, в настоящее время VirtualBox будет работать как «captain»; этот пользователь и пароль должны быть введены в phpVirtualBox конфигурационном файле.
Если вы работаете в phpVirtualBox в какой-то другом хосте, VBOXWEB_HOST нужно тоже установлены в том же файле, в данном случае phpVirtualBox будет общаться с vboxweb-службе по сети.
Перезапуск vboxweb-service.
Сейчас откройте ваш браузер и перейдите к http://your_ip_address/virtualbox, и вас попросят ввести логин и пароль. Стандартный логин и пароль — admin /admin.
Управление VirtualBox с веб-интерфейсом phpVirtualBox завершено.
Web интерфейс для управления VirtualBox
В данной заметке я покажу, как настроить Web интерфейс для управления виртуальными машинами подготовленными чере з VirtualBox на системе Ubuntu Server 12.04. (если ставите на Desktop‘ую систему, но присутствуют затраты на RAM (оперативная память), а она Вам очень пригодиться при развертывании виртуальных машин, в моем случае так оно и было (её не хватало), но в целом Вам решать.) В управление входят все такие же действия, как и при запуске самой программы локально:
- выключение
- перезагрузка
- создание снимков системы для последующего отката и многое другое.
И так у нас есть система:
$ 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: Ubuntu 12.04 LTS
Подключим репозитарии virtualbox:
$ sudo nano /etc/apt/sources.list
deb http://download.virtualbox.org/virtualbox/debian precise contrib
$ sudo wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add —
$ sudo apt-get update
Устанавливаем Virtualbox 4.2 в систему :
$ sudo apt-cache search virtualbox-4.2
virtualbox-4.2 — Oracle VM VirtualBox
$ 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
$ sudo apt-get install apache2 apache2.2-bin apache2.2-common
$ sudo nano /etc/apache2/sites-available/default
приводим к виду:
$ sudo nano /etc/apache2/apache2.conf
# Include the virtual host configurations:
$ sudo /etc/init.d/apache2 reload
* Reloading web server config apache2 [ OK ]
$ sudo mkdir -p /var/www/phpvirtualbox
$ sudo mkdir -p /var/www/phpvirtualbox/log
$ sudo nano /etc/apache2/sites-available/phpvirtualbox.conf
CustomLog /var/www/phpvirtualbox/log/access.log combined
$ sudo service apache2 reload
* Reloading web server config apache2 [ OK ]
$ sudo a2ensite phpvirtualbox.conf
Site phpvirtualbox.conf already enabled
$ sudo apachectl restart
phpVirtualBox — это такая панель управления VirtualBox, доступная по определённому адресу и открываемая в браузере.
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 */
/* Указываем логи и пароль для системного пользователя из под которого будет запускаться приложение 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’
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
Смотрим какие версии пакетов virtualbox, apache и php установлены в системе :
$ sudo dpkg -l | grep -iE ‘(virtualbox|apache|php)’
Устанавливаем php5 в систему:
$ sudo apt-get install php5
$ sudo /etc/init.d/apache2 restart
* Restarting web server apache2 … waiting [ OK ]
Запускаем снова и открываем браузер:
$ cd /var/www/phpvirtualbox/php/ && vboxwebsrv &
$ 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-интерфейс реализованный на PHP и использующий встроенную в VirtualBox службы удалённого управления VirtualBox Web Service. Всё это было сделано, для того чтобы управлять из любого места своими тестовыми система, будь-то домашняя локальная сеть либо в компании. На этом всё, удачи. Следите за обновления на моём блоге.
2 комментария
Отлично. То что надо для постоянного доступа с планшетника сидя на диване. Хорошая заметка, а самое главное практичная и никакой воды…Респект автору. 🙂
Подписался на РСС, буду следить =)
Comments are closed.
Используйте прокси ((заблокировано роскомнадзором, используйте vpn или proxy)) при использовании Telegram клиента:
Поблагодари автора и новые статьи
будут появляться чаще 🙂
Карта МКБ: 4432-7300-2472-8059
Yandex-деньги: 41001520055047
Большое спасибо тем кто благодарит автора за практические заметки небольшими пожертвованиями. С уважением, Олло Александр aka ekzorchik.
Ubuntu: Установка VirtualBox с WEB интерфейсом
Установка phpvirtualbox и VirtualBox в Ubuntu 20.04 (19.10)
Для экспериментов решил поднять на домашнем сервере данную связку.
Для реализации данной инсталляции нам потребуются следующие продукты:
Установку PHP и NGINX мы пропустим, считаем, что она у вас уже настроена.
Становимся рутом (на время инсталляции):
Добавляем репозиторий:
Добавляем ключи репозитория:
Обновляем репозитории:
Поищем VirtualBox:
Устанавливаем linux-headers и VirtualBox 6.1.12-139181:
Установим Extension Pack:
Редактируем службу systemd запуска:
Приводим к такому виду:
Создаем пользователя vbox в нужной нам группе и запоминаем пароль:
Создаем директорию для pid файла и назначим ей права:
Перезагрузим systemd и vboxweb:
Настало время phpVirtualBox
Получаем phpVirtualBox:
Редактируем конфиг phpVirtualBox:
Напишу, что нужно сменить:
Установим пользователя на файлы phpVirtualBox:
Конфигурационный файл NGINX:
Создадим директорию для логов Nginx:
В конфигурационном файле Nginx, я решил прикрыться дополнительно http авторизацией (если вам это не нужно, просто удалите эти строки:)).
Создадим директорию для auth файла и сам файл
vbadmin — имя
MY_PASSWORD — пароль
Делаем симлинк на конфигурационный файл NGINX для его подключения:
Проверим конфигурацию NGINX и перезапустим его:
Перейдя на указанный в конфиге NGINX адрес — http://vb.myhost.ru должна появиться форма http авторизации:
После введения ваших данных, попадаем в phpVirtualBox.
Логин: admin
Пароль: admin
Из этого материала можете узнать, как установить бесплатный сертификат от Lets’n Crypt для Web сервера.
Хорошая инструкция, но почему-то дальше этапа systemctl restart vboxweb-service сдвинуться не удалось. Ошибка:
Job for vboxweb-service.service failed because the control process exited with error code.
See «systemctl status vboxweb-service.service» and «journalctl -xe» for details.
Файл /lib/systemd/system/vboxweb-service.service взят дословно с мануала…
Приветствую.
Директорию для pid файла сделали?
Что выдает systemctl status vboxweb-service.service и journalctl -xe?
Был уверен что сделал, но проверив необнаружил…создал ещё раз и уже точно есть, далее все по инструкии, но ошибка таже:
● vboxweb-service.service — VirtualBox Web Service
Loaded: loaded (/lib/systemd/system/vboxweb-service.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Tue 2021-03-09 22:35:37 UTC; 14s ago
Process: 6244 ExecStart=/usr/bin/vboxwebsrv —pidfile /run/vboxweb/vboxweb.pid —host=0.0.0.0 —background (code>
Mar 09 22:35:37 gorgona2021 vboxwebsrv[6244]: 00:00:00.000165 main DMI Product Version:
Mar 09 22:35:37 gorgona2021 vboxwebsrv[6244]: 00:00:00.000179 main Firmware type: BIOS
Mar 09 22:35:37 gorgona2021 vboxwebsrv[6244]: 00:00:00.000224 main Host RAM: 48277MB (47.1GB) total, 47727MB (46>
Mar 09 22:35:37 gorgona2021 vboxwebsrv[6244]: 00:00:00.000227 main Executable: /usr/lib/virtualbox/vboxwebsrv
Mar 09 22:35:37 gorgona2021 vboxwebsrv[6244]: 00:00:00.000228 main Process ID: 6244
Mar 09 22:35:37 gorgona2021 vboxwebsrv[6244]: 00:00:00.000228 main Package type: LINUX_64BITS_UBUNTU_19_10
Mar 09 22:35:37 gorgona2021 vboxwebsrv[6244]: vboxwebsrv: error: could not get base directory for logging: VERR_PATH>
Mar 09 22:35:37 gorgona2021 systemd[1]: vboxweb-service.service: Control process exited, code=exited, status=1/FAILU>
Mar 09 22:35:37 gorgona2021 systemd[1]: vboxweb-service.service: Failed with result ‘exit-code’.
Mar 09 22:35:37 gorgona2021 systemd[1]: Failed to start VirtualBox Web Service.
Есть идеи, куда копать….? 🙄
vboxwebsrv: error: could not get base directory for logging: VERR_PATH
Нужно создать домашний каталог пользователя
mkhomedir_helper vbox
Ровно то же самое, после рестарта
root@megaplan:/var/www/phpvirtualbox# systemctl status vboxweb-service.service
● vboxweb-service.service — VirtualBox Web Service
Loaded: loaded (/lib/systemd/system/vboxweb-service.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Thu 2021-03-25 13:32:30 UTC; 38s ago
Process: 2698 ExecStart=/usr/bin/vboxwebsrv —pidfile /run/vboxweb/vboxweb.pid —host=0.0.0.0 —background (code=exited, status=1/FAILURE)
Mar 25 13:32:30 megaplan vboxwebsrv[2698]: 00:00:00.000167 main DMI Product Version:
Mar 25 13:32:30 megaplan vboxwebsrv[2698]: 00:00:00.000184 main Firmware type: BIOS
Mar 25 13:32:30 megaplan vboxwebsrv[2698]: 00:00:00.000239 main Host RAM: 64270MB (62.7GB) total, 63658MB (62.1GB) available
Mar 25 13:32:30 megaplan vboxwebsrv[2698]: 00:00:00.000242 main Executable: /usr/lib/virtualbox/vboxwebsrv
Mar 25 13:32:30 megaplan vboxwebsrv[2698]: 00:00:00.000243 main Process ID: 2698
Mar 25 13:32:30 megaplan vboxwebsrv[2698]: 00:00:00.000243 main Package type: LINUX_64BITS_UBUNTU_19_10
Mar 25 13:32:30 megaplan vboxwebsrv[2698]: vboxwebsrv: error: could not get base directory for logging: VERR_PATH_NOT_FOUND
Mar 25 13:32:30 megaplan systemd[1]: vboxweb-service.service: Control process exited, code=exited, status=1/FAILURE
Mar 25 13:32:30 megaplan systemd[1]: vboxweb-service.service: Failed with result ‘exit-code’.
Mar 25 13:32:30 megaplan systemd[1]: Failed to start VirtualBox Web Service.
Заметил, что папка /run/vboxweb после перезагрузки сервера пропадает
Вот что-то никак не получилось по данному мануалу стартонуть, ка в принципе и по многим другим, такое впечатление что жизнь есть только до vbox 6.0 ((
Еще и эта строчка:
ln -s /etc/nginx/sites-available/vb.marvins.ru /etc/nginx/sites-enabled/
Обязательно через sites-available? Нельзя через виртуальный хост?