3 votos

MacOS Sierra - localhost deja de funcionar cuando se activa el host virtual

He habilitado hosts virtuales en mi Mac con MacOS Sierra.

Lo que hice,

  1. Línea de host virtual no comentada en httpd.conf
  2. Se ha añadido una entrada de host virtual de mi sitio en /etc/apache2/extra/httpd-vhosts.conf archivo.

Después, cuando intento acceder a http://localhost me da un 404.

Inicialmente me encontré con un 403, así que creé un username.conf archivo en apache users directorio y dio AllowOverride All para /

Ahora para acceder a localhost necesito desactivar vhost. ¿Algún tipo de ayuda?

6voto

klanomath Puntos 19587

Probablemente te falten una o varias modificaciones. Para habilitar los hosts virtuales en MacOS 10.12.0 (Cliente) haga lo siguiente:

  • editar el archivo /etc/apache2/httpd.conf:

    descomentar la línea 160:

    #LoadModule vhost_alias_module libexec/apache2/mod_vhost_alias.so

    a

    LoadModule vhost_alias_module libexec/apache2/mod_vhost_alias.so

    sustituir en la línea 213

    #ServerName www.example.com:80

    por

    ServerName localhost

    descomentar la línea 509:

    #Include /private/etc/apache2/extra/httpd-vhosts.conf

    a

    Include /private/etc/apache2/extra/httpd-vhosts.conf
  • edite el archivo /etc/apache2/extra/httpd-vhosts.conf y sustituya el contenido por

    <VirtualHost *:80>
        ServerName localhost
        DocumentRoot "/path/to/localhost"
    
        <Directory "/path/to/localhost">
            Options Indexes FollowSymLinks
            AllowOverride All
            Order allow,deny
            Allow from all
            Require all granted
        </Directory>
    </VirtualHost>

    Su sitio tiene que residir en /ruta/al/localhost/

  • Comprueba la configuración de apache con: sudo apachectl -S . Las dos primeras líneas deben producir:

    VirtualHost configuration:
    *:80                   localhost (/private/etc/apache2/extra/httpd-vhosts.conf:23)
  • Inicie apache con sudo apachectl start

  • Ahora - después de vaciar las cachés del navegador - introduzca localhost en la barra de direcciones de su navegador.

1 votos

Me has alegrado el día hombre <3

2voto

rickatech Puntos 121

En mi caso, la instalación de OS X Sierra hizo copias de mis archivos de configuración de httpd con el sufijo [filename]~previous. Luego deshabilitó muchos módulos en httpd.conf (lo cual es típico por alguna razón después de una actualización de OS X). Y entonces Apache siguió fallando silenciosamente ... desconcertándome totalmente.

$ ps ax | grep http

  [ no http was listed! ]

# tail -f  /var/log/system.log

  [ this showed that apache2 was attempting to restart every 10 seconds ]

# apachectl

  [ this showed the missing log directory error ]

De alguna manera, durante la actualización de OS X, se mantuvo un vhost que había hecho directamente en httpd.conf (no suele ser prudente, mejor poner cosas personalizadas directorio extra), y ese vhost tenía una carpeta de registro no estándar. La actualización de OS X borró esa carpeta de registro personalizada (es extraño que lo hiciera), y al reiniciar fallaba silenciosamente porque la ruta de registro no era válida para el vhost personalizado que tenía en httpd.conf.

He creado directorios para honrar esa carpeta de registro no estándar. En 10 segundos, apache2 se reinició y volvió a la normalidad. Todavía tuve que habilitar los módulos de nuevo en httpd.conf, también descomentar varias líneas para tirar en las configuraciones adicionales de extra. Pero una vez que el servidor web está funcionando, una rápida comprobación del navegador para ver qué sitios eran todavía inalcanzables (o estaban siendo redirigidos) permitió que esas líneas de configuración fueran restauradas.

1voto

ntechi Puntos 121

Gracias, esto funciona. Pero si usted está tratando de acceder a la página web de PHP entonces usted tiene que cargar libexec/apache2/libphp5.so módulo. Sólo hay que descomentar:

LoadModule php5_module libexec/apache2/libphp5.so

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X