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.
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.
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.
Tras estos fallos se puede observar que no se ha podido asignar correctamente un modo de ejecución de PHP.
Y también resulta imposible editar las directivas de la web, ya que realmente no se ha creado ningún VirtualHost.
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.
El resultado obtenido puede ser:
- El dominio indicado no es válido
- El VirtualHost se ha creado correctamente, pero indicando de que el directorio /etc/apache2/sites-enabled/ no se está usando actualmente por Apache.
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.