Búsqueda de sitios web

Cómo enumerar todos los hosts virtuales en el servidor web Apache


La configuración del host virtual Apache le permite ejecutar varios sitios web en el mismo servidor, lo que significa que puede ejecutar más de un sitio web en el mismo servidor web Apache. Simplemente crea una nueva configuración de host virtual para cada uno de sus sitios web y reinicia la configuración de Apache para comenzar a servir el sitio web.

En Debian/Ubuntu, la versión reciente de los archivos de configuración de Apache para todos los hosts virtuales se almacena en el directorio /etc/apache2/sites-available/. Por lo tanto, resulta realmente difícil revisar todos estos archivos de configuración del host virtual para corregir cualquier error de configuración.

Para facilitar las cosas, en este artículo le mostraremos cómo enumerar todos los hosts virtuales de Apache habilitados en un servidor web usando un solo comando en la terminal. Este método también le ayudará a ver algunas otras configuraciones útiles de Apache.

Esto es prácticamente útil en un escenario en el que está ayudando a una empresa a solucionar los problemas de su servidor web de forma remota, pero no conoce las configuraciones actuales del servidor web Apache, con respecto a los hosts virtuales.

Lea también: Cómo comprobar qué módulos de Apache están habilitados/cargados en Linux

Ayudará a facilitar la búsqueda del host virtual de un sitio web específico en los archivos de configuración de Apache y ayudará a solucionar cualquier problema de Apache, donde, en la mayoría de los casos, comenzará con la verificación de los hosts virtuales actualmente habilitados antes de mirar los registros.

Para enumerar todos los hosts virtuales habilitados en el servidor web, ejecute el siguiente comando en una terminal.

apache2ctl -S   [On Debian/Ubuntu]
apachectl -S    [On CentOS/RHEL]
OR
httpd -S

Obtendrá una lista de todos los hosts virtuales configurados, así como otras configuraciones importantes del servidor Apache/httpd.

VirtualHost configuration:
*:80                   is a NameVirtualHost
         default server api.example.com (/etc/httpd/conf.d/api.example.com.conf:1)
         port 80 namevhost api.example.com (/etc/httpd/conf.d/api.example.com.conf:1)
                 alias www.api.example.com
         port 80 namevhost corp.example.com (/etc/httpd/conf.d/corp.example.com.conf:1)
                 alias www.corp.example.com
         port 80 namevhost admin.example.com (/etc/httpd/conf.d/admin.example.com.conf:1)
                 alias www.admin.example.com
         port 80 namevhost tecmint.lan (/etc/httpd/conf.d/tecmint.lan.conf:1)
                 alias www.tecmint.lan
ServerRoot: "/etc/httpd"
Main DocumentRoot: "/var/www/html"
Main ErrorLog: "/etc/httpd/logs/error_log"
Mutex default: dir="/run/httpd/" mechanism=default 
Mutex mpm-accept: using_defaults
Mutex authdigest-opaque: using_defaults
Mutex proxy-balancer-shm: using_defaults
Mutex rewrite-map: using_defaults
Mutex authdigest-client: using_defaults
Mutex ssl-stapling: using_defaults
Mutex proxy: using_defaults
Mutex authn-socache: using_defaults
Mutex ssl-cache: using_defaults
PidFile: "/run/httpd/httpd.pid"
Define: _RH_HAS_HTTPPROTOCOLOPTIONS
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="apache" id=48 not_used
Group: name="apache" id=48 not_used

En el resultado anterior, podemos ver claramente qué puertos y direcciones IP están configurados para cada sitio web. También veremos el archivo de configuración del host virtual de cada sitio web y su ubicación.

Esto resulta muy útil cuando está solucionando problemas o corrigiendo cualquier error de configuración del host virtual Apache o simplemente desea ver una lista de todos los hosts virtuales habilitados en un servidor web.

¡Eso es todo! También puede encontrar los siguientes artículos relacionados sobre el servidor web Apache.

  1. Tres formas de comprobar el estado y el tiempo de actividad del servidor Apache en Linux
  2. 13 consejos de seguridad y refuerzo del servidor web Apache
  3. Cómo cambiar el directorio predeterminado de Apache 'DocumentRoot' en Linux
  4. Cómo ocultar el número de versión de Apache y otra información confidencial

Si tiene alguna pregunta relacionada con el servidor HTTP Apache, utilice el formulario de comentarios a continuación para comunicarse con nosotros.