Сегодня хочу рассказать как настроить
phpvirtualbox 4.1x на новой версии операционной системы
OpenSuse 12.1.
phpVirtualBox - это веб интерфейс для нашей любимой виртуальной машины
VirtualBox разрабатываемой фирмой
Oracle и тем не менее
VM VirtualBox остаётся бесплатной и не плохо обновляется, проблем (недоделок) всё меньше, а функционала всё больше. Веб интерфейс (
phpVirtualBox) предоставляет практически тот же функционал управления что и стандартный фронтенд (GUI), но с одним большим плюсом - управляемая
VirtualBox находится на удалённом (в смысле на расстоянии) компьютере. Кому будет полезна эта статья?- студентам, системным администраторам и энтузиастам, которые свою рабочую машину превращают в сервер- тем у кого нет специальных бекап серверов, но есть например файлопомойка или любой другой не сильно нагруженный серверок (компьютерок).- практическое применение одно, такое же как и самой виртуальной машины.Да не ограничит вас бог в фантазии! :)Для установки и настройки веб интерфейса
phpVirtualBox, нам потребуется установить и настроить
Apache,
PHP,
VirtualBox и собственно сам интерфейс
phpVirtualBox.Так же, вдумчиво прочтите
главную страницу проекта phpVirtualBox, ключевыми фразами должны стать "phpVirtualBox предназначено для замены стандартного интерфейса GUI” и "не предназначено для организации облаков”.
Ссылки на необходимые сайты: Официальный сайт phpVirtualBox http://code.google.com/p/phpvirtualbox Официальный сайт VirtualBox https://www.virtualbox.org Официальный сайт OpenSuse http://www.opensuse.org/ru Русскоязычное сообщество OpenSuse http://open-suse.ru Сайт, репозиторий Packman http://packman.links2linux.orgУстанавливал phpVirtualBox на новую систему OpenSuse 12.1 - наконец-то решил расстаться с 11,2 :).
Перед установкой VirtualBox нужно убедится что в системе присутствуют kernel-syms и dkms (имеется в репозитории пакмана), а так же не забываем о gcc, make, kernel-suorce. VirtualBox устанавливается не из репозитория, а скачивается с сайта в виде rpm пакета VirtualBox non OSS (не опенсорс).
https://www.virtualbox.org/wiki/Linux_Downloads Так же на официальном сайте скачиваем пакет расширений для VirtualBox, если нужно заюзать USB 2.0 или загрузку по PXE.
zypper ref
zypper in dkms kernel-syms gcc make kernel-suorce
# сопутствующие пакеты тоже ставим
Если вы установили VirtualBox до того как установили DKMS, то нужно установить драйвер VirtualBox`а "vboxdrv”.
/etc/init.d/vboxdrv setup
ошибки с драйвером можно увидеть в логах
cat /var/log/vbox-install.log
# или
dmesg |grep vbox
Дальше нужно установить и настроить апач (Apache) + пхп (php) или LAMP, я это делал через Яст (yast) так что команду установки не назову. Для работы phpvirtualbox 4.1x требуется php5-soap (PHP5 Extension Module), в набор LAMP это расширение не входит, так что юзаем поиск в ясте или
Что бы задействовать php-soap нужно раскомментировать строку в php.ini
# Открываем настройки php.ini, раскомментируем строку
extension=php_soap.dll
Cкачиваем с офф. сайта phpvirtualbox архив. Создаем директорию для скриптов phpvirtualbox, например /srv/vbox/ идем в настройки апача, создаём алиас на диекторию и даём права.
Alias /vbox "/srv/vbox/"
Allow from all
Order Allow,Deny
Directory>
Или можно просто сложить скрипты в директорию /srv/www/htdocs/
После установки, идём в яст и ставим режим запуска "http сервера” вместе с системой,
Перезагружаем апач.
/etc/init.d/apache2 restart
Прописываем /srv/vbox/config.php
var $username = 'имя пользователся (не рута) (из группы vboxusers)'
var $passwords = 'пароль'
var $language = 'ru' # русский фейс
var $noAuth = true # раскомментируем что б не вводить логин:пароль, просто для удобства настройки
для версии скрипта 4.1.х выполняем от рута
VBoxManage setproperty vrdeauthlibrary default
VBoxManage setproperty websrvauthlibrary default
это есть в вики, запускаем сервис vboxwebsrv, выполняем от рута
/usr/bin/vboxwebsrv --background -H localhost -p 18083
открываем в браузере и наслаждаемся :)
Если мы хотим как-то автоматизировать процесс запуска web-морды и даже какой-то из виртуалок, то нам нужно:
Обеспечить автоматический запуск vboxwebsrv.
Обеспечить автоматический запуск какой-то из виртаульных машин.
Делается это так - создаются скрипты запуска (мне так удобно):
/etc/init.d/MeAutoRun1 - выставляем на него права на запуск
/etc/init.d/MeAutoRun2 - выставляем на него права на запуск
##################### MeAutoRun1 ##############
#!/bin/bash
### BEGIN INIT INFO
# Providers: -=forward=-
# Default-Start: 3 5
# Default-Stop:
# Short-Description: запускаю vboxwebsrv (3 5 init)
# Description: запуск vboxwebsrv на 3м и 5м ините
### END INIT INFO
/usr/bin/vboxwebsrv --background -H localhost -p 18083
################### MeAutoRun2 ###############
#!/bin/bash
### BEGIN INIT INFO
# Providers: -=forward=-
# Default-Start: 3 5
# Short-Description: Start me Virtual mashine (3 5 init)
# Description: Запускаю свою виртаулку в фоне
### END INIT INFO
vboxmanage startvm test1 --type headless
Устанавливаем через яст или через chkconfig уровни запуска своих скриптов 3 и 5. Скидываем симлинки на них, например, в директорию /auto/ чтобы не искать в следующий раз. Но для того чтобы всё отрабатывало без ошибок нужно запускать свои скрипты позже чем стартует /etc/init.d/vboxdrv … идём в директории
/etc/init.d/rc3.d
/etc/init.d/rc5.d
и перемещаем свои скрипты позже по уровню запуска, с помощью цифр в начале названия файла (линка), например у меня было так:
S04vboxdrv
S05vboxballoonctrl-service
S05vboxweb-service
а свои скрипты я переместил ниже (начинались они с S05, но чисто по букворяду запускались раньше vboxdrv)
S06MeAutoRun1
S06MeAutoRun2
Источник:
http://f1.od.ua