es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

El segundo sitio virtual de Apache no se está cargando.

Tengo Apache instalado en un servidor Ubuntu 20.04 y estaba funcionando bien. Y luego comencé a experimentar con hosts virtuales porque quería agregar un subdominio.

Mi objetivo es tener dos proyectos separados accesibles en dos URLs separadas:

  • Proyecto principal – example.com
  • Subproyecto – subdominio.example.com

En mi servidor de archivos tengo la siguiente estructura de archivos:

- /var/www/html
  - index.php
- /var/www/subdomain.example.com
  - index.php

En /etc/apache2/sites-available/example.conf tengo lo siguiente:

<virtualhost *:80="">
    ServerAdmin email@example.com
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</virtualhost>

<virtualhost *:80="">
    ServerAdmin email@example.com
    ServerName subdomain.example.com
    ServerAlias www.subdomain.example.com
    DocumentRoot /var/www/subdomain.example.com
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</virtualhost>

Después de guardar el archivo, ejecuté los siguientes comandos:

# Habilitar la nueva configuración de Apache
sudo a2ensite example.conf

# Deshabilitar la configuración Apache predeterminada
sudo a2dissite 000-default.conf

# Activar la nueva configuración de Apache
sudo systemctl reload apache2

# Reiniciar el servidor Apache
sudo systemctl restart apache2

Una vez que se haya completado todo eso, visito http://example.com` y funciona bien. Pero cuando visitohttp://subdomain.example.com`, obtengo el siguiente error en Chrome:

No se puede encontrar la dirección IP del servidor de subdominio.example.com.

Edité /etc/hosts y tengo lo siguiente:

127.0.0.1 localhost
127.0.0.1 example.com
127.0.0.1 subdomain.example.com

No estoy seguro si necesito hacer algo después de modificar /etc/hosts, pero no hay cambios incluso después de guardar el nuevo archivo de hosts.

¿Cómo puedo solucionar mis hosts virtuales para lograr el objetivo que mencioné al principio de esta pregunta?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Hay algunas cosas que puedes verificar para solucionar este problema:

    1. Asegúrate de que los registros DNS para subdomain.example.com estén correctamente configurados para apuntar a la dirección IP de tu servidor. Puedes verificar esto utilizando una herramienta como nslookup o dig.
    2. Verifica que Apache esté escuchando en la dirección IP y puerto correctos (* y 80 en este caso) ejecutando el comando sudo netstat -tlnp | grep apache. La salida debería mostrar que Apache está escuchando en 0.0.0.0:80.

    3. Verifica que el archivo de configuración de Apache para subdomain.example.com esté habilitado ejecutando el comando sudo a2query -s subdomain.example.com. La salida debería mostrar que el sitio está habilitado.

    4. Revisa el registro de errores de Apache (sudo tail -f /var/log/apache2/error.log) en busca de mensajes de error relacionados con el host virtual subdomain.example.com. Esto puede darte pistas sobre lo que está causando el problema.

    5. Por último, si todo lo demás está correcto, podrías intentar agregar una entrada para subdomain.example.com al archivo /etc/hosts en tu máquina local (no en el servidor). Esto puede ayudar a evitar cualquier problema de resolución DNS que esté causando el problema.

    Una vez que hayas solucionado cualquier problema que encuentres, ejecuta sudo systemctl reload apache2 para recargar la configuración de Apache y asegurarte de que los cambios surtan efecto. Con todo configurado correctamente, deberías poder acceder a http://example.com` yhttp://subdomain.example.com` desde tu navegador web.

Comments are closed.