Ich habe eine Datei in meinem ~/Sites
-Verzeichnis, die gut funktioniert, wenn ich sie durch coderama.local/~coderama/index2.php
browse.
Jetzt möchte ich knifflig werden und meine index2.php
-Datei an einen anderen Ort auf meinem System verschieben, also mache ich dies, indem ich einen symbolischen Link lege. Beim Versuch, auf coderama.local/~coderama/index2.php
zuzugreifen, wird jedoch die folgende Fehlermeldung angezeigt.
Irgendwelche Ideen?
Vielen Dank!
Verboten
Sie haben keine Berechtigung zum Zugriff auf /~coderama/index2.php auf diesem Server.
Das ist eine konfigurierbare Apache-Option. Es scheint, dass Apache auf Macs (und wahrscheinlich den meisten Installationen) so konfiguriert ist, dass sie symbolischen Links nicht folgt. Ich vermute (wie andere oben erwähnen), dass es aus Sicherheitsgründen ist.
Es kann jedoch manchmal sehr praktisch sein, symbolische Links zu verfolgen, insbesondere bei der Entwicklung bestimmter Arten von Apps. Was Sie tun müssen, ist 1) Ändern Sie die Apache-Konfiguration, um die Verfolgung symbolischer Links zuzulassen, und 2) starten Sie Apache neu.
Der Konfigurationsschritt wird wie folgt durchgeführt:
a) cd/etc/Apache2 (hier befinden sich die Konfigurationsdateien von Apache standardmäßig auf einem Mac)
b) Sie sehen hier ein paar Verzeichnisse. Einer heißt Benutzer
c) cd-benutzer
d) ls sollte eine .conf-Datei mit Ihrem Anmeldenamen enthüllen (login .conf) Ich bin "marvo", also heißt meine "marvo.conf".
e) Bearbeiten Sie diese Datei (ich verwende vi) - aber Sie müssen dies mit Sudo tun:
Sudo vi marvo.conf
f) Sie werden so etwas sehen
<Directory "/Users/marvo/Sites/">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
g) Fügen Sie die Option "FollowSymLinks" hinzu, damit die zweite Zeile dieser .conf-Datei folgendermaßen aussieht:
Options Indexes MultiViews FollowSymLinks
(Weitere Konfigurationsoptionen finden Sie im Internet. Ich habe diese Seite gefunden: http://httpd.Apache.org/docs/2.0/mod/core.html#directory )
h) Speichern Sie die Datei.
Jetzt müssen Sie Apache neu starten, damit die Konfigurationsänderung übernommen wird. Beim Googeln habe ich festgestellt, dass dies am einfachsten von der Befehlszeile aus mit dem folgenden Befehl erledigt werden kann:
Sudo /usr/sbin/apachectl restart
(Fand das bei http://mcapewell.wordpress.com/2006/09/22/restart-Apache-in-mac-os-x/ )
Nun sollte dieser symbolische Link auf Ihren Siteseiten gut funktionieren.
Hatte das gleiche Problem. Leider war Marvos Antwort nicht genug.
Das Problem liegt bei den Berechtigungen, die für jeden Ordner im Pfad festgelegt sind, beginnend mit ~/
. Für die Verzeichnisse muss das Flag execute
gesetzt sein, damit die Verzeichnisstruktur wiederhergestellt werden kann. In meinem Fall verknüpfte ich einen Themenordner von ~/Dropbox/projects/theme
mit einer WordPress-Installation auf ~/Site/wordpress
.
Die Antwort war:
chmod a+x ~/Dropbox/
chmod a+rx ~/Dropbox/projects
Dies ist ein altes Problem, aber wenn jemand diese Seite erreicht, kann dies nützlich sein. :)
Scheint wie eine Sicherheitslücke (wird auch von Matt vorgeschlagen)
Neben Marvos Antwort. Was mir geholfen hat war: Ändern Sie die Berechtigung für Dokumente Ordner:
cd ~
chmod a+rx Documents/
Ich kann mich nicht genau an den Grund dafür erinnern, aber es funktioniert nicht. Es ist eine Sicherheitsfrage. Sie können XAMPP http://www.apachefriends.org/de/xampp-macosx.html oder MAMP http://www.mamp.info/en/index.html verwenden, um dies zu umgehen .
Stellen Sie außerdem sicher, dass in Ihrer httpd-vhosts.conf eine Direktive vorhanden ist
Ansonsten erhalten Sie dasselbe '403 verboten im Browser', wobei 'der Client von der Serverkonfiguration im Fehlerprotokoll abgelehnt wird.