]]> PhpVirtualBox]]> - AJAX реалізація призначеного для користувача інтерфейсу VirtualBox, написаного на PHP. Це веб-інтерфейс для отримання віддаленого доступу до віртуальних машин.
Дана інструкція повністю працездатна і до речі даний сайт працює на виртуалке піднятою на Virtualbox по цій інструкції, вірніше я підняв віртуальний сервер і потім робочі записи переробив в докладну робочу інструкцію.
Для установки Virtualbox використовуємо Debian або Ubuntu
Необхідно налаштувати репозиторій з офіційного сайту Virtualbox.
Додаємо в source.list репозиторій
Для Ubuntu (вибрати свій дистрибутив):
Додаємо публічний ключ сховища virtualbox командою:
Оновлюємо репозиторій і запускаємо установку virtualbox командами:
Для того, щоб у нас працював доступ до RDP через web інтерфейс і USB2 для віртуальної машини, необхідно завантажити та встановити додатковий пакет virtualbox
Але перед тим як встановити пакет доповнень, необхідно дізнатися версію встановленого virtualbox командою:
Для цього завантажуємо додатковий пакет командою:
І встановлюємо файли з пакету для роботи rdp і usb2 командою:
Після установки необхідно перезавантажити сервіс vboxweb-service командами:
Для роботи Virtualbox необхідно створити користувача під яким будуть працювати віртуальні машини.
Додаємо користувача vbox в систему командою:
Вказуємо пароль користувача vbox. попередньо записавши його в свій блокнот для паролів.
установка phpvirtualbox
Для того, щоб працював phpvirtualbox через веб інтерфейс, необхідно встановити веб сервер з підтримкою PHP.
Встановлюємо програмне забезпечення командою:
Далі качаємо сам phpvirtualbox командою:
розпаковуємо вміст архіву phpvirtualbox-4.1-11.zip в папку / var / www / попередньо видаливши в ній все за допомогою програми mc.
Міняємо права на файли phpvirtualbox для веб сервера командою:
Перевантажуємо веб сервер командою:
Далі переходимо в папку / var / www / командою:
Створюємо конфігураційний файл з дефолтного командою:
де pass - ваш пароль введений при створенні користувача vbox
Створюємо файл відповідає на якому айпі і порту буде працювати virtualbox
Відкриється веб інтерфейс англійською мовою, який можна змінити в настройках на російський, до речі настійно рекомендую змінити у користувача пароль, а краще створити адміністратора з не типовим ім'ям і складним паролем, а поточний видалити, тоді якщо у Вас інтерфейс дивиться в інет (що ні рекомендується для безпеки) пароль і логін буде набагато складніше (практично не можливо) підібрати.
Інтерфейс веб інтерфейсу практично нічим не відрізняється від деськтопной версії Virtualbox.
Створюємо Віртуальне машину за допомогою майстра натиснувши на кнопку створити, і підключивши образ потрібного диска і вибравши в сдроме образ виконуємо установку операційної системи.
Робимо автозапуск віртуальних машин при включенні сервера, збереження поточного стану гостьової машини (Не виключення) при виключенні фізіческогосервера з відновленням поточного стану при включенні сервера.
Автозапуск гостьовий машини Virtualbox:
Створюємо скрипт, який буде запускати і зберігати гостьові машини при включенні, виключенні сервера:
У цьому файлі необхідно змінити тільки змінну VM. в ній потрібно вказати назву вашої віртуальної машини, яка відображається в веб інтерфейсі phpvirtualbox.
Робимо файл виконуваним і додаємо його в автозавантаження командами:
Для кожної гостьової машини необхідно зробити свій файл запускає і зберігає віртуальну машину при включенні-виключенні сервера.
Якщо при відкритті веб інтерфейсу видає помилку:
Error logging in to vboxwebsrv
необхідно запустити команду під користувачем vbox:
Потім перезавантажити virtualbox командою:
Якщо видає таку помилку при підключенні до RDP:
Disconnect reason: I: MCS: Disconnect Request I: RDPCLIENT: The server has dropped connection.
Необхідно: Властивості віртуальної машини - Дисплей - Віддалений дисплей - Додаткові можливості - поставити галочку на Дозволити кілька підключень
Створений юзер vbox повинен складатися в групі vboxusers. Про це в статті ні слова не сказано. При спробі додати vbox в потрібну групу - useradd -G vboxusers vbox вивалюється помилка - user 'vbox' already exist По всій видимості пустатя стартова сторінка через це. Ваші коментарі?
Доброго вам дня. Відмінна інструкція. Все працює. Тільки підкажіть будь ласка, цікавить таке питання - як змінити скрипт на автозапуск так, щоб ми завантажуємо не збережена сесія віртуальних машин, а все віртуальні машини стартували заново?
Параметр acpipowerbutton в розділі stop) емулює натискання кнопки вимикання, операційка отримуючи цей сигнал має коректно зупинити роботу і вимкнути комп'ютер. Тоді при завантаженні виртуалки будуть запускатся ні з збереженої копії, а нормально в стандартному режимі (перевірив на виртуалке з Debian Squeeze - все працює як і сказав) 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 acpipowerbutton ";; *) echo" Usage: $ N "> 2 exit 1 ;; esac exit 0
проблема вирішилася частково у мене дві віртуальні машини, одна з WindowsXP, друга з Ubuntu Server 10.04 Машина з WindowsXP повністю нормально вимикається і включається. А ось з Ubuntu Server машина не загружаеться, і в phpVirtualBox пише що завантаження перерване, доводитися звідти стартувати її вручну. В який бік покопати?
Перевірте включення вимикання машини руками (не через веб інтерфейс): /etc/init.d/virtualbox_ubuntu stop Дивимося в веб інтерфейсі - повинен вимкнеться /etc/init.d/virtualbox_ubuntu start Дивимося в веб інтерфейсі - повинен включиться. Якщо не включився руками, тоді перевірити скрипт, якщо все нормально з ним - тоді дивитися логи що знаходяться в /home/vbox/.VirtualBox/*.log Може бути таке, що машина не встигає вимкнеться і хост машина вимикається швидше і в цьому проблемма . Чим не подобається збереження гостьовий машини при виключенні?
якщо не працює вимикання виртуалки Virtualbox через acpipowerbutton, тоді можна налаштувати вимкнення через параметр poweroff - він емулює жорстке вимикання, як ніби витягнути з розетки камп. Але це не бажано як-би, на крайньому випадок.