[Apache]Symlinks tonen enkel dir's, geen files

Pagina: 1
Acties:

  • Tom_G
  • Registratie: Januari 2004
  • Laatst online: 09-02 07:54
Config:
Fedora core 3
Apache 2.0.52
Hostname: Fedora-server
Bij het openen van een dir wordt standaard index.htm, index.html of index.php geopend.

Bestanden en mappen kunnen doorbladerd worden op de http server

In de httpd.conf file staat standaard FollowSymLinks aan.

De document root staat op /var/www/html

Ik plaats een symlink in /var/www/html/test (/var/www/html/test/symlink) die verwijst naar /testmap.

De rechten van /testmap staan voor iedereen op alle rechten (read, write, list). Als user en group zet ik die op apache (krijgen ook alle rechten). De onderliggende mappen en bestanden erven deze rechten.
In /testmap zitten enkele bestanden en mappen.

Goed, wanneer ik nu browse naar http://fedora-server, zie ik de symlink staan als een map. Bij klikken op de symlink (http://fedora-server/symlink) krijg ik de submappen te zien van /testmap, maar NIET de bestanden die deze map bevat.
Indien één van deze submappen een index.html bevat, dan wordt ook deze submap onzichtbaar bij het browsen.

Indien diezelfde symlink ipv naar een map naar een mountpoint zou verwijzen (bvb /storage/test), dan is deze symlink geheel niet zichtbaar bij het browsen. Rekening houdende dat iedere gebruiker hier toegang krijgt (alleen lezen en list).

Iemand een idee waar het probleem hier zit?
Alvast bedankt

  • Sendy
  • Registratie: September 2001
  • Niet online
Ergens mis ik de directory "test" in je hele verhaal. Je browst naar http://fedora-server en ziet daar direct de symlink. Dat klopt niet.

Zou je misschien je testcase kunnen uitbeelden met wat shell-screenshots (en bijvoorbeeld lynx screenshots van de webpagina)? Misschien wordt je verhaal daarmee iets duidelijker.

  • Tom_G
  • Registratie: Januari 2004
  • Laatst online: 09-02 07:54
Die map test staat gewoon in /var/www/html

Dit ziet er zo uit.

In die map test zie je een map een_map staan met daarin een tekstbestand. Dit werkt dus.

Echter in de map test zie je ook een map (symbolic link) symlink staan in lege_map zit er dus niks, echter in map_met_bestanden zitten er 2 txt files en één map submap. Deze files zijn dus niet zichtbaar (maakt niet uit hoeveel bestanden erin zitten), de submap wèl

Hopende hierbij iets duidelijker te zijn. :).

  • Sendy
  • Registratie: September 2001
  • Niet online
Nu zeg je wel (opnieuw) dat die bestanden erin staan, maar laat dat eens zien met wat welgemikte outvoer van ls. Dan zien we de permissies, de werkelijke filenamen en misschien andere dingen.

(Of dit allemaal helpt is nog te bezien, want het lijkt erg vreemd gedrag.)

  • Tom_G
  • Registratie: Januari 2004
  • Laatst online: 09-02 07:54
Bij deze:

code:
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
> su apache
> ls -l
total 166
...
drwxrwxr-x  14 tom    root    4096 Mar 20 19:05 storage
...
drwxrwxrwx   4 apache apache  4096 Mar 22 14:43 testmap

> cd /testmap
> ls -l
total 16
drwxrwxrwx  2 apache apache 4096 Mar 22 14:12 lege_map
drwxrwxrwx  3 apache apache 4096 Mar 22 14:20 map_met_bestanden

> cd /testmap/map_met_bestanden
> ls -l
total 24
drwxr-xr-x  2 root   root   4096 Mar 22 14:20 submap
-rwxrwxrwx  1 apache apache   13 Mar 22 14:14 tekstbestand1.txt
-rwxrwxrwx  1 apache apache   13 Mar 22 14:14 tekstbestand2.txt

> cd /var/www/html
> ls -l
total 40
drwxrwxr-x   6 tom  apache          4096 Mar 11 16:47 Computers
drwxrwxr-x  10 tom  apache          4096 Mar 19 14:46 forum
drwxrwxr-x   8 tom  root            4096 Mar 19 14:12 netjuke
drwxr-xr-x   6 root hoofdgebruikers 4096 Mar 19 16:19 phpmystats
drwxr-xr-x   3 root root            4096 Mar 22 14:17 test

> cd /var/www/html/test
> ls -l
total 12
drwxr-xr-x  2 root root 4096 Mar 22 14:17 een_map
lrwxrwxrwx  1 root root    8 Mar 22 14:13 symlink -> /testmap

> cd /var/www/html/test/symlink
> ls -l
total 16
drwxrwxrwx  2 apache apache 4096 Mar 22 14:12 lege_map
drwxrwxrwx  3 apache apache 4096 Mar 22 14:20 map_met_bestanden


Zoals je hier kan zien, zijn er 2 txt files, die online niet zichtbaar zijn...

Apache draait onder user apache, dus dit mag het probleem niet zijn. Ook als ik via ftp (vsftpd ftp server) inlog met de user apache, kan ik die tekstbestanden openen.

Edit: de directory structure en file permissions kun je hier zien:
http://users.skynet.be/tom.glorieux/Fedora/dir.png

Edit2: duidelijkere command uitvoer

[ Voor 71% gewijzigd door Tom_G op 22-03-2005 16:20 ]


  • Sendy
  • Registratie: September 2001
  • Niet online
Nou, erg slordig die ls uitvoer (i.c.m. dat screenshotje). Gebruik dan ls -l ofzo. Ik zie ook nergens de symlink.

Ik probeerde deze link op te vragen (die zou toch correct moeten zijn?): http://tomg.servehttp.com...standen/tekstbestand1.txt

Daar kreeg ik deze foutmelding:
code:
1
2
3
4
5
6
Forbidden

You don't have permission to access /test/symlink/map_met_bestanden/tekstbestand1.txt on this server.

Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.
Apache/2.0.52 (Fedora) Server at tomg.servehttp.com Port 80

Nu is het mij (nog steeds) niet duidelijk welke permissies de /testmap heeft. Wijzig je vorige post met een beetje geschikte uitvoer (in [code] tags, niet [quote]) zonder dat ik daarbij een vaag screenshotje moet bekijken. Zorg dat alle dirs/bestanden die voor dit verhaal van belang zijn in die ls uitvoer staat!

[ Voor 2% gewijzigd door Sendy op 22-03-2005 16:02 . Reden: WTF! Waarom heb ik een 50 pixel breed code dingetje?!? En dat is weer hersteld blijkbaar. ]


  • Sendy
  • Registratie: September 2001
  • Niet online
Dat is goede uitvoer, en daar kan ik niets geks aan ontdekken (behalve dat je wat scheutig bent met het geven van 0777 permissies -- maar dat zal wel met debuggen te maken hebben).

Heb je in Apache nog vreemde dingen ingesteld? Beveiligde dirs? Let daarbij vooral op de verschillen tussen <Location> en <Directory>. De ene doet het op URL niveau, de andere op filesystem niveau (en dus gaan symlinks niet automatisch goed).

Wat staat er in je log over mijn poging om tekstbestand1 to openen?

  • Tom_G
  • Registratie: Januari 2004
  • Laatst online: 09-02 07:54
Even de volledige httpd.conf file posten:
http://users.skynet.be/tom.glorieux/Fedora/httpd.conf

Tot dusver heb ik niks speciaals ingesteld (mangement gebeurd dmv Webmin).

Dan het stukje uit de error log:

code:
1
[Tue Mar 22 15:59:16 2005] [error] [client 213.53.xxx.xxx] (13)Permission denied: access to /test/symlink/map_met_bestanden/tekstbestand1.txt


Verder is er ook nog deze fout:

code:
1
[Tue Mar 22 17:30:00 2005] [error] [client 192.168.1.3] Symbolic link not allowed: /var/www/html/netjuke/var/music


Dit is de uiteindelijke symlink die ik wil gebruiken. Deze vewijst naar /storage/Muziek (/storage is het mountpoint voor een Maxtor hd van 250 gb, ext3 bestandssysteem), en daarvoor zijn de permissions ingesteld op 755.

[ Voor 36% gewijzigd door Tom_G op 22-03-2005 17:32 ]


  • Sendy
  • Registratie: September 2001
  • Niet online
Als je een sectie als volgt toevoegt, werkt het dan wel?
code:
1
2
3
4
5
6
<Directory "/testmap">
    Options FollowSymLinks Indexes
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

Als dat zo is, moet je maar eens goed je config doorlezen op zoek naar <Directory> entries. Lees ook de Apache handleiding goed.

  • Tom_G
  • Registratie: Januari 2004
  • Laatst online: 09-02 07:54
Ook dit geeft geen werkend resultaat :(.

Ik had al een gelijkaardige optie geprobeerd voor /storage.

Hij blijft hardnekkig weigeren om die files te displayen.

  • Sendy
  • Registratie: September 2001
  • Niet online
En je hebt Apache geSIGHUPt? Een symlink die in de (originele) webroot (/var/www/html) blijft, doet die het wel goed?

Verder weet ik het ook niet meer.

edit:

Het HUP signal (SIGHUP) is om Apache z'n config files opnieuw te laten lezen. En ik bedoelde of een symlinks werkt als-ie binnen /var/www/html staat en wijst naar iets binnen /var/www/html.

[ Voor 45% gewijzigd door Sendy op 23-03-2005 09:54 ]


  • Tom_G
  • Registratie: Januari 2004
  • Laatst online: 09-02 07:54
Ik heb de symlink uit /var/www/html/test even gekopierd naar /var/www/html (zodat we uiteindelijk /var/www/html/symlink krijgen).

Maar ook hier blijft het resultaat net hetzelfde.

Wat bedoel je overigens met heSIGHUPt?

  • Tom_G
  • Registratie: Januari 2004
  • Laatst online: 09-02 07:54
Niemand anders nog een voorstel?
Pagina: 1