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 cree una nueva configuración de host virtual para cada uno de sus sitios web y reinicie 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, es realmente difícil revisar todos estos archivos de configuración de 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 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 sus configuraciones actuales del servidor web Apache, en lo que respecta a los hosts virtuales.

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 buscar en 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

A partir del 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 es muy útil cuando está solucionando problemas o arreglando cualquier error de configuración de host virtual de Apache o simplemente desea ver una lista de todos los resúmenes de host virtual habilitados en un servidor web.

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

  1. 3 formas de verificar 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 "DocumentRoot" predeterminado de Apache 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.