Apache reagiert unter OS X Mountain Lion nach dem Upgrade nicht

Apache reagiert unter OS X Mountain Lion nach dem Upgrade nicht

Ich habe Probleme, Apache auf meinem MacBook in Mountain Lion einzurichten, nachdem ich von Leopard aktualisiert habe. Ich habe Folgendes versuchtdiese Anweisungen. Ich habe die LoadModule php5_module libexec/apache2/libphp5.soZeile in unkommentiert /etc/apache2/httpd.conf, ich habe eine my_user_name.confDatei in /etc/apache2/usersmit dem Inhalt:

<Directory "/Users/sarah/Sites/">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

Ich habe eine Datei index.html in /Users/my_user_name/Sites, chmodded auf 644, Eigentümer ist my_user_name.

  • Wenn ich jedoch zu gehe http://localhost/~my_user_name, erhalte ich immer noch die Meldung 403 Forbidden.
  • Ich habe darin etwas erstellt /Library/WebServer/Documents/phpinfo.phpund <?php phpinfo(); ?>wenn ich es im Browser ansehe, sehe ich nur den Quellcode.
  • Wenn ich zu gehe http://localhost, wird „Es funktioniert!“ angezeigt. sudo apachectl stopWenn ich danach jedoch zu besuche http://localhost, wird immer noch „Es funktioniert!“ angezeigt. Sollte dies nicht unzugänglich sein, wenn ich Apache gestoppt habe?

Es scheint fast so, als ob sich hinter meinem ein anderer Webserver befindet und meine Änderungen an und localhostdeshalb keinen Unterschied machen. Irgendwelche Ideen?httpd.confmy_user_name.conf

Antwort1

OK, wir haben also festgestellt, dass Sie mehrere apacheServer betreiben.

Als Erstes würde ich einen Neustart vorschlagen. Normalerweise empfehle ich diese Lösung nicht, aber wenn Ihr System in einem inkonsistenten Zustand mit einem halb toten Apache ist, wird das Problem dadurch behoben und Sie gelangen zurück in einen Zustand, in dem die normalen Tools zum Starten/Stoppen des Webservers funktionieren.

Wenn das nicht zum Funktionieren führt, müssen Sie ermitteln, woher das zusätzliche httpd kommt (Sie können lsof(als Root) verwenden, um zu ermitteln, welche httpd.confDatei es liest. Diese kann Hinweise darauf enthalten, was es installiert hat und wie Sie es deaktivieren oder neu konfigurieren können).

Antwort2

Ich vermute, dass der zusätzliche Webserver derjenige ist, der in OS X integriert ist. In Mountain Lion ist er noch vorhanden, aber die Benutzeroberfläche zum Aktivieren und Deaktivieren wurde entfernt. Sie können ihn jedoch weiterhin über die Befehlszeile verwalten. OS X startet und verwaltet den integrierten Webserver mit launchd, sodass Sie launchctlihn mithilfe von launchd verwalten können. Überprüfen Sie zunächst, ob launchd Apache ausführt:

$ sudo launchctl list | grep apache
1526    -   org.apache.httpd

Dieses Ergebnis sagt mir, dass launchd ein Element mit der Bezeichnung org.apache.httpd gestartet hat und es als Prozess-ID 1526 läuft. Wenn es kein aktives Apache-Element hätte, wären die Ergebnisse leer.

Wenn es sich um das vom System bereitgestellte Launchd-Element handelt, können Sie es wie folgt deaktivieren:

$ sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist

Beachten Sie, dass -wdas Entladen dadurch dauerhaft gemacht wird (ohne diese Funktion würde das Element beim nächsten Neustart neu geladen).

verwandte Informationen