[[Vorlage(archiviert)]] [[Vorlage(Fortgeschritten)]] {{{#!vorlage Wissen [:Terminal: Ein Terminal öffnen] [:sudo: Root-Rechte] [:Archivmanager: Archivdateien entpacken] [:Editor: Dateien editieren] }}} [[Inhaltsverzeichnis()]] [[Bild(phpvbox-logo.png, 48, align=left)]] [github:phpvirtualbox/phpvirtualbox:PHPVirtualBox] ist eine Weboberfläche für [:VirtualBox:], um einen Server ohne grafische Oberfläche zu betreiben, dessen Hauptaufgabe die Virtualisierung ist. Sie bietet den Komfort einer vereinfachten Bedienung von VirtualBox. Die Weboberfläche sieht weitestgehend so aus wie die Qt-GUI des Herstellers. Das erleichtert die Bedienung einer VirtualBox auf einem Server enorm. Das Übertragen von Installationsmedien von Betriebssystemen ist noch nicht integriert, aber es ist zumindest möglich, lokale Dateien zu nutzen, die z.B per FTP übertragen wurden. Das Programm wurde mit der Lizenz [http://www.gnu.org/licenses/gpl-3.0.de.html GPL v3.0] {de} veröffentlicht. = Voraussetzungen = == Webserver == Vorausgesetzt wird der Webserver [:Apache:] mit installierter [:PHP:PHP5]-Unterstützung. Wer stattdessen [:nginx:] einsetzen möchte, nutzt die Anleitung [http://www.howtoforge.com/managing-a-headless-virtualbox-installation-with-phpvirtualbox-on-nginx-ubuntu-12.04 Managing A Headless VirtualBox Installation With phpvirtualbox On nginx (Ubuntu 12.04)] {en}. == Virtualbox == Die Installation von VirtualBox wird ausführlich im Artikel [:VirtualBox/Installation:] erklärt. Anschließend muss lediglich folgende Zeile im Terminal ausgeführt werden [1][2]: {{{#!vorlage, Befehl sudo VBoxManage setproperty websrvauthlibrary null }}} === Erweiterungen === * Remote Desktop Protocol (Konsolen-Tab) - VirtualBox ExtensionPack (PUEL) = Installation = Das Programm ist nicht in den offiziellen Paketquellen enthalten. == Manuell == [[Vorlage(Fremd, Software, "")]] Die Installation erfolgt mit Root-Rechten und besteht aus dem Herunterladen des Pakets sowie dem Entpacken [3] in das "document root" des Webservers, also konkret nach '''/var/www/''' (`VERSION` ist entsprechend anzupassen): {{{#!vorlage Befehl sudo -i cd /var/www wget 'http://sourceforge.net/projects/phpvirtualbox/files/latest/download' --content-disposition apt install unzip unzip phpvirtualbox-VERSION.zip -d phpvirtualbox-VERSION ln -s phpvirtualbox-VERSION phpvirtualbox #Nutzer wird hinzugefuegt useradd -m vbox -G vboxusers passwd vbox #Header und Kernelmodule werden gesondert aktualisiert apt install linux-headers-$(uname -r) dkms apt install php-xml exit }}} {{{#!vorlage Hinweis Soll der neu angelegte Benutzer ''vbox'' Zugriff auf das CD-Laufwerk des Servers haben dürfen, muss dieser zusätzlich in die [:Benutzer_und_Gruppen#Terminal: Gruppe] ''cdrom'' aufgenommen werden. }}} == VirtualBox Extension Pack == Die Installation des VirtualBox Extension Packs ist optional, also nicht unbedingt erforderlich, aber empfehlenswert. === Installation === Auch hier ist wieder `VERSION` anzupassen: {{{#!vorlage Befehl wget http://download.virtualbox.org/virtualbox/VERSION/Oracle_VM_VirtualBox_Extension_Pack-VERSION.vbox-extpack VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-VERSION.vbox-extpack }}} Durch das Zustimmen zu den Lizenzbedingungen wird VirtualBox zur PUEL-Version. === Alternativen === Es ist alternativ möglich, zur grafischen Verwaltung [:VNC:] zu nutzen oder die Verwaltung auf der Kommandozeile via [:SSH:] durchzuführen. = Einstellungen = Die Konfiguration der VirtualBox-Schnittstelle erfolgt über die Datei '''/etc/default/virtualbox''', die mit einem Editor [4] und Root-Rechten bearbeitet wird. Dort werden folgende Zeilen eingefügt: {{{ VBOXWEB_USER=vbox VBOXWEB_HOST={IP-Adresse des Hosts(ohne Klammern)} }}} Mit einem anschließenden Start des Dienstes ist dieser Teil abgeschlossen: {{{#!vorlage Befehl systemctl start vboxdrv systemctl start vboxweb systemctl enable vboxdrv systemctl enable vboxweb }}} Nachdem man die Beispielkonfiguration mit: {{{#!vorlage Befehl cp /var/www/html/phpvirtualbox/config.php-example /var/www/html/phpvirtualbox/config.php }}} kopiert hat, muss '''/var/www/html/phpvirtualbox/config.php''' noch angepasst werden: {{{ var $username = 'vbox'; var $password = '{Passwort des vbox-Benutzers (ohne Klammern)}'; var $location = 'http://{IP-Adresse des Servers (ohne Klammern)}:18083/'; var $language = 'de' var $consoleHost = '{IP-Adresse des Servers (ohne Klammern)}'; }}} Anschliessend passt man die datei '''/lib/systemd/system/vboxweb.service''' mit dem Editor an: {{{ ExecStart=/usr/bin/vboxwebsrv -H {IP-Adresse des Servers (ohne Klammern)} --pidfile /run/vboxweb.pid --background }}} Nun muss diese Datei mit folgendem Befehl kopiert werden, damit sie sich auch bei Updates nicht ändert: {{{ cp /lib/systemd/system/vboxweb.service /etc/systemd/system/vboxweb.service }}} = Verwendung = Der erste Login mit: * Benutzer: `admin` * Passwort: `admin` erfolgt unter `http:///html/phpvirtualbox`. Für die weitere Verwendung sei auf den Artikel [:VirtualBox:] verwiesen. {{{#!vorlage Hinweis Es wird empfohlen, nach der erfolgreichen Anmeldung unter ''"Ablage -> Passwort ändern"'' das Kennwort zu ändern, damit man auch alles absichert. }}} == Fernsteuerung über die php VirtualBox Web Console == Für die Verwendung der Konsolenansicht wird die Aktivierung der Fernsteuerung benötigt. Oder man verwendet [:SSH:]. Dennoch ist es wichtig, dass für die Fernsteuerung unterschiedliche Ports genommen werden, weil sich mehrere gleichzeitig laufende Maschinen gegenseitig stören. == Gasterweiterung installieren == Leider fehlt in der VirtualBox-Web-Console das Menü der gestarteten virtuellen Maschine: "Geräte -> Gasterweiterungen installieren...". Es ist jedoch weiterhin möglich, die Gasterweiterung als [:VirtualBox/Benutzung#ISO-Image-einbinden: ISO-Image einzubinden]. = Links = * [github:phpvirtualbox/phpvirtualbox:Projektseite] {en} mit Bildern, Wiki, etc. * [http://www.howtoforge.com/managing-a-headless-virtualbox-installation-with-phpvirtualbox-ubuntu-12.04 Managing A Headless VirtualBox Installation With phpvirtualbox (Ubuntu 12.04)] {en} * [http://heise.de/-1668019 Heise.de - Open Source] {de} Kurzbericht zum Programm, 08/2012 * [:VirtualBox:] {Übersicht} Übersichtsartikel #tag: Netzwerk, Emulation und Virtualisierung, Server