Virtualbox - полноценный сервер виртуализации, аналог Vmware Server. Cистема виртуализации на Virtualbox на данный момент одна из наилучших бесплатных программных продуктов виртуализации. Лично тестировал работу гостевых: XP, Windows 2003, 2008, Debian, Ubuntu работает стабильно.
phpVirtualBox - AJAX реализация пользовательского интерфейса VirtualBox, написанного на PHP. Это веб-интерфейс для получения удалённого доступа к виртуальным машинам.
Данная инструкция сделана на многочисленные просьбы пользователей.
Для установки Virtualbox используем Ubuntu 12.04 Precise
Необходимо настроить репозиторий с оффициального сайта Virtualbox.
Добавляем в source.list репозиторий для Ubuntu 12.04
1 2 | vi /etc/apt/sources .list deb http: //download .virtualbox.org /virtualbox/debian precise contrib |
Либо же добавить репозиторий командой:
1 | echo 'deb http://download.virtualbox.org/virtualbox/debian precise contrib' >> /etc/apt/sources .list |
Добавляем публичный ключ репозитория virtualbox командой:
1 | wget -q http: //download .virtualbox.org /virtualbox/debian/oracle_vbox .asc -O- | apt-key add - |
Обновляем репозиторий и запускаем установку virtualbox командами:
1 | aptitude update |
Обновляем систему до самых свежих версий командой:
1 | aptitude dist-upgrade |
После обновления перезагружаемся, чтобы загрузиться в обновленное ядро командой:
1 | reboot |
Запускаем установку Virtualbox 4.2 командой соглашаясь на требования установщика:
1 | aptitude install virtualbox-4.2 |
Для того, чтобы у нас работал доступ к RDP через web интерфейс и USB2 для виртуальной машины, необходимо скачать и установить дополнительный пакет virtualbox
Но перед тем как установить пакет дополнений, необходимо узнать версию установленного virtualbox командой:
1 | vboxwebsrv -V |
Ответ системы:
1 2 3 4 | Oracle VM VirtualBox web service Version 4.2.4 (C) 2007-2012 Oracle Corporation All rights reserved. 4.2.4r81684 |
Получается, что у нас стоит версия 4.2.4r81684, потому заходим на страницу http://download.virtualbox.org/virtualbox/ и открываем директорию 4.2.4 и в самом верху видим файлы
Oracle_VM_VirtualBox_Extension_Pack-4.2.4-81684.vbox-extpack и Oracle_VM_VirtualBox_Extension_Pack-4.2.4.vbox-extpack, они идентичные, но просто имеют разное имя, потому качать можно любой, я для удобства ниже прописываю файл без привязки к имени.
Для этого скачиваем дополнительный пакет командой:
1 | wget http: //download .virtualbox.org /virtualbox/4 .2.4 /Oracle_VM_VirtualBox_Extension_Pack-4 .2.4.vbox-extpack |
Устанавливаем скачанный пакет для работы rdp и usb2 командой:
1 | VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.2*.vbox-extpack |
После установки необходимо перезагрузить сервис vboxweb-service командами:
1 2 | /etc/init .d /vboxweb-service stop /etc/init .d /vboxweb-service start |
Для работы Virtualbox необходимо создать пользователя под которым будут работать виртуальные машины.
Добавляем пользователя vbox в систему командой:
1 | adduser vbox |
Указываем пароль пользователя vbox, предварительно записав его в свой блокнот для паролей.
Создаем файл отвечающий на каком айпи и порту будет работать virtualbox
1 2 3 4 | vi /etc/default/virtualbox VBOXWEB_USER=vbox VBOXWEB_HOST=192.168.0.1 VBOXWEB_PORT=18083 |
Внимание!!! можно указать IP 127.0.0.1, но для того, чтобы работал rdp через веб интерфейс, необходимо указать не 127.0.0.1 а внутренний либо внешний IP , например 192.168.0.1(внутренний адрес сервера)
Перезагружаем virtualbox командой:
1 | /etc/init .d /vboxweb-service restart |
Установка phpvirtualbox
Для того, чтобы работал phpvirtualbox через веб интерфейс, необходимо установить веб сервер с поддержкой PHP.
Устанавливаем програмное обеспечение командой:
1 | aptitude install apache2 php5 mc unzip unrar |
Далее качаем сам phpvirtualbox (предварительно удостоверившись на странице , что это на данный момент самая последняя версия) командой:
1 | wget http: //netcologne .dl.sourceforge.net /project/phpvirtualbox/phpvirtualbox-4 .2-8.zip |
распаковываем содержимое архива phpvirtualbox-4.2-8.zip в папку /var/www/ предварительно удалив в ней все с помощью программы mc.
Меняем права на файлы phpvirtualbox для веб сервера командой:
1 | chown -R www-data:www-data /var/www/ * |
Перегружаем веб сервер командой:
1 | /etc/init .d /apache2 restart |
Далее переходим в папку /var/www/ командой:
1 | cd /var/www/ |
Создаем конфигурационный файл из дефолтного командой:
1 | mv config.php-example config.php |
изменяем config.php:
1 2 3 4 5 | vi config.php /* Username / Password for system user that runs VirtualBox */ var $username = 'vbox' ; var $password = 'pass' ; |
где pass - ваш пароль введенный при создании пользователя vbox
Изменяем далее:
было:
1 2 | /* SOAP URL of vboxwebsrv (not phpVirtualBox's URL) */ |
Внимание!!! Для того, чтобы работал rdp через веб интерфейс, необходимо указать не 127.0.0.1 а внутренний либо внешний IP , например 192.168.0.1(внутренний адрес сервера)
стало:
1 2 | /* SOAP URL of vboxwebsrv (not phpVirtualBox's URL) */ |
было:
1 2 | // Host / ip to use for console connections #var $consoleHost = '192.168.1.40'; |
стало:
1 2 | // Host / ip to use for console connections var $consoleHost = '192.168.0.1' ; |
Открываем в браузере адрес нашего сервера:
1 | http: //192 .168.0.1/ |
и вводим
логин: admin
пароль: admin
Откроется веб интерфейс на английском языке, который можно изменить в настройках на русский, кстати настоятельно рекомендую изменить у пользователя пароль, а лучше создать администратора с не типичным именем и сложным паролем, а текущий удалить, тогда если у Вас интерфейс глядит в инет (что не рекомендуется для безопасности) пароль и логин будет гораздо сложнее (практически не возможно) подобрать.
Интерфейс веб интерфейса практически ничем не отличается от десктопной версии Virtualbox.
Создаем виртульную машину с помощью мастера нажав на кнопку создать, и подключив образ нужного диска и выбрав в сдроме образ выполняем установку операционной системы.
Делаем автозапуск виртуальных машин при включении сервера, сохранение текущего состояния гостевой машины (не выключение) при выключении физическогосервера с восстановлением текущего состояния при включении сервера.
Автозапуск гостевой машины Virtualbox
Создаем скрипт, который будет запускать и сохранять гостевые машины при включении, выключении сервера:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | vi /etc/init .d /virtualbox #!/bin/bash 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" $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.
Делаем файл исполняемым и добавляем его в автозагрузку командами:
1 2 | chmod +x /etc/init .d /virtualbox update-rc.d virtualbox defaults |
Для каждой гостевой машины необходимо сделать свой файл запускающий и сохраняющий виртуальную машину при включении-выключении сервера.
Ошибки!!!
!!! Если при открытии веб интерфейса выдает ошибку:
1 | Error logging in to vboxwebsrv |
необходимо запустить команду под пользователем vbox:
1 2 3 | su vbox VBoxManage setproperty websrvauthlibrary null Ctrl+d |
Затем перезагрузить virtualbox командой:
1 | /etc/init .d /vboxweb-service restart |
!!! Если выдает такую ошибку при подключении к RDP:
1 | Disconnect reason: I: MCS: Disconnect Request I: RDPCLIENT: The server has dropped connection. |
Необходимо: Свойства виртуальной машины - Дисплей - Удаленный дисплей - Дополнительные возможности - поставить галочку на Разрешить несколько подключений
!!! Если Вы в виртуальной машине вместо образа установочного диска выбрали использовать физический привод CD/DVD и Вам веб интерфейс PHPVirtualbox выдал ошибку:
1 | 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 командой:
1 | usermod -G cdrom -a vbox |
Задача выполнена, Virtualbox установлен на сервер с Ubuntu 12.04 Precise, установлен и настроен веб интерфейс PHPVirtualbox, настроен автозапуск виртуальных машин.
С Вами был Сергей Лазаренко.
Сделаем небольшой перерывчик в работе, посмотрим на физические достижения 5-ти летнего мальчика:
Add new comment