Der Ordner ~/Sites gibt den Fehler 403 aus

Dies ist wahrscheinlich eine dumme Frage, und es sollte einfach sein, aber ich sehe es eindeutig nicht.

Mein lokales Sites-Verzeichnis scheint seit der gestrigen Verwendung geänderte Berechtigungen zu haben. Es funktioniert seit Monaten gut und ich kann beim besten Willen nicht herausfinden, was sich geändert hat.

  • Der localhost funktioniert einwandfrei, aber mein Home-Sites-Ordner gibt einen 403 aus
  • Mein lokales Sites-Verzeichnis (~/Sites) hat 755 Berechtigungen, ebenso wie die Verzeichnisse darin, und die Dateien haben meistens 644
  • Berechtigungen auf ~/Sites sind drwxr-xr-x+, im Besitz meines Kurznamens und meiner Mitarbeiter, was richtig erscheint
  • Überprüfte Apachectl-Konfiguration und erhielt eine „Syntax OK“-Antwort
  • Nur um klar zu sein, das funktionierte . Meine /etc/apache2/httpd.conf erlaubt Benutzerverzeichnisse (unkommentiert) und löst die virtuellen Hosts auf, die ich eingestellt habe, sie alle haben nur einen mystischen 403, der sie blockiert.
  • Um das Ganze noch schlimmer zu machen, funktionieren die Sites in anderen Benutzerprofilen auf dem Computer und sie haben die gleichen Berechtigungen

Also - ratlos. Was sehe ich gerade nicht?

Berechtigungen weiter hinten können den Zugriff verhindern, haben Sie ein Festplattendienstprogramm ausgeführt > Berechtigungen überprüfen?

Antworten (3)

Sie müssen dieses Verzeichnis mit dem laufenden Benutzer des Apache-Prozesses erreichen. Sie können dies überprüfen, indem Sie mit sudo dorthin gehen und versuchen, vom /(Stamm-)Verzeichnis dorthin zu gelangen.

Am einfachsten ist es, die Ausführungsberechtigung für andere in jedem Verzeichnis vom Stammverzeichnis bis zum Verzeichnis Ihres Benutzers festzulegen Site.

Überprüfen:

ls -ld /Users ~/ ~/Site

Und die Lösung:

chmod +x /Users ~/ ~/Site

(Möglicherweise müssen Sie sudo zum Ändern verwenden)

Yep - das war es. Irgendwie habe ich die Ausführung aus dem Verzeichnis entfernt. Ich habe es angestarrt und es hat sich einfach nicht registriert - danke!
Ich dachte, ich hätte, tut mir leid.

Sehen Sie sich die Berechtigungen anderer Verzeichnisse an; zum Beispiel Ihr Home-Verzeichnis im Vergleich zu den anderen Home-Verzeichnissen:

ls -le /Users/

Es sollte in etwa so aussehen:

drwxr-xr-x+ 13 user1   staff   442 12 Nov  2010 user1/
 0: group:everyone deny delete
drwxr-xr-x+ 63 user2   staff  2142  9 Aug 16:55 user2/
 0: group:everyone deny delete

Es besteht eine gute Chance, dass Ihr Home-Verzeichnis irgendwie auf andere Berechtigungen gesetzt wurde (z. B. 700), und das führt dazu, dass Apache erstickt.

Danke - das hat mir geholfen, mich in die richtige Richtung zu lenken. Ausführungsberechtigungen wurden irgendwie deaktiviert (hmm...)

Klicken Sie mit der rechten Maustaste, gehen Sie zu Get Info, und unten können Sie die Berechtigungen ändern.