Apache gewährt Zugriff unter macOS Catalina verweigert

8

Ich habe einen Apache-Webserver (den von Apple gelieferten) auf meinem Macbook ausgeführt und er lief einwandfrei, bis ich auf Catalina 10.15 aktualisiert habe. Ich habe dieselbe httpd.conf verwendet, aber jetzt wird sie angezeigt

Sie haben keine Berechtigung zum Zugriff auf diese Ressource. Der Server kann die htaccess-Datei nicht lesen und verweigert den Zugriff, um sicher zu sein

Ich dachte, es wäre ein Ordnerzugriff von Catalina, aber ich weiß nicht, wie ich Apache auf den Webstammordner (der sich in meinem Ordner / Users / me / Documents befindet) zugreifen lassen soll, da Apache keine normale / Anwendung ist.

Port 80 ist geöffnet, wenn ich mit lsof -nP -i4TCP: 80 | überprüfe grep LISTEN op nmap, damit Apache startet.

Ich habe eine einfache index.html im Stammordner festgelegt, aber das Problem besteht weiterhin. Und wenn ich den .htaccess aus dem Apache-Stammordner entferne, erhalte ich:

Sie haben keine Berechtigung, auf diese Ressource zuzugreifen.

Darüber hinaus ist beim Versuch, ein ErrorDocument zur Verarbeitung der Anforderung zu verwenden, ein 403 Forbidden-Fehler aufgetreten.

Was kann hier das Problem sein?

PHP und JS
quelle

Antworten:

9

Ich habe selbst die Lösung gefunden.

Es ist ein CatalinaProblem:

  1. Gehen Sie zu System Preferences=> Security & Privacy=>Full Disk Access
  2. Wählen Sie eine App aus, gehen Sie zum Stammordner der Festplatte und drücken Sie Cmd + Umschalt +. (Punkt)
  3. Gehen Sie zu / usr / sbin / und wählen Sie httpd.

Das hat bei mir funktioniert.

PHP und JS
quelle
Voller Festplattenzugriff?
Fulvio
Dies hat es für mich nicht behoben, aber ich habe die Server-App installiert, was eine zusätzliche Komplikation darstellt. Die Benutzerverzeichniskonfiguration scheint korrekt zu sein. Wenn sie entfernt wird, wird die URL nicht gefunden oder verboten.
Malhal
Das hat bei mir funktioniert! Beachten Sie, dass Sie in Schritt 2 auf das Schloss in der unteren linken Ecke klicken müssen, um Änderungen vornehmen zu können. Wenn keine Apps aufgelistet sind, klicken Sie auf das +, um das Dateiauswahlfeld zu öffnen.
Smohadjer
2

Ich hatte den gleichen Fehler, das Problem in meinem Fall war, dass MacOS Catalina mit dem PHP-Modul standardmäßig deaktiviert kommt, im Fehlerprotokoll erscheint als:

tail / private / var / log / apache2 / error_log

[Wed Feb 26 18: 10: 57.123036 2020] [autoindex: error] [pid 3145] [client 127.0.0.1:53734] AH01276: Verzeichnis / Library / WebServer / Documents / subdir / kann nicht bereitgestellt werden: Kein übereinstimmender DirectoryIndex (index.html) ) gefunden und vom Server generierter Verzeichnisindex durch die Options-Direktive verboten

Der Apache-Server suchte nach index.html anstelle von index.php, sodass das Listenverzeichnis blockiert wurde. Ich habe die Zeile #LoadModule php7_module libexec / apache2 / libphp7.so in /etc/apache2/httpd.conf auskommentiert und den Apache-Server neu gestartet

sudo apachectl Neustart

und es funktioniert einfach. ich hoffe es hilft.

Bobvivanco
quelle
0

Die obige Antwort rettet mein Leben!

Ich habe alle möglichen Apache-Konfigurationen ausprobiert, nichts hat funktioniert.

Nur eine kleine Korrektur für Schritt 2 - Klicken Sie auf das "+" - Zeichen, um eine App hinzuzufügen, navigieren Sie zum Stammordner und drücken Sie dann Cmd + Umschalt + (Punkt), um alle versteckten Ordner anzuzeigen und den Ordner in Schritt anzuzeigen 3 (/ usr / sbin /)

Ich wünschte, Apple hätte in einem solchen Fall zumindest einen Fehler gezeigt ...

Lior Gross
quelle
Verdammter Apfel. Jedes Mal, wenn sie ein neues Betriebssystem veröffentlichen, brechen sie das Setup aller!
Smohadjer