Virtualbox shared folder as Apache docroot

geposted am 15.04.2017, in Apache Linux

Wenn auf der Vbox nur eine Site gehostet werden soll, kann man gleich die 000-default.conf anpassen:


	DocumentRoot /mnt/shared/site/public
	<Directory /mnt/shared/site/public>
		Options +Indexes +FollowSymLinks +MultiViews
       		AllowOverride All
		Order allow,deny
		Allow from all
	</Directory>

damit das funktioniert muß aber noch eine Kleinigkeit in der apache2.conf geändert werden.

Wenn man das nicht macht, kann es zu "Forbidden"-Meldungen kommen, die nichts mit der Rechtekonfiguration zu tun haben (dazu siehe unten mehr):

Zwei Zeilen sollten auskommentiert werden:

<Directory />
	Options FollowSymLinks
#	AllowOverride None
#	Require all denied
</Directory>

Dann sind die Chancen gut, daß es funktioniert.

Wenn nicht, müßte der Apache-User noch zur Gruppe vboxsf hinzugefügt werden oder aber man mounten den shared folder gleich mit den richtigen User-Rechten:

Die User-ID des Apache-Users (www-data) ist normalerweise 33 (nachschauen in der /etc/passwd).

Um den shared folder gleich beim Hochfahren der Vbox mit den entsprechenden User-Rechten zu mounten, kann man folgendes in die rc.local eintragen:

mount -t vboxsf -o uid=33,gid=33,fmode=664 Shared /mnt/shared

Wenn der Host ein Windowsrechner ist, kann es sein, daß alle Dateien den executable-Flag bekommen, das verhindert die fmode-Option.

Sollte jetzt die Site immer noch "Forbidden" zurückgeben, kann man noch den Apache-User zur Gruppe vboxsf hinzufügen. (VBox neu starten!).

sudo usermod -aG vboxsf www-data