Intentando ejecutar el servidor apache en Mavericks

5

Estoy tratando de configurar un host de 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 http://localhost o http://127.0.0.1 en cualquiera de mis 3 navegadores, me dicen que no puedo conectarme, en lugar de ver "It Works!" de Apache. mensaje. (En Chrome veo "¡Ups! Google Chrome no pudo conectarse a localhost")

También intenté agregar un vhost:

  1. Include /etc/apache2/extra/httpd-vhosts.conf sin comentarios en /private/var/appache2/httpd.conf
  2. Se agregó 127.0.0.1 test.local a / etc / hosts
  3. 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>
    
  4. 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 enlace

¿Algún pensamiento? ¿Tiene esto algo que ver con la nueva preferencia de "Compartir en la Web" de los Mavericks, que tienes que descargar por separado, o algo así?

Editar:

Lo descubrí! Tuve que modificar las opciones principales del directorio httpd.conf a AllowOverride All y Allow from All , según este tutorial . El archivo conf que viene con Mavericks ha sido desactivado. Si hubiera visto mi archivo conf original en mi máquina anterior, habría notado la diferencia.

La otra cosa que me estaba arruinando 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!

    
pregunta Sam Fen 17.04.2014 - 16:21

3 respuestas

2

Comprueba /var/log/apache2/error_log o /var/log/system.log . También puede intentar vaciar el caché de DNS ejecutando sudo killall -HUP mDNSResponder . Consulte enlace .

Simplemente ejecutando sudo apachectl start hace que http://localhost muestre "¡Funciona!" Página para mí en un 10.9 VM.

Guardando

<Directory "/Users/username/Sites/">
  Options Indexes Multiviews
  AllowOverride AuthConfig Limit
  Order allow,deny
  Allow from all
</Directory>

como /etc/apache2/users/username.conf y ejecutando sudo apachectl restart , http://localhost/~username/ apunta a ~/Sites/ .

Descomentar Include /private/etc/apache2/extra/httpd-vhosts.conf en /etc/apache2/httpd.conf , agregando 127.0.0.1 test.dev a /etc/hosts , agregando

<VirtualHost *:80>
  DocumentRoot "/Users/username/Sites/test"
  ServerName test.dev
</VirtualHost>

a /etc/apache2/extra/httpd-vhosts.conf , y ejecutar sudo apachectl restart hace que http://test.dev apunte a ~/Sites/test/ .

    
respondido por el user495470 17.04.2014 - 18:13
0

En primer lugar, ¿ vació su caché de DNS después de cambiar el archivo de hosts? Ejecuta dscacheutil -flushcache en la Terminal.

Segundo, puedes ejecutar apachectl -S para verificar tu configuración de apache2. Corrija cualquier error y reinicie Apache nuevamente.

Tercero, verifique los permisos en su directorio /Users/me/test . Cambie los permisos en ese directorio a 775 o incluso a 777 para ver si eso ayuda.

    
respondido por el JMS 17.04.2014 - 17:40
0

He actualizado a Mavericks de Snow Leopard y mi apache me dio un tiempo difícil de inmediato. Después de golpearme la cabeza durante dos noches seguidas, leí todo sobre la configuración de Apache en Mavericks y no observé ningún progreso en absoluto. He recibido el mensaje "Funciona" para cada host virtual que se configuró previamente con SL y en algún momento incluso eso dejó de funcionar: he encontrado que si cambias tu antiguo httpd.conf-previous con el httpd.conf recién generado, también deberías comentar LoadModule bonjour_module libexec/apache2/mod_bonjour.so . apachectl start (o restart ) no produce ningún error, pero en realidad no le gusta este módulo. Así que comenta esta línea hacia fuera.

Supongo que la lección es revisar tres veces cada directiva en la configuración. Y golpearte la cabeza menos, también. ; /

    
respondido por el pop 06.11.2014 - 23:13

Lea otras preguntas en las etiquetas