Ich versuche, einen Apache-Vhost auf Mavericks einzurichten, was ich unter 10.6.8 problemlos tun konnte. Ich verwende den Standard-Apache, der bei einer Neuinstallation von OS X 10.9.2 vorinstalliert ist
$ sudo apachectl start
org.apache.httpd: Already loaded
$ ping localhost
PING localhost (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.053 ms
Aber wenn ich zu einem http://localhost
oder http://127.0.0.1
in einem meiner 3 Browser navigiere, wird mir gesagt, dass ich keine Verbindung herstellen kann, anstatt Apaches "It Works!" Nachricht. (In Chrome sehe ich "Ups! Google Chrome konnte keine Verbindung zu localhost herstellen")
Ich habe auch versucht, einen vhost hinzuzufügen:
Include /etc/apache2/extra/httpd-vhosts.conf
in /private/var/appache2/httpd.conf127.0.0.1 test.local
Zu /etc/hosts hinzugefügtFolgendes zu /etc/apache2/extra/http2-vhosts.conf hinzugefügt
<VirtualHost *:80>
ServerName test.local
DocumentRoot /Users/me/test
<Directory /Users/me/test>
AllowOverride all
Options -MultiViews
</Directory>
</VirtualHost>
Apache neu gestartet
$ apachectl -t
Syntax OK
$ sudo apachectl graceful
$ ping test.local
PING test.local (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.040 ms
... aber wieder nichts, wenn ich zu http://test.local navigiere
Irgendwelche Gedanken? Hat das etwas mit der neuen "Web Sharing"-Einstellung von Mavericks zu tun, die Sie separat herunterladen müssen, oder so?
Bearbeiten:
Herausgefunden! Ich musste die Hauptoptionen des httpd.conf-Verzeichnisses gemäß diesemAllowOverride All
Tutorial in und ändern . In der mit Mavericks gelieferten conf-Datei ist dies deaktiviert. Wenn ich mir meine ursprüngliche conf-Datei auf meinem alten Rechner angesehen hätte, wäre mir der Unterschied aufgefallen.Allow from All
Die andere Sache, die mich durcheinander gebracht hat, ist, dass ich es getan habe
ErrorLog "/Users/me/error.log"
In meiner VirtualHost-Definition erhalte ich "Chrome kann keine Verbindung herstellen", obwohl Apache mir mitteilt, dass die Syntax in Ordnung ist. Das Entfernen behebt das Problem.
Danke an alle!
Prüfen /var/log/apache2/error_log
oder /var/log/system.log
. Sie können auch versuchen, den DNS-Cache zu leeren, indem Sie ausführen sudo killall -HUP mDNSResponder
. Siehe http://support.apple.com/kb/ht5343 .
Einfach laufen sudo apachectl start
macht http://localhost
die Show "Es funktioniert!" Seite für mich in einer 10.9 VM.
Speichern
<Directory "/Users/username/Sites/">
Options Indexes Multiviews
AllowOverride AuthConfig Limit
Order allow,deny
Allow from all
</Directory>
as /etc/apache2/users/username.conf
and running sudo apachectl restart
weist http://localhost/~username/
darauf hin ~/Sites/
.
Auskommentieren Include /private/etc/apache2/extra/httpd-vhosts.conf
in /etc/apache2/httpd.conf
, Hinzufügen 127.0.0.1 test.dev
zu /etc/hosts
, Hinzufügen
<VirtualHost *:80>
DocumentRoot "/Users/username/Sites/test"
ServerName test.dev
</VirtualHost>
zu /etc/apache2/extra/httpd-vhosts.conf
, und das Laufen sudo apachectl restart
macht http://test.dev
auf ~/Sites/test/
.
Haben Sie zuallererst Ihren DNS-Cache geleert , nachdem Sie die Hosts-Datei geändert haben? dscacheutil -flushcache
Im Terminal ausführen .
Zweitens können Sie ausführen, apachectl -S
um Ihre Apache2-Konfiguration zu überprüfen. Korrigieren Sie alle Fehler und starten Sie Apache erneut.
Drittens überprüfen Sie die Berechtigungen für Ihr /Users/me/test
Verzeichnis. Chmod die Berechtigungen für dieses Verzeichnis 775
oder sogar 777
um zu sehen, ob das hilft.
VirtualHost configuration: wildcard NameVirtualHosts and _default_ servers: *:80 is a NameVirtualHost, default server test.local (/private/etc/apache2/extra/httpd-vhosts.conf:29), port 80 namevhost test.local (/private/etc/apache2/extra/httpd-vhosts.conf:29)
. 3. chmod auf 777 und es hat nicht geholfen. Außerdem würde ich immer noch erwarten, das "It Works!" Nachricht bei localhost auch ohne vhost, richtig?Include /etc/apache2/extra/httpd-vhosts.conf
und Apache neu starte, sehe ich jetzt die Meldung "It Works!" Nachricht. Vermutlich hat sich dies nach dem DNS-Cache-Flush geändert. Jetzt muss ich nur noch herausfinden, was mit meiner vhosts-Datei nicht stimmt. Aber es sollte jetzt eine einfachere Aufgabe sein, danke.Ich habe von Snow Leopard auf Mavericks aktualisiert und mein Apache hat mir sofort das Leben schwer gemacht. Nachdem ich mir zwei Nächte hintereinander den Kopf zerbrochen, alles über die Konfiguration von Apache unter Mavericks gelesen und keinerlei Fortschritt darin gesehen habe – habe ich für jeden virtuellen Host, der zuvor mit SL konfiguriert war, die Meldung „Es funktioniert“ und irgendwann sogar das funktioniert nicht mehr – Ich habe festgestellt, dass Sie, wenn Sie Ihre alte httpd.conf-vorherige mit der neu generierten httpd.conf austauschen, LoadModule bonjour_module libexec/apache2/mod_bonjour.so
auch auskommentieren sollten. apachectl start
(oder restart
) wirft keine Fehler, aber es mag dieses Modul überhaupt nicht. Also kommentiere diese eine Zeile aus.
Ich denke, die Lektion besteht darin, jede Anweisung in der Konfiguration dreifach zu überprüfen. Und schlagen Sie sich auch weniger den Kopf. ;/
grg
Sam Fen
rwenz3l