Wie behebt man die Berechtigungsverweigerung für Home-Ordner mit Apache in Mavericks?

Ich habe kürzlich den Apache aktiviert, der mit OS X Mavericks ausgeliefert wird. Ich habe jedoch ein Tutorial befolgt, um den Webserver einzurichten. Wenn ich unter zu meinem Home-Filter navigiere http://localhost/~nazeem, erhalte ich die folgende Fehlermeldung:You don't have permission to access /~nazeem/ on this server.

Installationsschritte

Um den Webserver einzurichten, habe ich folgende Schritte unternommen:

  1. aktiviert den Webserver mit dem Befehl:apachectl start
  2. PHP aktiviert, indem überprüft wird, ob das Modul geladen ist
  3. überprüft, ob das Home-Ordner-Modul geladen ist
  4. erstellt die benutzerbasierte Konfigurationsdatei, in /etc/apache2/users/nazeem.confDer Inhalt ist wie folgt:

    <Directory "/Users/nazeem/Development/Websites/"> Options Indexes MultiViews FollowSymLinks AllowOverride All </Directory>

Berechtigungen

~/nazeem : drwxr-xr-x+ ~/nazeem/Development : drwxr-xr-x ~/nazeem/Development/Websites : drwxr-xr-x

Protokoll

Das Apache-Log sagt folgendes:

[Mon May 19 21:22:57 2014] [error] [client ::1] client denied by server configuration: /Users/nazeem/Sites

Meiner Meinung nach ist das bemerkenswert, da der Pfad /Users/nazeem/Sitesnicht das ist, was ich in meiner Benutzerkonfiguration definiert habe.

Versionen

OS X Mavericks 10.9.3 Apache 2.2.26

Weiß jemand wie man das löst?

Wenn Sie Apache nicht neu gestartet haben, nachdem Sie die Änderungen an der Konfigurationsdatei vorgenommen haben, würde es am Ende die Standardeinstellung für Ihren Benutzer ( ~/Sites ) verwenden. Führen Sie "apachectl restart" aus und prüfen Sie, ob es wie erwartet funktioniert.
Danke für Ihre Antwort. Das habe ich bereits gemacht, und das Ergebnis bleibt gleich.

Antworten (1)

In der Haupt-Apache-Konfigurationsdatei Ihres Computers gibt es ein bestimmtes "DocumentRoot", das auf ~/Sites eingestellt zu sein scheint - daher /Users/nazeem/Sites.

Versuchen Sie, einen Dokumentenstamm in Ihrer /etc/apache2/users/nazeem.conf-Datei festzulegen, etwa so:

DocumentRoot "/Users/nazeem/Development/Websites"

Das ist NICHT im Verzeichnisabschnitt Ihrer nazeem.theconf-Datei.

Beachten Sie, dass die Apache-Hauptkonfiguration wahrscheinlich auch das Verzeichnis mit dem Alias ​​"cgi-bin" bezeichnet. Es ist wahrscheinlich /Library/Webserver/CGI-Executables. Verwenden Sie entweder dieses Verzeichnis für Ihre ausführbaren Dateien oder posten Sie ein Follow-up zu den ScriptAlias-Einstellungen.

Und natürlich nach jeder Änderung an Ihrer Apache-Konfiguration:

sudo apachectl neustarten

HTH