Virtualbox - система виртуализации, на данный момент одна из наилучших бесплатных программных продуктов виртуализации. Лично тестировал работу гостевых: XP, Windows 2003, 2008, Debian, Ubuntu работает стабильно.
phpVirtualBox - AJAX реализация пользовательского интерфейса VirtualBox, написанного на PHP. Это веб-интерфейс для получения удалённого доступа к виртуальным машинам.
Для установки Virtualbox мы будем используем операционную систему Linux Debian GNU/Linux с установленной панелью управления хостингом ISPConfig установленную по инструкции: Устанавливаем и настраиваем хостинг панель ISPConfig 3 в Debian
Добавляем репозиторий с оффициального сайта Virtualbox.
Добавляем в source.list репозиторий командой:
Для Debian Wheezy:
echo 'deb http://download.virtualbox.org/virtualbox/debian wheezy contrib' >> /etc/apt/sources.list
Для Debian Jessie:
echo 'deb http://download.virtualbox.org/virtualbox/debian jessie contrib' >> /etc/apt/sources.list
Добавляем публичный ключ репозитория virtualbox командой:
wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | apt-key add - wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | apt-key add -
Обновляем репозиторий и запускаем установку virtualbox командами:
aptitude update
Для установки Virtualbox 4.3 выполняем команду:
aptitude install virtualbox-4.3
Для установки Virtualbox 5 выполняем команды:
aptitude install virtualbox-5.0
или:
aptitude install virtualbox-5.1
Для того, чтобы у нас работал доступ к RDP через web интерфейс и USB2 для виртуальной машины, необходимо скачать и установить дополнительный пакет virtualbox
Но перед тем как установить пакет дополнений, необходимо узнать версию установленного virtualbox командой:
vboxwebsrv -V Oracle VM VirtualBox web service Version 4.3.40 (C) 2007-2016 Oracle Corporation All rights reserved. 4.3.40r110317
либо:
vboxwebsrv -V Oracle VM VirtualBox web service Version 5.0.10 (C) 2007-2015 Oracle Corporation All rights reserved. 5.0.14r105127
или:
vboxwebsrv -V Oracle VM VirtualBox web service Version 5.1.24 (C) 2007-2017 Oracle Corporation All rights reserved. 5.1.24r117012
Получается, что у нас стоит версия 4.3.34 либо 5.0.14, потому заходим на страницу http://download.virtualbox.org/virtualbox/ и открываем директорию 4.3.34либо 5.0.14 и в самом верху видим файл Oracle_VM_VirtualBox_Extension_Pack-4.3.34.vbox-extpack, его то нам нужно скачать и установить.
Для этого скачиваем дополнительный пакет командой:
wget http://download.virtualbox.org/virtualbox/4.3.40/Oracle_VM_VirtualBox_Extension_Pack-4.3.40-110317a.vbox-extpack
Для версии 5.0:
wget http://download.virtualbox.org/virtualbox/5.0.14/Oracle_VM_VirtualBox_Extension_Pack-5.0.14.vbox-extpack
Для версии 5.1:
wget http://download.virtualbox.org/virtualbox/5.1.24/Oracle_VM_VirtualBox_Extension_Pack-5.1.24-117012.vbox-extpack
И устанавливаем скачанный пакет для работы rdp и usb2 командой:
VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-*.vbox-extpack
Ответ системы на выполнение установки пакета:
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% Successfully installed "Oracle VM VirtualBox Extension Pack".
После установки необходимо перезагрузить сервис vboxweb-service командами:
/etc/init.d/vboxweb-service stop sleep 7 /etc/init.d/vboxweb-service start
Для работы Virtualbox необходимо создать пользователя под которым будут работать виртуальные машины.
Добавляем пользователя vbox в систему командой:
adduser vbox
Указываем пароль пользователя vbox, предварительно записав его в свой блокнот для паролей.
Установка phpvirtualbox
Для того, чтобы работал phpvirtualbox через веб интерфейс, необходимо добавить домен vm.server.loc по примеру как в инструкции Установка почтового веб клиента Roundcube в Debian - ч.5 без базы данных, создаем FTP аккаунт, через который дальше мы закачаем файлы phpvirtualbox.
Далее качаем через браузер phpvirtualbox (предварительно удостоверившись на странице, что это на данный момент самая последняя версия), либо командой в консоли на самом сервере:
Phpvirtualbox для Virtualbox 4.3
wget -c -t0 http://kent.dl.sourceforge.net/project/phpvirtualbox/phpvirtualbox-4.3-3.zip
Phpvirtualbox для Virtualbox 5.0
wget -c -t0 http://netcologne.dl.sourceforge.net/project/phpvirtualbox/phpvirtualbox-5.0-5.zip
Распаковываем содержимое скачанного архива phpvirtualbox нужной Вам версии в папку домена по фтп как в инструкции указанной выше Установка почтового веб клиента Roundcube, либо через консоль сервера, не забыв изменить права веб сервера:
Меняем права на файлы phpvirtualbox для веб сервера по примеру как в инструкции указанной выше.
Перегружаем веб сервер командой:
/etc/init.d/apache2 restart
Далее через консоль переходим в папку домена /var/www/vm.server.loc командой:
cd /var/www/vm.server.loc
Создаем конфигурационный файл из дефолтного командой в консоли:
mv config.php-example config.php
Если закачиваете файлы phpvirtualbox через фтп, просто переименовываем и редактируем настройки как ниже в инструкции:
изменяем config.php:
/* Username / Password for system user that runs VirtualBox */ var $username = 'vbox'; var $password = 'pass';
где pass - ваш пароль введенный при создании пользователя vbox
Изменяем далее:
было:
/* SOAP URL of vboxwebsrv (not phpVirtualBox's URL) */ var $location = 'http://127.0.0.1:18083/';
Внимание!!! Для того, чтобы работал rdp через веб интерфейс, необходимо указать не 127.0.0.1 а внутренний либо внешний IP, например 192.168.0.1(внутренний адрес сервера)
стало:
/* SOAP URL of vboxwebsrv (not phpVirtualBox's URL) */ var $location = 'http://192.168.0.1:18083/';
было:
// Host / ip to use for console connections #var $consoleHost = '192.168.1.40';
стало:
// Host / ip to use for console connections var $consoleHost = '192.168.0.1';
Создаем файл отвечающий на каком айпи и порту будет работать virtualbox
echo ' VBOXWEB_USER=vbox VBOXWEB_HOST=192.168.0.1 VBOXWEB_PORT=18083 ' > /etc/default/virtualbox
Внимание!!! можно указать IP 127.0.0.1, но для того, чтобы работал rdp через веб интерфейс, необходимо указать не 127.0.0.1 а внутренний либо внешний IP , например 192.168.0.1(внутренний адрес сервера)
Перезагружаем virtualbox командой:
/etc/init.d/vboxweb-service restart
Открываем в браузере адрес нашего сервера:
http://192.168.0.1/
и вводим
логин: admin
пароль: admin
Откроется веб интерфейс на английском языке, который можно изменить в настройках на русский, кстати настоятельно рекомендую изменить у пользователя пароль, а лучше создать администратора с не типичным именем и сложным паролем, а текущий удалить, тогда если у Вас интерфейс глядит в инет (что не рекомендуется для безопасности) пароль и логин будет гораздо сложнее (практически не возможно) подобрать.
Интерфейс веб интерфейса практически ничем не отличается от десктопной версии Virtualbox.
Создаем виртульную машину с помощью мастера нажав на кнопку создать, и подключив образ нужного диска и выбрав в сдроме образ выполняем установку операционной системы.
Делаем автозапуск виртуальных машин при включении сервера, сохранение текущего состояния гостевой машины (не выключение) при выключении физическогосервера с восстановлением текущего состояния при включении сервера.
Автозапуск гостевой машины Virtualbox:
Создаем скрипт, который будет запускать и сохранять гостевые машины при включении, выключении сервера:
vi /etc/init.d/virtualbox
#!/bin/bash
### BEGIN INIT INFO
# Provides: myscript
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 1 0 6
# Short-Description: simple description.
### END INIT INFO
START="/bin/bash"
#if [ ! -f /etc/rc.vm ]; then
# echo "/etc/rc.vm does not exist"
# exit 0
#fi
VBOXDIR="/etc/vbox"
VM_USER="vbox"
SU="su - $VM_USER -c"
VBOXMANAGE="VBoxManage -nologo"
VM="Gateway"
case "$1" in
start)
echo -n "Starting up virtual maschine $VM"
sleep 15 && $SU "VBoxHeadless --startvm $VM > /dev/null 2>&1 &"
echo "done."
;;
restart)
$SU "VBoxManage controlvm $VM reset"
;;
stop)
$SU "VBoxManage controlvm $VM savestate"
;;
stopacpi)
$SU "VBoxManage controlvm $VM acpipowerbutton"
exit 0
;;
*)
echo "Usage: $N {start|restart|stop}" >&2
exit 1
;;
esac
exit 0В этом файле необходимо изменить только переменную VM, в ней нужно указать название вашей виртуальной машины, которая отображается в веб интерфейсе phpvirtualbox.
Делаем файл исполняемым и добавляем его в автозагрузку командами:
chmod +x /etc/init.d/virtualbox update-rc.d virtualbox defaults
Для каждой гостевой машины необходимо сделать свой файл запускающий и сохраняющий виртуальную машину при включении-выключении сервера.
Ошибки!!!
!!! Если при открытии веб интерфейса выдает ошибку:
Error logging in to vboxwebsrv
необходимо запустить команду под пользователем vbox:
su vbox VBoxManage setproperty websrvauthlibrary null Ctrl+d
Затем перезагрузить virtualbox командой:
/etc/init.d/vboxweb-service restart
!!! Внимание. Если выдает такую ошибку при подключении к RDP:
Disconnect reason: I: MCS: Disconnect Request I: RDPCLIENT: The server has dropped connection.
Необходимо зайти: Свойства виртуальной машины - Дисплей - Удаленный дисплей - Дополнительные возможности - поставить галочку на Разрешить несколько подключений
Если Вы в виртуальной машине вместо образа установочного диска выбрали использовать физический привод CD/DVD и Вам веб интерфейс PHPVirtualbox выдал ошибку:
Cannot open host device '/dev/sr0' for readonly access. Check the permissions of that device ('/bin/ls -l /dev/sr0'): Most probably you need to be member of the device group. Make sure that you logout/login after changing the group settings of the current user (VERR_ACCESS_DENIED)Это значит, что пользователю под которым мы запускаем виртуальную машину, в нашем случае это vbox нет прав на пользование физическим приводом CD/DVD.
Для лечения этой ошибки достаточно добавить пользователя vbox в группу cdrom командой:
usermod -G cdrom -a vbox
Задача выполнена, Virtualbox установлен на сервер с Debian GNU/Linux, установлен и настроен веб интерфейс PHPVirtualbox, настроен автозапуск виртуальных машин.
С Вами был Сергей Лазаренко.
После продуктивной работы, можно отвлечься и посмотреть видео о работе с VMware vSphere:





Add new comment