Webmin es un panel de control que nos permite administrar cualquier servidor Linux a través de una interfaz amigable basada en el navegador.
Este panel de control permite configurar los modos de ejecución en los que se pueda ejecutar PHP así como las versiones que se quiere ejecutar para cada dominio.
Los modos de ejecución disponibles pueden ser:
- CGI: permite ejecutar el script PHP como dueño del servidor virtual
- FCGId: permite ejecutar el script PHP como dueño del servidor virtual
- FPM: permite ejecutar el script PHP como propietario del servidor virtual
Además Webmin permite cambiar la versión de PHP que se quiere utilizar para cada uno de los dominios.
En algunos casos se puede producir que por ejemplo, tras una actualización Apache o de las distintas versiones de PHP se produzca una incompatibilidad con la propia forma de trabajar de Webmin.
Esto puede producir que Webmin no sea capaz de establecer el modo de ejecución de PHP seleccionado o la versión del PHP que se quiere utilizar en el dominio.
Verificar puerto de escucha en Apache y PHP
Para tratar de saber donde puede estar el error, lo principal es asegurarse que el puerto de conexión para ejecutar el PHP es correcto tanto en la configuración de Apache como en la configuración del PHP del dominio.
Para ello en Virtualmin ve a Servicios -> Configurar website, en caso de tener el SSL activado, también deberás de ir a Configurar website para SSL.
Y luego nos dirigimos en cada una de las opciones a Editar Directivas para acceder al archivo de configuración de Apache del Dominio.
Ahora deberemos fijarnos en el apartado FilesMatch para comprobar a qué puerto está dirigido el SetHandler, en este caso esta en el puerto 8026.
Luego procedemos a comprobar que en la configuración PHP también se hace referencia al mismo puerto.
Para ello ve a Virtualmin, Servicios y pulsa sobre Configuración PHP-FPM para acceder a la configuración de archivo PHP del dominio.
Ahora sólo falta pulsar en Editar Configuración Manualmente para poder ver el archivo de configuración:
Y nos fijamos que el puerto de escucha sea igual al que está configurado en Apache, en este caso es correcto, vuelve a ser el puerto 8026.
En caso de que no fuera el mismo puerto simplemente sería poner el mismo, según tu caso el correcto será el de Apache o el del fichero de configuración de PHP.
De todas formas siempre puedes probar a cambiar el modo de ejecución del PHP en Virtualmin, Configuración del Servidor y Opciones del Website para comprobar si se soluciona el problema.
Eliminar los enlaces simbólicos de PHP de la configuración global de Apache
En el caso de que esta configuración sea correcta se debe de comprobar la configuración de global de PHP en Apache.
Para ello debes de dirigirte a Webmin -> Servidores -> Servidor Web Apache -> Configuración Global -> Editar Archivos de Configuración.
Aquí se debe de comprobar los archivos globales de PHP de cada unas de las versiones que se tenga activadas en el sistema.
En cada uno de los archivos de configuración eliminamos los enlaces simbólicos que hacen referencia a la conexión de PHP.
Ya tan solo quedaría reiniciar Apache y comprobar que todo funciona de nuevo como debería.
sudo service apache2 restart
En este Hilo se trata el error que justamente se ha descrito: https://sourceforge.net/p/webadmin/bugs/5453/
¿Has logrado solucionar el problema? si conoces una mejor forma de hacerlo ¡no dudes en comentarlo!