Ich versuche, virtuelle Hosts unter Mac OS X einzurichten. Ich habe httpd.conf geändert und den Server neu gestartet, aber ich hatte kein Glück, ihn zum Laufen zu bringen. Außerdem stelle ich fest, dass keine Dateien in der in httpd.conf (Libraries / WebServer / Documents) genannten DocumentRoot bereitgestellt werden, sondern in einem anderen Verzeichnis (/ usr / local / apache2 / htdocs). Ich sehe diesen Ordner nirgends in der httpd.conf erwähnt. Außerdem funktioniert PHP, aber die Zeile "LoadModule php5_module" ist auskommentiert. Das lässt mich denken, dass es eine andere .conf-Datei verwendet. Wie kann ich herausfinden, welche Konfiguration tatsächlich geladen wird?
Update: Ich habe gerade gelöscht, dass httpd.conf und apache sich nach dem Neustart gleich verhalten, also wurde es definitiv nicht verwendet!
quelle
/usr/sbin/httpd -D FOREGROUND -f /Library/Server/Web/Config/apache2/httpd_server_app.conf -D WEBSERVICE_ON
Es gibt eine andere serverfault Frage zu diesem . Wenn Sie einen Debian-basierten Server verwenden, können Sie
apache2ctl
bestimmen, welche Konfigurationsdatei verwendet wird:Mehr dazu:
So finden Sie heraus, welche httpd.conf Apache zur Laufzeit verwendet
quelle
Versuchen
und du solltest (könntest) Ausgabe bekommen wie
Wie genau starten Sie den Server außerdem neu? Einfach nur neugierig, falls Sie irgendwie nicht wirklich neu Lesen der Konfigurationsdatei.
quelle
-f
Flagge drinWeil einige Konfigurationen Server-App, Brew oder was auch immer verwenden und weil man FTW einsetzt:
Dieser Befehl führt Folgendes aus:
Getestet auf Sierra & El Capitan
quelle
$
ist wichtig (in diesem Fall ist es nicht die Befehlszeile). If konvertiert die Anweisung in parens in einen Befehl, an den wir das-V
Flag übergeben. Das Auslassen führt zu: "Syntaxfehler in der Nähe des unerwarteten Tokens -V".Überprüfen Sie zunächst, welches das Startskript für Apache ist. Für macOS sollte es / Library / LaunchDaemons sein. Dies kann ein Arbeitsverzeichnis oder ähnliche Informationen beinhalten.
Sie können auch den laufenden Prozess selbst mit dtruss debuggen. Sie können mit eine Verbindung zum laufenden Prozess herstellen
dtruss -p <pid>
. Wenn Sie dann HUPEN, können Sie wahrscheinlich über die Ausgabe blättern, um zu sehen, woher sie die Konfiguration bezieht. Alternativ starten Sie Apache einfach, indem Sie dtruss direkt mit aufrufendtruss start_apache_command
.Sie können jederzeit eine systemweite Suche nach httpd.conf durchführen
find / -name httpd.conf
.quelle