Virtualbox - система виртуализации, на данный момент одна из наилучших бесплатных программных продуктов виртуализации. Лично тестировал работу гостевых виртуалок MS Windows 95 - 8, Debian, Ubuntu последних версий - всё работает стабильно.
phpVirtualBox - AJAX реализация пользовательского интерфейса VirtualBox, написанного на PHP. Это веб-интерфейс для получения удалённого доступа к виртуальным машинам.
Для установки Virtualbox используем Debian или Ubuntu
Необходимо настроить репозиторий с официального сайта Virtualbox.
Добавляем в source.list репозиторий
nano /etc/apt/sources.list |
Для Ubuntu (выбрать свой дистрибутив):
deb http://download.virtualbox.org/virtualbox/debian oneiric contrib |
Добавляем публичный ключ репозитория virtualbox командой:
wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | apt-key add - |
Обновляем репозиторий и запускаем установку virtualbox командами:
apt-get update |
Для того, чтобы у нас работал доступ к RDP через web интерфейс и USB2 для виртуальной машины, необходимо скачать и установить дополнительный пакет virtualbox
Но перед тем как установить пакет дополнений, необходимо узнать версию установленного virtualbox командой:
vboxwebsrv -V
|
Получается, что у нас стоит версия 5.0.2, потому заходим на страницу http://download.virtualbox.org/virtualbox/ и открываем директорию 5.0.2 и в самом верху видим файл Oracle_VM_VirtualBox_Extension_Pack-5.0.2-102096.vbox-extpack, он самый последний, потому его нам нужно скачать и установить.
wget http://download.virtualbox.org/virtualbox/5.0.2/Oracle_VM_VirtualBox_Extension_Pack-5.0.2-102096.vbox-extpack |
И устанавливаем скачанный пакет для работы rdp и usb2 командой:
VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-5.0.2-102096.vbox-extpack |
После установки необходимо перезагрузить сервис vboxweb-service командами:
/etc/init.d/vboxweb-service stop |
Для работы Virtualbox необходимо создать пользователя под которым будут работать виртуальные машины.
Добавляем пользователя vbox в систему командой:
adduser vbox |
Указываем пароль пользователя vbox, предварительно записав его в свой блокнот для паролей.
Установка phpvirtualbox
Для того, чтобы работал phpvirtualbox через веб интерфейс, необходимо установить веб сервер с поддержкой PHP.
Устанавливаем программное обеспечение командой:
apt-get install apache2 php5 mc unzip unrar |
Далее качаем сам phpvirtualbox (предварительно удостоверившись на странице, что это на данный момент самая последняя версия) командой:
wget 'http://sourceforge.net/projects/phpvirtualbox/files/latest/download' |
распаковываем содержимое архива download в папку /var/www/ предварительно удалив в ней все с помощью программы mc.
Меняем права на файлы phpvirtualbox для веб сервера командой:
chown -R www-data:www-data /var/www/* |
Перегружаем веб сервер командой:
/etc/init.d/apache2 restart |
Далее переходим в папку /var/www/ командой:
cd /var/www/ |
Создаем конфигурационный файл из дефолтного командой:
mv config.php-example config.php |
изменяем config.php:
/* Username / Password for system user that runs VirtualBox */ |
где pass - ваш пароль введенный при создании пользователя vbox
Изменяем далее:
было:
/* SOAP URL of vboxwebsrv (not phpVirtualBox's URL) */ |
Внимание!!! Для того, чтобы работал rdp через веб интерфейс, необходимо указать не 127.0.0.1
а внутренний либо внешний IP , например 192.168.0.1
(внутренний адрес сервера)
стало:
/* SOAP URL of vboxwebsrv (not phpVirtualBox's URL) */ |
было:
// Host / ip to use for console connections |
стало:
// Host / ip to use for console connections |
Создаем файл отвечающий на каком айпи и порту будет работать virtualbox
nano /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.
Создаем виртуальную машину с помощью мастера нажав на кнопку создать, и подключив образ нужного диска и выбрав в CD-роме образ выполняем установку операционной системы.
Делаем автозапуск виртуальных машин при включении сервера, сохранение текущего состояния гостевой машины (не выключение) при выключении физического сервера с восстановлением текущего состояния при включении сервера.
Автозапуск гостевой машины Virtualbox:
Создаем скрипт, который будет запускать и сохранять гостевую машину под названием "vboxmachine1" при включении, выключении сервера:
nano /etc/init.d/vboxmachine1 |
|
В этом файле необходимо изменить только переменную VM, в ней нужно указать название вашей виртуальной машины, которая отображается в веб интерфейсе phpvirtualbox.
Делаем файл исполняемым и добавляем его в автозагрузку командами:
chmod +x /etc/init.d/vboxmachine1 |
Для каждой гостевой машины необходимо сделать свой файл запускающий и сохраняющий виртуальную машину при включении-выключении сервера.
!!!Ошибки
Если при открытии веб интерфейса выдает ошибку:
Error logging in to vboxwebsrv
необходимо запустить команду под пользователем vbox:
su vbox Ctrl+d |
Затем перезагрузить virtualbox командой:
/etc/init.d/vboxweb-service restart |
Если выдает такую ошибку при подключении к RDP:
Disconnect reason: I: MCS: Disconnect Request I: RDPCLIENT: The server has dropped connection.
Необходимо: Свойства виртуальной машины - Дисплей - Удаленный дисплей - Дополнительные возможности - поставить галочку на Разрешить несколько подключений
!!!Полезные советы
Для клонирования виртуального диска используйте команду:
VBoxManage clonevdi /path/to/VMdisk/Disk_old.vdi /New_path/to/VMdisk/Disk_new.vdi |
Для изменения размера виртуального диска (!только для VirtualBox версий 4.3 выше), зайдите через терминал в директорию с необходимым диском и выполните команду:
VBoxManage modifyhd Disk.vdi --resize размер_в_мегобайтах |