Introducción Apache en Webmin

Webmin es un panel de control que nos permite administrar cualquier servidor Linux a través de una interfaz amigable basada en el navegador.

Por defecto Webmin instala el Servidor Web Apache2 que es el encargado de servir las diferentes páginas webs.

Antes de comprender el error que tratamos en esta entrada es importante comprender como está estructurado Apache y cuales son sus principales ficheros de configuración.

Se puede acceder al Módulo del Servidor Web Apache desde el menú principal de Webmin, dentro de la categoría de Servidores y a continuación en la sección Editar Archivos de Configuración.

Módulo Servidor Web Apache

Los principales directorios y ficheros de configuración son:

  • /etc/apache2: es el directorio por defecto de Apache y dentro de él están todos los archivos de configuración.
  • /etc/apache2/apache2.conf: es el fichero principal de configuración de apache, desde aquí se puede modificar la configuración global.
  • /etc/apache2/ports.conf: es el archivo de configuración que se encarga de especificar los puertos por los que debe de escuchar Apache, normalmente son el puerto 80 y el 443 en caso de tener activo el SSL.
  • /etc/apache2/sites-available/: directorio donde se guardan los hots virtuales por cada sitio, aquí sólo hay vinculaciones a sites-enabled.
  • /etc/apache2/sites-enabled/: en este directorio se encuentran todos los hots virtuales del servidor web.
  • /etc/apache2/conf-available/: se guardan archivos de configuración que no pertenecen a ningún host virtual, en este caso sólo las vinculaciones a conf-enabled
  • /etc/apache2/conf-enabled/: donde se encuentran todos los archivos de todas las configuraciones que no pertenecen a ningún host virtual.
  • /etc/apache2/mods-available/: se encuentra todas los módulos que se pueden usar en Apache.
  • /etc/apache2/mods-enabled/: se encuentran sólo los módulos activados en Apache.
  • *.load: son archivos específicos para poder realizar la carga de algunos módulos.
  • *.conf: son archivos específicos de la configuración de algunos módulos.
Archivo de configuración de Apache

Cada vez que se crea un Servidor Virtual en Webmin es necesario añadir una archivo de vinculación dentro del directorio /etc/apache2/sites-available.

También es necesario añadir el archivo de configuración del Servidor Virtual en el directorio /etc/apache2/sites-enabled/.

Análisis del error

En este post tratamos el error que impide a Webmin crear un VirtualHost dentro de Apache correspondiente al Servidor Virtual que se está creando.

A continuación se indica en la imagen donde se origina el error al crear una nuevo Servidor, en los apartados de Webalizer y en la creación del sitio virtual SSL.

Salida log al crear un nuevo servidor virtual

Tras estos fallos se puede observar que no se ha podido asignar correctamente un modo de ejecución de PHP.

Módulo Opciones de Website

Y también resulta imposible editar las directivas de la web, ya que realmente no se ha creado ningún VirtualHost.

Módulo Editar Directivas

En busca del problema

Para localizar el error probamos a crear una nuevo VirtualHost desde el propio Módulo de Apache de Webmin para observer el resultado que se obtiene.

Proceso de creación de un nuevo Servidor Virtual en Apache

El resultado obtenido puede ser:

Salida tras intentar crear un VirtualHost con el Módulo de Apache de Webmin

Posible solución al error

Tras analizar todas las pruebas y resultado se puede determinar que por alguna razón el Módulo de Apache se ha desconfigurado.

Hay que ir al Módulo de Apache y pulsar sobre el símbolo de engranaje que se encuentra en la parte superior de la pantalla para ir a la configuración.

En el archivo de configuración detectamos que la ruta del directorio donde se añaden los servidores virtuales es incorrecta.

Está apuntando al directorio sites-available cuando en realidad tiene que estar apuntando a sites-enabled.

Se guarda la configuración y se reinicia el servidor Apache para aplicar los cambios.

sudo service apache2 restart

Tras estos pasos ya vuelve a funcionar correctamente la creación de servidores virtual y virtualhost en Apache usando Webmin.

Para ver más detalles del error puedes visitar el Ticket relacionado creado en Webmin: Webmin / Bugs / #5455 Impossible to create a VirtualHost in Apache2 (sourceforge.net)

¿Has tenido un error parecido?, cuéntanos de qué forma lo has resuelto.