PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Apache 2 - Symbolic link not allowed ?!



i_D
27.07.05, 23:43
Hi

ich versuche folgendes zu realisieren :
apache2 soll eine homepage hosten "/var/www/" (normal)
im document root befinden sich unterordner "/var/www/server/" (normal)
in diesem unterordner sind SymLinks "/var/www/server/~stuff" auf andere verzeichnise (/server/data/) welche sich auf einer anderen festplatte befinden, allerdings werden diese symlinks im index-listing garnicht erst angezeigt so als waeren sie nicht vorhanden. ok ich weiss das es die symlinks gibt also versuche ich, ueber die url, direkt darauf zu zugreifen was mir einen 403-error-FORBIDDEN liefert im error.log findet sich daraufhin folgender eintrag


[Wed Jul 27 22:56:04 2005] [notice] Apache/2.0.54 (Debian GNU/Linux) configured -- resuming normal operations
[Wed Jul 27 22:57:39 2005] [error] [client 192.168.xx.xxx] Symbolic link not allowed: /var/www/server/xxxxx

Vorgeschichte :
ich verwende debian testing (etch) mit aktuellem kernel
apache2 aktuellste version
standart conf´s (ich hab lediglich die "redirect" zeile in der ".../sites-available/default" auskommentiert)

man denkt natuerlich als erstes an fehlende zugriffsrechte vom apache2, welcher laut "top" als root ausgefuehrt wird
ok trotzdem habe ich die rechte auf den zielordner via chmod auf 755 gesetzt, da keine dateien geaendert/angelegt werden sollen, muesste das ja nun reichen, doch es klappt nicht.
ok vielleicht gehn ja symlinks generell nicht, doch ein symlink von /var/www/server/~temp auf /var/www/server/test funktioniert.

da unter /server/data auch noch andere sachen liegen ist ein direktes mounten in /var/www/server/ nicht sinnvoll, kopien der entsprechenden ordner in /var/www/server erscheint mir allerdings auch nicht wirklich im sinne des erfinders von symbolischen links


der vollstaendigkeit halber /etc/apache2/sites-available/default



NameVirtualHost *
<VirtualHost *>

DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all

</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>

ErrorLog /var/log/apache2/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel debug

CustomLog /var/log/apache2/access.log combined
ServerSignature On

Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>

</VirtualHost>


vielleicht hilfts
auszug aus FSTAB


# /etc/fstab: static file system information.
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
/dev/hda2 / ext3 defaults,errors=remount-ro 0 1
/dev/hda1 /boot ext3 defaults 0 2
/dev/hda6 /server ext3 defaults 0 2
/dev/hda7 /home ext3 defaults 0 2
/dev/hda5 /var/www ext3 defaults 0 2



die restlichen conf´s von apache2 sind 100% debian-standart-install-versionen



danke fuer eure hilfe/loesungen/vorschlaege

MfG (Mit freundlichem Groove :) ) iD

marce
28.07.05, 05:49
Du solltest das FollowSymLinks auch noch für das /var/www/server/-VZ erlauben...

i_D
28.07.05, 15:42
wenn ich dich richtig verstehe sollte es dann also soo aussehn:


<VirtualHost *>
ServerAdmin webmaster@localhost

DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>

<Directory /var/www/server/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all

</Directory>

<Directory /var/www/server/data>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all

</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>

ErrorLog /var/log/apache2/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog /var/log/apache2/access.log combined
ServerSignature On

Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>

</VirtualHost>




wenn dus so gemeint hast, bekomme ich in der index-list die symlinks nicht angezeigt.
beim direkt zugriff auf /server/data bekomme ich nun die meldung



Forbidden

You don't have permission to access /server/data on this server.

Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.


der zweite teil dieser message verwirrt mich ein bisschen mehr.


error.log



[Thu Jul 28 16:36:56 2005] [notice] Apache/2.0.54 (Debian GNU/Linux) configured -- resuming normal operations
[Thu Jul 28 16:37:12 2005] [error] [client 192.168.XXX.XXX] File does not exist: /var/www/favicon.ico
[Thu Jul 28 16:37:17 2005] [error] [client 192.168.XXX.XXX] Symbolic link not allowed: /var/www/server/data
[Thu Jul 28 16:39:55 2005] [error] [client 127.0.0.1] Symbolic link not allowed: /var/www/server/maps
[Thu Jul 28 16:40:10 2005] [error] [client 127.0.0.1] Symbolic link not allowed: /var/www/server/maps


auch ein versuchter direkt-zugriff via lynx schlaegt leider fehl.

ich bin mit meinem linux-latein (was diesen fall betrifft) absolut am ende und freue mich auf weitere vorschläge, bzw alternative erfahrungsberichte.


Danke iD

Tomek
28.07.05, 16:28
Ersetze:

<Directory /var/www/server/data>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
mit:

<Directory /var/www/server/data>
Options +Indexes +FollowSymLinks +MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
Danach Apache einmal neustarten und erneut versuchen.

i_D
28.07.05, 16:58
hi

erstmal danke,

ABER es funktioniert leider nicht, erhalte beim aufruf immernoch die forbidden seite, wie oben beschrieben.

schade. :( :confused:

welchen hintergrund gibt es zu den "+" ?

iD

marce
28.07.05, 18:20
wie sind denn die Rechte der einzelnen VZ gesetzt?

i_D
28.07.05, 21:47
ls -l auf die gesymlinkten VZ liefert




....
drwsrwsrwt 2 id id xxx xxxx-xx-xx xx:xx data
....


xxxxxx ist denke ich uninteressant weil groesse datum uhrzeit

kann mir schwer vorstellen das hier das problem liegt da die entsprechenden lese rechte auf die VZ gesetzt sind !?! :confused:


thx 4 help

iD

Tomek
28.07.05, 22:39
Welche URL rufst du denn genau auf? Hast du den abschliessenden Slash mitgegeben?

i_D
28.07.05, 23:58
ich habe verschiedene urls probiert

http://httpserver/ (intern /var/www/)
bringt index.html
http://httpserver/server/ (/var/www/server/)
bringt dir-list von .../server/
http://httpserver/server/data (/server/data/)
FORBIDDEN
http://httpserver/server/data/ (/server/data/)
FORBIDDEN
http://httpserver/server/data/file.ext (/server/data/file.ext)
FORBIDDEN

alle angegeben bsp beziehen sich auf real vorhandene files/VZ´s
die betreffenden files/VZ´s haben die oben beschriebenen zugriffsrechte.

ich hab gerade auch meine letzten zweifel das die symlinks aufgrund von festplattengrenzen nicht funktionieren, restlos zerschlagen.
ich hab als documentroot /server/ angegeben und als symlink "test" auf einen VZ in /server/data/einVZ gelinkt, der zugriff endet leider mal wieder *staun* *ironimodusaus* auf 403 FORBIDDEN.


(an manchen tagen koennte ich kotzen)

iD

i_D
31.07.05, 10:15
Ich hab mich nochmal mit dem problem auseinandergesetzt
und den indianer neu-installiert, hat nix gebracht auch war
ich der meinung das ich vorher mit der 1.33ver von debian
keine solche probz hatte, testweise hab ich dann mal 1.33
installiert und musste erschreckender weise feststellen das
auch mit der alten version nix funktioniert im bezug auf die
symlinks immernoch das selbe im error.log und bei der ausgabe

ich werde weiter forschen und falls ich eine loesung finden sollte
werde ich diese hier posten wer weiss was ich fuer mist gemacht
habe. (ich bin mir zwar keiner schuld bewusst, aber man weiss ja nie)

MfG iD

----------------------------------------------------------
No electrons were harmed in production of this message

Blade
04.03.06, 18:35
Hi,
grabe mal den alten Thread aus, hast Du das Problem gelöst, wäre über Deine Lösung dankbar.