Apache/PHP + SymLink -> Forbidden

Diskutiere mit über: Apache/PHP + SymLink -> Forbidden im Web-Programmierung Forum

  1. martinibook

    martinibook Thread Starter MacUser Mitglied

    Beiträge:
    8.564
    Zustimmungen:
    350
    Registriert seit:
    20.08.2005
    Hallo,

    Ich habe nun meine Bilderdatenbank auf mein iBook übertragen. Ich habe die PHP-Skripte in ibook.local/~martin/ liegen und kann auch auf die MySQL Datenbank zu greifen. Soweit eigentlich alles normal.

    Da ich nur eine 30gb Festplatte und schon über 10gb Bilder habe, habe ich die Bilder auf meine USB Platte kopiert und über das Terminal symbolisch verlinkt.

    In den PHP-Skripte kommt getimagesize und filesize zum Einsatz. Diese Funktionen können dem SymLink problemlos folgen und es werden die richtigen Daten angezeigt. Die Bilder an sich werden jedoch nicht an gezeigt. Als ich dann "Bild in neuem Tab öffnen" gewählt habe, um die Fehlermeldung zu sehen, sah ich "You don't have permission to access /~martin/PHP-Programme/bilderdb/bestand/2006-04-16/128/PICT1232.jpg on this server." Dieser Pfad wird aus den Daten in der Datenbank zusammengebaut. Da allerdings die Datei gefunden, aber verboten ist, ist der Pfad anscheinen korrekt.

    Die Rechte habe ich an allen Stellen auf 777 gestellt, allerdings kommt die Meldung immer noch. Ich glaube, dass der Apache zwar das PHP Modul durchlässt, allerdings selbst nicht den Link auflöst und die Dateien ausgibt.

    Was muss ich machen, damit das ganze funktioniert?
     
  2. asylum

    asylum MacUser Mitglied

    Beiträge:
    747
    Zustimmungen:
    1
    Registriert seit:
    10.06.2005
    mhh nur ne Vermutung: versuch doch mal den Ordner "2006-04-16" bzw "128" auf 777 zu setzen
     
  3. martinibook

    martinibook Thread Starter MacUser Mitglied

    Beiträge:
    8.564
    Zustimmungen:
    350
    Registriert seit:
    20.08.2005
    Wie schon gesagt, ich habe in OSX alle Rechte auf 777 gesetzt, quasi "chmod -R 777"

    Also daran liegt es nicht. Ich kopiere die Daten jetzt auf meinen Debainserver, da da die eingebaute Platte ausreichend groß ist.

    Martin
     
  4. moses_78

    moses_78 MacUser Mitglied

    Beiträge:
    1.322
    Zustimmungen:
    22
    Registriert seit:
    08.04.2005
    Sieht so aus, als würde der Apache in seiner Standard-
    konfiguration Symlinks nicht folgen, weswegen du bei
    "Options" noch "FollowSymLinks" hinzufügen musst.

    Steht übrigens auch alles bei apache.org ;)
     
  5. martinibook

    martinibook Thread Starter MacUser Mitglied

    Beiträge:
    8.564
    Zustimmungen:
    350
    Registriert seit:
    20.08.2005
    Das hier steht in meiner httpd.conf:
    <Directory />
    Options FollowSymLinks
    AllowOverride None
    </Directory>

    Martin
     
  6. moses_78

    moses_78 MacUser Mitglied

    Beiträge:
    1.322
    Zustimmungen:
    22
    Registriert seit:
    08.04.2005
    Achso, das steht schon als Defaultwert drin :o
     
  7. martinibook

    martinibook Thread Starter MacUser Mitglied

    Beiträge:
    8.564
    Zustimmungen:
    350
    Registriert seit:
    20.08.2005
    Ich habe es momentan auf meinem Debianserver am laufen, allerdings fände ich es auf dem iBook besser. Es scheint ja so, dass er die Datei findet, aber irgendwas nicht mit den Rechten stimmt. Aber mehr als 777 gibts ja net.

    Martin
     
  8. naomi_watts

    naomi_watts MacUser Mitglied

    Beiträge:
    111
    Zustimmungen:
    0
    Registriert seit:
    11.02.2006
    die httpd.conf ist ja nun nicht das selbe wie die .htaccess für das jeweilige verzeichnis.
     
  9. xlqr

    xlqr MacUser Mitglied

    Beiträge:
    1.943
    Zustimmungen:
    15
    Registriert seit:
    08.09.2003
    ist das nicht so gemeint, dass du in der httpd.conf sagst er solle überhaupt auf symlinks reagieren und ist die .htaccess nicht sowas ? :kopfkratz:
     
  10. naomi_watts

    naomi_watts MacUser Mitglied

    Beiträge:
    111
    Zustimmungen:
    0
    Registriert seit:
    11.02.2006
    "Die Direktive Options legt fest, welche besonderen Eigenschaften ein bestimmtes Verzeichnis (mitsamt seinen Unterverzeichnissen) besitzen soll. Das nähere Verhalten einiger dieser Optionen wird durch andere Direktiven geregelt; hier geht es zunächst einmal darum, ob eine bestimmte Eigenschaft grundsätzlich unterstützt werden soll oder nicht. Im Einzelnen sind folgende Optionen definiert, die Sie als Werte der Direktive angeben können:
    - None. Schaltet sämtliche Optionen ab.
    - Indexes. Wenn die angeforderte URL ein Verzeichnis ist, wird die mittels DirectoryIndex festgelegte Indexdatei ausgeliefert oder – falls diese nicht vorhanden ist – ein durch mod_autoindex generierter Index.
    - FollowSymLinks. Symbolische Links innerhalb des Verzeichnisses werden aufgelöst – Apache liefert das entsprechende Ziel des Links aus.
    - SymLinksIfOwnerMatch. Symbolische Links werden nur dann verfolgt, wenn der Eigentümer des SymLinks demjenigen der Zieldatei entspricht."

    vielleicht hilft dir dies:

    <Directory "/~martin/PHP-Programme/bilderdb">
    Options +FollowSymLinks +SymLinksIfOwnerMatch
    AllowOverride All
    </Directory>
     
    Zuletzt bearbeitet: 21.06.2006
Die Seite wird geladen...
Ähnliche Themen - Apache PHP SymLink Forum Datum
HTML-Formular mit PHP auswerten: Apache funktioniert nicht Web-Programmierung 02.04.2010
Mac OS Apache mit PHP und MySQL?! Web-Programmierung 05.07.2008
PHP / Apache tot? + 403 Web-Programmierung 01.03.2008
Apache+PHP+Curl !? Web-Programmierung 11.12.2007
Apache 2 und PHP 5 Installation sehr langsam Web-Programmierung 16.04.2007

Diese Seite empfehlen

Benutzerdefinierte Suche