VirtualBox na Ubuntu + phpVirtualBox

VirtualBox na Ubuntu + phpVirtualBox
Spis treści

Wirtualizacja – temat jak zawsze na topie. Dzisiaj pobawimy się w ustawienie VirtualBox ‘a na Ubuntu Server (więc nie mamy do dyspozycji GUI), ale mamy za to phpVirtualBox i serwer WWW – więc… mamy kompletne zdalne środowisko do wirtualizacji.

Dlaczego nie XenServer ? A dlatego, że do zarządzania nim mamy tylko prostą konsolę, albo… Windowsa. Jak nie mamy Windowsa – trzeba kombinować. Zależy nam na kompletnym środowisku do uruchamiania maszyn wirtualnych ale zarządzać chcemy tylko przez WWW.

Zakładam, że mamy zainstalowane Ubuntu w najnowszej wersji, oraz serwer działający serwer WWW z PHP. Zaczynamy od instalacji VirtualBoxa – zainstalujemy go z pakietów, tak żeby sam nam się aktualizował przy kolejnych wydaniach.

Edytujemy plik /etc/apt/sources.list. Dodajemy do niego linijkę:

deb http://download.virtualbox.org/virtualbox/debian natty contrib

na końcu pliku. Teraz apt-get update && apt-get upgrade

Możemy instalować:

sudo apt-get install virtualbox-4.1

W zależności od tego czy mamy Ubuntu server, czy Desktop instalacja może trochę potrwać.
Teraz musimy uruchomić obsługę API do VirtualBox’a bo nie chcemy tworzyć maszyn wirtualnych “z palca”. Trzeba edytować plik /etc/default/virtualbox i wstawić tam minimum 3 linijki:

VBOXWEB_USER='root'
VBOXWEB_HOST='localhost'
VBOXWEB_PORT=18083

pierwsza oznacza użytkownika jaki będzie uruchamiał vboxa, druga wiadomo – nazwę hosta, trzecia to port na jakim pracuje API. Nie polecam uruchamiania z poziomu niższego niż root, bo utracimy część opcji na VMach. Brzydko, niebezpiecznie ale trzeba uruchamiać to z root’a.

Teraz restartujemy usługę /etc/init.d/vboxweb-service restart żeby załapać nowe ustawienia.

Środowisko mamy przygotowane, teraz czas na phpVirtualBox . Pobieramy ostatnią wersję i wrzucamy do katalogu serwera WWW. U mnie jest to /var/www po dekompresji mam więc katalog phpvirtualbox-4.1-2. Trzeba utworzyć plik z konfiguracją:

cp config.sample.php config.php

edytujemy config.php i ustawiamy dwie zmienne:

var $username = 'root';
var $password = 'haslo';

niestety nie zawsze chce się połaczyć z VirtualBoxem więc jeżeli masz problemy to włącz opcję ktora jest kawałek dalej:

var $noAuth = true;

Pozwoli to na logowanie przez interfece phpVirtualBoxa bez podawania hasła – trzeba więc go dodatkowo zabezpieczyć.
Zasadniczo jak wszystko poszło poprawnie, to teraz wchodząc na stronę naszego serwera http://192.168.1.60/phpvirtualbox-4.1-2/ możemy dostać się do konsoli phpVirtualBoxa i… tworzyć VMy.

Co dalej?

Warto też doinstalować sobie Extension Pack który pozwoli m.in. na korzystanie z USB 2.0 no i co najważniejsze pozwoli łączyć się przez VRDP (o tym dalej). Instalacja Extensiona packa jest stosunkowo prosta – pobieramy ze strony VirtualBox a extension pack:

wget http://download.virtualbox.org/virtualbox/4.1.2/Oracle_VM_VirtualBox_Extension_Pack-4.1.2-73507.vbox-extpack

a potem go instalujemy:

VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.1.2-73507.vbox-extpack

Instrukcja bardzo skrótowa, ale zaznaczyłem najważniejsze elementy. W razie pytań – piszcie 🙂