VHOST no funciona en Apache

VHOST no funciona en Apache

Tengo un servidor LAMP funcionando en Ubuntu 11.04. Ahora el problema es que las webs hay que habilitarlas y deshabilitarlas desde el terminal. Se debe acceder a todos ellos desde http://localhostlo cual no es tan eficiente. Entonces creé un VHOSTS, usando algunos tutoriales de la red. Aquí está el código para ello.

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    Servername site.com
    ServerAlias www.site.com
    DocumentRoot /home/starx/public_html/site/public
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /home/starx/public_html/site/public>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>
nGen
    ErrorLog ${APACHE_LOG_DIR}/site-error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/site-access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>

Ahora, todavía no puedo acceder a la página, http://site.compero si accedo usando, http://localhsot/se accede.

He deshabilitado todos los demás sitios, incluido el predeterminado, y solo habilité un sitio, es decirsite

¿Cómo arreglar esto?

Respuesta1

Solo estaba tratando de hacer que esto funcionara y después de mirar un poco a mi alrededor descubrí lo que me estaba yendo mal.

Estoy ejecutando xampp (lampp) 1.80 para Ubuntu 12.04.

abierto/opt/lampp/etc/httpd.conf

Ver Línea 488

# Virtual hosts  
# Include etc/extra/httpd-vhosts.conf

elimine el "#" del archivo include.
Una nueva instalación no carga el httpd-vhosts.confpaquete listo para usar.

Respuesta2

Según /usr/share/doc/apache2/README.Debian.gz, si desea crear definiciones para sitios adicionales, deberá colocar fragmentos de configuración de sitios individuales /etc/apache2/sites-available/(consulte /etc/apache2/sites-available/defaultun ejemplo). Luego puede habilitar y deshabilitar sitios en un host determinado con los comandos a2ensite(8) y a2dissite(8). Tenga en cuenta que es posible que esto no funcione exactamente como se describe si las configuraciones distribuidas se han cambiado significativamente.

Si un sitio está habilitado de esta manera y sigue sin funcionar, querrá asegurarse de que el servidor web pueda resolver el nombre del nuevo sitio de manera que coincida con una dirección IP que el servidor web cree que tiene asignada. : la forma más sencilla probablemente sea consultar desde el servidor. También desea verificar que el cliente resuelva el nombre de una manera que haga que llegue al servidor en cuestión (aunque no es necesario que la IP resuelta coincida con la que usa el servidor). Para sitios inseguros, esto es más fácil y, una vez que se completa la conexión (no aparece ningún mensaje), ingresa las siguientes tres líneas (tenga en cuenta que la tercera está en blanco, pero debe presionar Intro por tercera vez):w3m https://my.new.secure.sitetelnet my.new.site 80

OBTENER / HTTP/1.1
Anfitrión: mi.nuevo.sitio

Si funcionan, cualquier otra cosa es un problema del navegador. Si el primero tiene éxito y el segundo falla, probablemente haya algo extraño en la capa de red (NAT, proxies, etc.): exactamente cómo solucionar esto depende demasiado de la topología de la red y los dispositivos presentes: haga otra pregunta con detalles si esto se aplica a usted.

Si la primera prueba falla, vuelva a verificar el servicio de nombres disponible en el servidor y las direcciones IP asignadas al servidor (ifconfig -a). También verifique los registros de acceso a su sitio para verificar que ve una conexión aproximadamente en el momento adecuado. Por último, asegúrese de que su host virtual esté escuchando por nombre, en lugar de por IP, y no filtre los resultados por/según IP en su directiva VirtualHost.

Respuesta3

No estoy seguro de que esto sea lo que quieres.

Reemplace sus códigos con estos simples códigos cortos.

<VirtualHost *:80>
   ServerAdmin admin@localhost
   DocumentRoot YourDocumentRoot
   ServerName site.com
   ServerAlias www.site.com
   ErrorLog localhost
   CustomLog localhost-access_log common
</VirtualHost>

Puedes leer más sobre vhostaquí

Respuesta4

¿Ha agregado site.com y www.site.com a su archivo /etc/hosts para asegurarse de que el enrutamiento DNS sea correcto? Puedes intentar nslookup site.comprobar el DNS.

Si quiere asegurarse de que eso http://localhostno funcione, elimine los archivos /etc/apache2/default, default-ssl y use un único host virtual.

información relacionada