Ich habe diese Anleitung befolgt, um Apache in High Sierra einzurichten: https://coolestguidesontheplanet.com/get-apache-mysql-php-and-phpmyadmin-working-on-macos-sierra/
Ich habe es benutzt, um es in Sierra einzurichten.
Aber wenn ich zu gehe, http://localhost/~scott/
erhalte ich "Verboten. Sie haben keine Berechtigung, auf diesen Server auf / ~ scott / zuzugreifen."
Ein Vorschlag zu dieser ähnlichen Frage: localhost / userdir unter macOS High Sierra ist das Laden von vhosts. Was ich versucht habe, aber trotzdem "Verboten" bekomme.
Hat sich zwischen Sierra und High Sierra etwas geändert, das Apache daran hindern würde, mit Ordnern für Benutzerseiten zu arbeiten?
apache
high-sierra
sfyfedotcom
quelle
quelle
apachectl configtest
und aktualisieren Sie die AusgabeSyntax OK
Antworten:
Dies funktionierte für mich, als ich auf das gleiche Problem stieß.
Bitte überprüfen Sie die Datei "/private/etc/apache2/extra/httpd-userdir.conf".
Veränderung
zu
und Apache neu starten.
Von: /programming/39631351/apache-localhost-403-forbidden-with-macos-sierra
quelle
/private/etc/apache2/extra/httpd-userdir.conf
ist bereits nicht kommentiert, wie aus dem Anweisungslink hervorgeht, dem ich gefolgt bin.Um den Zugriff auf das Site-Verzeichnis zu ermöglichen, müssen Sie Folgendes hinzufügen
/etc/apache2/httpd.conf
:Die Standardkonfiguration von Apache ist auf / verweigert , daher müssen Sie den Zugriff auf alles explizit zulassen.
quelle
Nur um auf Diogo Limas Antwort einzugehen.
Mit dem Upgrade auf High Sierra hat Apple Kopien Ihrer vorherigen Apache-Einstellungen erstellt und ein ~ vor den * .conf-Dateien sowohl in den Ordnern / etc / apache2 als auch in den Ordnern / etc / apache2 / extra angehängt. Wenn Sie virtuelle Hosts oder SSL-virtuelle Hosts verwenden, müssen Sie auch Ihre vorherigen Versionen für diese .conf-Dateien verschieben.
quelle
/Library/WebServer/Documents
undUsers/username/Sites
als separate Speicherorte für Webprojekte beibehalten , da ich dies in den letzten 10 Jahren unter macOS tun konnte.Wenn Sie nach dem Ausführen aller oben genannten Methoden beim Zugriff auf localhost immer noch "verboten" sind, fügen Sie virtualhost in Ihre Datei /etc/apache2/extra/httpd-vhosts.conf ein
Hinzufügen:
Starten Sie dann Apache neu.
https://coolestguidesontheplanet.com/set-up-virtual-hosts-in-apache-on-macos-high-sierra-10-13/
funktioniert gut für mich
quelle
Ich war in der gleichen Situation, anscheinend gibt es in httpd.conf noch ein paar Zeilen zum Kommentieren, vhosts sind in High Sierra nicht aktiviert. - https://apple.stackexchange.com/a/299929/259065
quelle
Gerade heute Morgen aktualisiert. Verwenden des Sites-Ordners in / Users / username.
Sicherte und ersetzte httpd.conf, httpd-userdir.conf und https-vhosts.conf mit den vorherigen Varianten.
Lief
sudo apachectl configtest
und bekam den PHP-Fehler (PHP in High Sierra auf 7 aktualisiert). Habe http.conf bearbeitet, um PHP7 zu starten und jetzt funktioniert alles wieder.quelle
sudo apachectl configtest
Mögliche Lösung (nachdem alle oben genannten Vorschläge fehlgeschlagen sind). Das Problem ist mit der Erlaubnis des Home-Verzeichnisses. Es sollte für Gruppen / andere ausführbar sein:
sudo chmod go + x / Benutzer / Benutzername
wobei "Benutzername" durch den tatsächlichen Benutzernamen ersetzt werden soll. Danach funktioniert es!
quelle
Puh!! Ich habe es selbst herausgefunden.
Führen Sie diese Schritte aus
Schritt 1: Öffnen Sie Ihr Terminal und führen Sie den folgenden Befehl aus
Und dann kommentieren Sie die Zeile aus, indem Sie das
"#"
Schild davor entfernenSchritt 2: Führen Sie den folgenden Befehl aus
Schritt 3: Gehen Sie dann in Ihr
/Library/WebServer/Documents
Verzeichnis und führen Sie eineKehren Sie zu Ihrem Safari-Browser zurück und geben Sie ein
"http://localhost/yourprojectname"
Sie sind bereit zu gehen.
Ich benutze MacOS High Sierra 10.13, es wurde gestern Morgen aktualisiert.
quelle
localhost
Laufen von/Library/WebServer/Documents
funktioniert gut. Das Problem läuftlocalhost/~scott
von/Users/Scott/Sites
.Verbrachte den ganzen Morgen, um es herauszufinden, aber schließlich funktionierte es. Hoffe, das kann für jemanden nützlich sein.
Ich folgte einer Anleitung, aber mit einer leichten Änderung.
/users/username/Sites/
Ich habe den letzten Schrägstrich hinzugefügt , damit er für mich funktioniert.Jetzt kann ich auf localhost-Ordner zugreifen, aber ...
Vor der Hochsierra war es wie:
http://localhost/~username/smomesite.local
Jetzt ist wie:
http://localhost/smomesite.local
Nicht mehr
~username
erforderlich.quelle
Users/myname/Sites
Verzeichnis als auch aus/Library/WebServer/Documents
Ich hatte gerade das gleiche Problem und wollte genau das tun, was Sie wollten (behalten Sie das Stammverzeichnis unter / Library / WebServer / Documents bei, lassen Sie aber auch Ordner für Benutzerseiten zu). Ich bin mir nicht sicher, ob dies hilfreich sein wird, aber nachdem ich heute Abend stundenlang darauf geklopft hatte, Zeile für Zeile durch alle .conf-Dateien geschaut und mich gefragt hatte, was falsch war, stellte ich fest, dass der httpd-Prozess meine nicht lesen konnte eigenes Benutzerverzeichnis. Aus irgendeinem Grund wurde der Wert auf 750 festgelegt, und der Benutzer _www kann ihn nicht lesen. Einmal habe ich das behoben, indem ich "chmod 755" ausgeführt habe. In meinem Benutzerverzeichnis wurde der Ordner "Sites" angezeigt.
Ich bin mir nicht sicher, wie mein eigenes Benutzerverzeichnis so geworden ist, da es den Anschein hat, dass sie beim Erstellen eines neuen Benutzers standardmäßig 755 sind. Und ich hatte bereits viele Male überprüft, ob mein Sites-Ordner auf 755 eingestellt war.
quelle
Ich hatte das gleiche Problem. Ich habe die beiden folgenden Zeilen auskommentiert (wie bereits in einer anderen Antwort vorgeschlagen).
Habe aber immer noch den gleichen Fehler. Der Trick für mich war, diese zusätzlichen Zeilen in der Datei httpd.conf zu kommentieren:
Ich hoffe, das hilft.
quelle
Es kommt vor, dass das Update Ihre gesamte vorherige Konfiguration in die Datei .conf ~ previous verschoben hat. Wenn Sie /etc/apache2/extra/httpd-userdir.conf~previous zu /etc/apache2/extra/httpd-userdir.conf und /etc/apache2/extra/httpd.conf~previous zu / etc / apache2 / verschieben extra / httpd.conf, es sollte wie vorher funktionieren.
quelle
Ich hatte das gleiche Problem. Die Auflösung war einfach. Siehe Antwort hier: https://apple.stackexchange.com/a/306390/129503
quelle
Ersetzen
von älteren ~ vorherigen Dateien.
Wenn Sie in httpd.conf einen Fehler im PHP5-Modul erhalten, ersetzen Sie PHP5 durch PHP7, und Ihre Websites sollten funktionieren.
Ersetzen
Mit
quelle
Ich habe gerade ein Upgrade durchgeführt und hatte genau die gleichen Probleme. Ich benutze keine vhosts. Die Lösung für mich war sicherzustellen:
In
https.conf
Kommentarund stellen Sie sicher, dass
extra/httpd-user.conf
die Linie hat:quelle