Hio! Hab hier zu Hause einen apache2 Server laufen, der soweit auch funktioniert. Nun möchte ich auf Dateien außerhalb des DocumentRoot zugreifen, d.h. konkret einen Ordner per PHP durchsuchen und die Dateien entsprechend verlinken. Das Durchsuchen mit PHP klappt soweit gut und ohne Probleme, nur kann ich die Dateien nie runterladen, da sie laut apache2 nicht vorhanden sind. Die Ordnerstruktur sieht dabei so aus: DocumentRoot /media/Daten/WWW Dateien die ich hosten möchte sind unter /media/Daten /media/Daten als DocumentRoot zu nutzen kommt nicht in Frage, da dort auch Dateien als lokale Freigabe liegen, ich will schon eine strenge Regelung zwischen den Internet-Dateien unter ../WWW und /media/Daten, d.h. auf die Dateien unter /media/Daten soll man nur per PHP/HTML zugreifen können. Hab schon einen entsprechenden Eintrag in der /etc/apache2/sites-available/default geändert, aber ohne Erfolg. Hier mal die Datei:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | #... <VirtualHost *:80> #... DocumentRoot /media/Daten/WWW <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /media/Daten/WWW> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> Alias /Download/ /media/Daten <Directory /media/Daten> Options None AllowOverride None Order deny,allow allow from all </Directory> #... |
Ah, Edit: Ich kann den Zugriff nun soweit steuern, dass der User auf Daten wie /media/Daten/Share/test.doc runterladen können, aber keinen Zugriff auf die Ordner einzeln haben - also soweit das was ich möchte. Nun kann man, wie nicht anders zu erwarten, die Dateien auch per Direkteingabe in den Browser herunterladen. Gibt es da auch eine Möglichkeit das zu Unterbinden? Also, dass man Dateien jeglicher Art nur über die Seite sehen und herunterladen kann? Hier mal meine /sites-available/default:
1 2 3 4 5 6 7 8 9 10 | Alias /test/ /media/Daten/ <Directory /media/Daten> Options None AllowOverride None Order Deny,Allow # Hatte erst das hier versucht, aber ohne Erfolg # deny from all # all from localhost allow from all </Directory> |