Estoy tratando de configurar un vhost Apache en Mavericks, algo que pude hacer fácilmente en 10.6.8. Estoy usando el Apache predeterminado que está preinstalado en una instalación nueva de OS X 10.9.2
$ 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
Pero cuando navego a cualquiera http://localhost
o http://127.0.0.1
en cualquiera de mis 3 navegadores, me han dicho que no puedo conectar, en lugar de ver Apache "funciona!" mensaje. (En Chrome veo "¡Vaya! Google Chrome no pudo conectarse a localhost")
También intenté agregar un vhost:
- Sin comentar
Include /etc/apache2/extra/httpd-vhosts.conf
en /private/var/appache2/httpd.conf - Agregado
127.0.0.1 test.local
a / etc / hosts Se agregó lo siguiente a /etc/apache2/extra/http2-vhosts.conf
<VirtualHost *:80> ServerName test.local DocumentRoot /Users/me/test <Directory /Users/me/test> AllowOverride all Options -MultiViews </Directory> </VirtualHost>
Apache reiniciado
$ 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
... pero de nuevo, nada cuando navego a http: //test.local
¿Alguna idea? ¿Tiene esto algo que ver con la nueva preferencia de "Compartir Web" de Mavericks, que debe descargar por separado, o algo así?
Editar:
¡Lo averigué! Tuve que modificar las principales opciones del directorio httpd.conf AllowOverride All
y Allow from All
, según este tutorial. El archivo conf que viene con Mavericks tiene esto desactivado. Si hubiera mirado mi archivo de conf original en mi vieja máquina, habría notado la diferencia.
La otra cosa que me estaba confundiendo es que si tengo
ErrorLog "/Users/me/error.log"
en mi definición de VirtualHost, aparece "Chrome no se puede conectar", aunque Apache me dice que la sintaxis está bien. Eliminarlo resuelve el problema.
¡Gracias a todos!
fuente
Respuestas:
Compruebe
/var/log/apache2/error_log
o/var/log/system.log
. También puede intentar vaciar el caché DNS ejecutandosudo killall -HUP mDNSResponder
. Consulte http://support.apple.com/kb/ht5343 .Solo correr
sudo apachectl start
hace que sehttp://localhost
muestre "¡Funciona!" página para mí en una VM 10.9.Ahorro
como
/etc/apache2/users/username.conf
y corrersudo apachectl restart
hace que elhttp://localhost/~username/
punto~/Sites/
.Descomentando
Include /private/etc/apache2/extra/httpd-vhosts.conf
en/etc/apache2/httpd.conf
, añadiendo127.0.0.1 test.dev
que/etc/hosts
, añadiendoa
/etc/apache2/extra/httpd-vhosts.conf
, y corrersudo apachectl restart
hace quehttp://test.dev
apunte a~/Sites/test/
.fuente
En primer lugar, ¿ eliminó su caché de DNS después de cambiar el archivo de hosts? Ejecutar
dscacheutil -flushcache
en la terminal.En segundo lugar, puede ejecutar
apachectl -S
para verificar su configuración de apache2. Corrija cualquier error y reinicie apache nuevamente.Tercero, verifique los permisos en su
/Users/me/test
directorio. Cambie los permisos en ese directorio775
o incluso777
para ver si eso ayuda.fuente
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 a 777 y no ayudó. Además, todavía esperaría ver "¡Funciona!" mensaje en localhost incluso sin un vhost, ¿verdad?Include /etc/apache2/extra/httpd-vhosts.conf
en httpd.conf, y reinicio Apache, ahora veo "¡Funciona!" mensaje. Presumiblemente esto cambió después del vaciado de caché de DNS. Así que ahora solo necesito resolver qué está mal con mi archivo vhosts. Pero debería ser una tarea más fácil ahora, gracias.Me actualicé a Mavericks desde Snow Leopard y mi apache me causó dificultades de inmediato. Después de golpearme la cabeza durante dos noches seguidas, leer todo sobre la configuración de Apache bajo Mavericks y no ver ningún progreso en absoluto: he estado recibiendo el mensaje "Funciona" para cada host virtual que se configuró previamente con SL y en algún momento incluso eso dejó de funcionar: descubrí que si intercambias tu anterior httpd.conf-previous con la httpd.conf recién generada, también deberías comentar
LoadModule bonjour_module libexec/apache2/mod_bonjour.so
.apachectl start
(orestart
) no arroja ningún error, pero en realidad no le gusta este módulo en absoluto. Así que comenta esta línea.Supongo que la lección es verificar tres veces cada directiva en la configuración. Y golpea tu cabeza menos también. ; /
fuente