localhost carga la página de apache predeterminada

0

Estoy configurando un localhost y parece que todo debería funcionar, pero cada vez que voy a site.local se carga la página predeterminada de localhost de Apache (¡funciona!).

Aquí hay una copia de mi archivo de hosts:

##
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1    localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%1o0 localhost

#####
 DEV
#####
# SITE
127.0.0.1    site.local
::1          www.site.local

y mi vhost:

<VirtualHost *:8080>
    ServerAdmin [email protected]
    ServerName site.local
    DocumentRoot "/Users/me/site"
    ErrorLog "/Applications/MAMP/logs/site.local-error_log"
    CustomLog "/Applications/MAMP/logs/site.local-access_log" common
    <Directory "/Users/me/site">
        Options Indexes FollowSymLinks
        AllowOverride All
    </Directory>
</VirtualHost>

Cosas que he hecho para asegurarme de que no sea un error de usuario:

  • no ha comentado la línea en el archivo httpd.conf para incluir mi archivo vhost
  • usé apachectl configtest para probar mi archivo (regresó diciendo que la sintaxis es correcta)

Cosas a tener en cuenta:

  • Utilizo los puertos 8080 y 3307 para Apache y MYSQL
  • Si voy a site.local: 8080 se carga pero no muestra los elementos como debería (en su lugar, carga los elementos del html en un formato de lista)
  • esto está desactivado una instalación FRESCA de MAMP
  • SO: OS X Yosemite versión 10.10.5
  • Versión MAMP: 3.5

Simplemente no veo qué está mal ... ¿alguna idea?

ACTUALIZAR

localhost funciona como debería con el puerto 80. 8080 = la página de apache predeterminada, pero 80 carga las páginas del sitio ...

    
pregunta TT12043205 08.03.2016 - 13:17

3 respuestas

2

Según su comentario, cuando vaya a site.local: 8080 obtendrá una página en blanco con las palabras "¡Funciona!" similar a la captura de pantalla a continuación

Loqueestáviendoeslapáginawebbasadaenconfiguraciónglobaldelservidor,dondeDocumentRooteselvalorpredeterminadoparaelqueestáconfiguradoelMAMP.

MencionasentuOPque

  

Sivoyasite.local:8080secargaperonomuestraloselementoscomodebería(ensulugar,cargaloselementosdelhtmlenunformatodelista)

ApachenovaamostrarsupáginawebcomounalistaHTML(amenosqueustedloindique).Lomásprobableesqueloqueestáviendoesunalistadedirectoriossimilaraesta:

ObtienesesalistadebidoalalíneaOptionsIndexesFollowSymLinksentuarchivohttpd.conf.Sideseadeshabilitaresto,eliminelapalabraÍndicesdeesalíneaylalistayanoaparecerá.

Suconfiguracióndehostvirtual

Primero,debemosentendercómoApachemanejalassolicitudesdehostvirtual.Dela documentación de Apache :

  

Cuando llega una solicitud, el servidor encontrará el mejor (el más específico)   argumento coincidente basado en la dirección IP y el puerto utilizado   por la solicitud. Si hay más de un host virtual que contiene esto   La mejor combinación de dirección y puerto, Apache comparará aún más   Las directivas ServerName y ServerAlias al nombre de servidor presente   en la solicitud.

     

Si omite la directiva ServerName de cualquier host virtual basado en nombre,   El servidor usará por defecto un nombre de dominio completo (FQDN)   derivado del nombre de host del sistema. Este nombre de servidor establecido implícitamente puede   conduce a una coincidencia de host virtual contraintuitiva y no se recomienda.

Si observa, su host que está definido en la configuración global del servidor es el mismo que el host virtual.

Probablemente aquí es donde está recibiendo su error.

Ahora, mi solución para esto es un poco más complicada inicialmente, pero infinitamente más eficiente porque trato de evitar que mi máquina se convierta en un cliente y en un servidor. Realizo todo mi desarrollo en una Mac con una máquina virtual que ejecuta mi servidor AMP. De esta manera puedo reflejar mi entorno de producción mucho más cerca y no tengo servicios innecesarios (como Apache y MySQL) ejecutándose en OS X; Todos ellos están relegados a la máquina virtual. La VM tiene su propia IP, su propio nombre de servidor, todo, así que cuando apunto mi navegador, sé qué resultados esperar.

Tengo un informe sobre cómo instalar una máquina virtual FreeBSD en VirtualBox que se ejecuta en una Mac que tiene habilitado el inicio automático. Si estás interesado, puedo compartirlo contigo.

    
respondido por el Allan 08.03.2016 - 18:02
0

Preface:

  1. La ejecución de apachectl configtest no comprueba la consistencia de /Aplicaciones/MAMP/conf/apache/httpd.conf pero el archivo de configuración de Apache de OS X predeterminado / private / etc / apache2 / httpd.conf .

    En su lugar, debe usar /Applications/MAMP/Library/bin/apachectl configtest para verificar /Aplicaciones/MAMP/conf/apache/httpd.conf .

  2. Se desaconseja el uso de un nombre de dominio completo en la forma hostname.local . Estos fqdns están reservados para DNS de multidifusión (mDNS). Puede utilizar .home, .development o .test.

Setup:

Configuración de MAMP / Apache / hosts:

/ etc / hosts :

...
127.0.0.1       site.development
127.0.0.1       www.site.development
::1             site.development
::1             www.site.development

Puerto Apache en MAMP: 8080 (WebStart desactivado!)

Contenido del archivo enlace

NameVirtualHost *:8080
...
<VirtualHost *:8080>
    ServerAdmin [email protected]
    ServerName site.development
    ServerAlias www.site.development
    DocumentRoot "/Users/me/site"
    ErrorLog "/Applications/MAMP/logs/site.development-error_log"
    CustomLog "/Applications/MAMP/logs/site.development-access_log" common
    <Directory "/Users/me/site">
        Options Indexes FollowSymLinks
        AllowOverride All
    </Directory>
</VirtualHost>

Puedes revisar tu archivo de hosts virtuales con /Applications/MAMP/Library/bin/apachectl -S .

Si configuró su servidor MAMP correctamente y copió los archivos MAMP predeterminados index.php y MAMP-PRO-Logo.png en la carpeta / Usuarios / yo / sitio verá la siguiente página "predeterminada":

Alingresar enlace en el navegador se mostrará la misma página.

Si no ejecuta otra instancia de Apache (especialmente el OS X Apache predeterminado) no podrá conectarse a localhost: 80 o site.development: 80 .

Si ejecuta otra instancia de Apache (por ejemplo, iniciada por launchd o invocada por sudo apachectl start , puede conectarse a ella ingresando localhost: 80 , site.development: 80 o enlace . Verá la página predeterminada de Apache:

SiOSXServertambiénestáinstalado,accederáalapágina"Bienvenido a OS X Server" después de ingresar localhost: 80 incluso si < em> Sitios web está deshabilitado en Server.app:

    
respondido por el klanomath 10.03.2016 - 03:39
0

index.html , info.php , index.py etc. residen bajo /var/www o /var/www/test o lo que defina en la configuración. Mire dentro del servidor VM si UBUNTU o SUSE o cualquier VMWare o VirtualBox y no puede encontrar /var/www . OS X no juega con comunidades abiertas. No hay forma de hacer que los servidores VM controlen los navegadores que se ejecutan en una máquina Apple.

    
respondido por el James Chau 06.06.2018 - 18:59

Lea otras preguntas en las etiquetas