La configuración del servidor web Apache permite ejecutar múltiples sitios web en el mismo servidor. Eso significa que se puede ejecutar más de un sitio web en el mismo servidor web. Para ello, simplemente hay que crear una nueva configuración de VirtualHost para cada uno de los sitios web y reiniciar la configuración de Apache para que empiecen a funcionar esos sitios web.

En Debian y todas sus derivadas, estos ficheros de configuración para los VirtualHost se guardan en /etc/apache2/sites-available. Si tenemos un servidor web con muchas webs, buscar entre esos ficheros puede ser un poco complejo.

Para facilitar las cosas, en este artículo explicaremos cómo listar todos los VirtualHosts de Apache habilitados en el servidor web utilizando un único comando.

Esto puede ser útil en un escenario en el que estemos ayudando a una empresa a arreglar sus problemas con el servidor web de forma remota, pero no conocemos sus configuraciones actuales en el servidor web Apache, el lo que respecta a los VirtualHosts.

Para listar todos los VirtualHosts en el servidor web hay que ejecutar lo siguiente:

apache2ctl -S # Debian y derivadas
httpd -S      # CentOS / RHEL

La salida de este comando debería de ser algo parecido a esto:

VirtualHost configuration:
*:443                  is a NameVirtualHost
         port 443 namevhost planetlibre.es (/etc/apache2/sites-enabled/planetlibre-le-ssl.conf:2)
                 alias www.planetlibre.es
         port 443 namevhost portallinux.es (/etc/apache2/sites-enabled/portallinux-le-ssl.conf:2)
                 alias www.portallinux.es
         port 443 namevhost voidnull.es (/etc/apache2/sites-enabled/voidnull-le-ssl.conf:2)
                 alias www.voidnull.es
*:80                   is a NameVirtualHost
         port 80 namevhost planetlibre.es (/etc/apache2/sites-enabled/planetlibre.conf:1)
                 alias www.planetlibre.es
         port 80 namevhost portallinux.es (/etc/apache2/sites-enabled/portallinux.conf:1)
                 alias www.portallinux.es
         port 80 namevhost voidnull.es (/etc/apache2/sites-enabled/voidnull.conf:1)
                 alias www.voidnull.es
ServerRoot: "/etc/apache2"
Main DocumentRoot: "/var/www/html"
Main ErrorLog: "/var/log/apache2/error.log"
Mutex mpm-accept: using_defaults
Mutex watchdog-callback: using_defaults
Mutex rewrite-map: using_defaults
Mutex ssl-stapling-refresh: using_defaults
Mutex ssl-stapling: using_defaults
Mutex ssl-cache: using_defaults
Mutex default: dir="/var/run/apache2/" mechanism=default
PidFile: "/var/run/apache2/apache2.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="www-data" id=33
Group: name="www-data" id=33

Como podemos ver en la salida del comando, observamos claramente qué puertos están configuradas las diferentes webs, así como los dominios principales y sus alias.

También veremos el archivo de configuración del VirtualHost para cada sitio web y su ubicación.

¡Y esto es todo!

Haz que cada palabra cuente: tu donación nos inspira a seguir creando contenido. Accede al apartado de Donación para hacer tu aportación