Meine virtuelle Entwicklungsumgebung

Heute Abend möchte ich eine kurze Aktualisierung zu meiner virtuellen Entwicklungsumgebung beschreiben.

Die Grundeinstellungen sind seit 3 Jahren unverändert - ein Ubuntu-Server mit aktueller LTS-Version.
Eine Einführung für die ersten Installationsschritte hatte ich in der Vergangenheit einmal beschrieben.
Da ich zusätzlich alle Projekte lokal auf der Festplatte des Host-Systems verwalte benötige ich unbedingt die VirtualBox Guest Additions.

Übrigens, die vollständigen Versioninformationen unter Ubuntu könnt Ihr mit lsb_release -a auf der Konsole abfragen.

Konfiguration der Shared Folders in VirtualBox

Da ich bei einem regelmäßigen Upgrade oder gar einer Neu-Installation möglichst wenig Zeit mit der Grundkonfiguration verbringen möchte, nutze ich möglichst viele Standard-Einstellungen von VirtualBox und den GuestAdditions.
Eine davon ist die Konfiguration der Shared-Folders.
In VirtualBox könnt Ihr die Einstellungen unter Devices -> Shared Folders settings erreichen.
Da ich alle Projekte global in workspaces eingeteilt habe, konfiguriere ich eigentlich nur einen Ordner für den geteilten Zugriff.
Wie auf dem Bild zu erkennen, gebe ich den Pfad der gesamten workspaces als Quelle ein und belasse den Namen des Zielordners wie vorgeschlagen. Eine wichtige Einstellung ist der Vollzugriff (Make Permanent), da sonst kein anderer Benutzer, wie zum Beispiel ein nginx oder apache2 Server keine Dateien schreiben oder ausführen darf. Ein Beispiel wäre das Schreiben von Cache-Dateien oder Logs, falls diese für eine Anwendung selbst verwaltet werden - auch das hochladen von Bildern gehört dazu.

Die zweite Einstellung ist das automatische einhängen der Ordner. Das wirklich praktische an dieser Einstellung ist, dass ich am Gast-System nichts mehr konfigurieren muss, um auf dem Ordner zugreifen zu können.

Unter Ubuntu-Servern werden automatisch geladene Ordner unter /media eingehangen. Der eingehangene Name hängt von eurem konfigurierten Namen des Zielordners in den vorher getätigen Einstellungen ab. In meinem Fall ist es sf_workspaces.

So, eigentlich waren das die beiden wichtigen Einstellungen, um einen Ordner vernünftig von VirtualBox verwaltet in euer Gast-System einzuhängen. Damit seit Ihr update-sicher und eure Ordner werden immer ohne Probleme eingehangen. Früher hatte ich immer eigene Einträge für das einhängen der geteilten Ordner ist der /etc/fstab Datei. Da ich aber irgendwann durch ein Upgrade von VirtualBox und den Guest Additions ein Problem beim Starten des Gast-Systems hatte (Fehlermeldung beim Start, da das Dateisystem vboxsf nicht gefunden werden konnte), habe ich das aufgegeben und halte mich seit dem an den Standardeinstellungen von VirtualBox.

Eine häufige kleine und schnell zu behebene Stolperfalle sind die Rechte unter Linux in Bezug auf Webserver wie nginx oder apache2.
Werden die Server aus dem Ubuntu-Repository heraus installiert, laufen diese immer mit den Rechten eines eigenen Benutzers und einer eigenen Gruppe - www-data.
Lassen wir uns einmal die Rechte unseres automatisch eingehangenen Ordners mit ls -l anzeigen sieht es meistens in etwa wie folgt aus:

rwxrwx--- 1 root vboxsf  238 Jul 22 22:36 sf_workspaces

Dabei fällt uns auf, dass die Standardberechtigung auf den Benutzer root und der Gruppe vboxsf begrenzt ist.
Ihr habt jetzt zwei Möglichkeiten die Berechtigung für euren Webserver an diesem Ordner zu erhöhen.

  1. Ihr ändert die Gruppenberechtigung von vboxsf zu www-data
  2. Ihr fügt dem Benutzer www-data der Gruppe vboxsf hinzu

Ihr empfehle Variante zwei, da dies etwas näher an den Standardeinstellungen ist.
Ein schneller Konsolenbefehl zur Rettung:

sudo usermod -aG vboxsf www-data

Wenn Ihr euch nun die Gruppen mit dem Befehl cat /etc/group anschaut sollte der Eintrag in etwa so aussehen:

vboxsf:x:999:www-data,sunlix

Als letztes müsst Ihr ggf. den Webserver einmal neustarten, damit der Benutzer seine neue Gruppenberechtigung berücksichtigt.

Kommentar schreiben

Benutzerdaten
Ihr Kommentar