Das Entwickeln mit einem Webserver in einer virtuellen Maschine gestaltet sich ein wenig zäh, wenn man bei jedem Test die veränderten Daten erst per FTP in die VM hochladen muss. VirtualBox bietet ja SharedFolder an, also Ordner, auf die Host und Gastsystem zugreifen können. Warum sollte der Webserver also nicht gleich auf den SharedFolder zugreifen können?

Zunächst treffen wir alle Vorbereitungen auf dem Host, bevor wir das Gastsystem konfigurieren.

Im VirtualBox Manager wählen wir die virtuelle Maschine des Webservers an und gehen in das "Ändern" Menü unter den Punkt "Gemeinsame Ordner" und erstellt dort einen neuen Ordner.

Wichtig ist hier:

  • Nicht die Checkboxen anwählen!
  • Merkt euch den "Ordner-Name". Dieser wird später noch benötigt. Das war es auch schon auf Seiten des Hosts. Startet jetzt die virtuelle Maschine.

Als erstes installiert man das Paket dkms (falls nicht schon geschehen) mit

sudo apt-get install dkms

damit werden zukünftige Kernelmodule automatisch erkannt und entsprechend angewendet. Mehr Informationen zu dkms findet ihr hier.

Danach werden die VirtualBox Guestadditions installiert (falls noch nicht geschehen).

Weiter gehts! Jetzt fügt ihr den Benutzer, den ihr bei der Installation des Ubuntuservers angegeben habt, der Gruppe "vboxsf" zu:

sudo usermod -G vboxsf dominik

Dann erstellt ihr im Verzeichnis des Apache-Servers ein Unterverzeichnis einen Unterordner, den ihr dann später aufruft:

sudo mkdir /var/www/html/shared

Merkt euch dieses Verzeichnis!

Jetzt benötigen wir die Userid und Gruppenid des Benutzers. Diese Informationen bekommen wir mit den Befehlen

id -u dominik

id -g dominik

Bei mir war das jeweils die 1000.

Jetzt mounten wir den SharedFolder auf das vorhin erzeugte Verzeichnis:

sudo mount -t vboxsf -o rw,uid=1000,gid=1000 Webserver /var/www/html/shared

Legt jetzt auf dem Host (also Windows) eine Test-HTML in das erstellte Verzeichnis (in meinem Beispiel C:\Temp\Webserver) und ruft nun im Browser in der virtuellen Maschine die Adresse http://localhost/shared auf. Jetzt solltet ihr die Datei sehen können. Der erste Test war also erfolgreich!

Damit dieser Ordner nun automatisch bei jedem Start der virtuellen Maschine eingebunden wird, fügen wir als erstes das Modul "vboxsf" in den Bootprozess ein.

sudo nano /etc/modules

Fügt hier eine neue Zeile mit "vboxsf" ein, speichert mit STRG+O und schließt die Datei wieder mit STRG+X.

Danach fügen wir eine neue Zeile in die Datei fstab ein, um den Ordner zukünftig automatisch beim Start einzuhängen:

sudo nano /etc/fstab

Hier schreiben wir ganz unten in eine neue Zeile

Webserver /var/www/html/shared vboxsf defaults 0 0

Die einzelnen Angaben trennen wir entweder mit einem Leerzeichen oder einem Tabulator.

Jetzt könnt ihr eure Webprojekte in den Shared-Ordner in Windows legen und diese auch dort editieren und bearbeiten.