Si acabas de instalar Moodle en tu hosting cPanel, es posible que todo parezca funcionar de maravilla a primera vista. Sin embargo, al cabo de unas horas notarás los síntomas: los alumnos no reciben los correos de bienvenida, los recordatorios de tareas nunca se envían, las copias de seguridad automáticas no se generan y los informes de progreso se quedan congelados.
No es un fallo de tu instalación. Lo que ocurre es que a tu plataforma le falta configurar su motor interno: el Cron de Moodle.
Moodle delega decenas de funciones críticas en un archivo en segundo plano llamado cron.php. Para que tu aula virtual funcione como un reloj, Moodle exige formalmente que este script se ejecute exactamente cada minuto. En este artículo te enseñaremos cómo configurarlo de forma correcta y segura desde tu cPanel.
La regla de oro: Usa la vía CLI (Línea de comandos).
Existen dos formas de ejecutar el cron de Moodle: llamándolo desde una URL web (ej. con wget o curl) o ejecutándolo directamente con el procesador PHP del servidor (vía CLI).
Por qué NUNCA debes usar el método URL:
Si tu Moodle tiene muchos estudiantes, las tareas acumuladas pueden tardar varios minutos en procesarse. Si usas una URL, el servidor web cortará la ejecución por límite de tiempo (Timeout), dejando las tareas a medias. El método CLI, en cambio, corre del lado del servidor sin restricciones de tiempo web y consume muchísima menos memoria.
Guía paso a paso para configurar el cron en cPanel
Para activar la tarea programada, necesitaremos construir una línea de comando adaptada a tu cuenta de hosting. Sigue esta secuencia:
Desglosando el comando: ¿Qué significa cada parte?
Es importante entender qué le estás ordenando al servidor para evitar errores de sintaxis:
-
/usr/local/bin/php: Es la ruta nativa en cPanel donde reside el binario de PHP. Le dice al servidor: "Usa el procesador del sistema para ejecutar lo siguiente". -
/home/usuario/.../cron.php: Es la ruta absoluta hacia el script de Moodle. -
>/dev/null 2>&1: Esta parte es vital en hosting compartido. Le indica al servidor que realice la tarea en silencio y destruya los reportes diarios de ejecución. Si omites esta parte, tu correo electrónico de cPanel recibirá miles de correos automáticos cada día, llenando tu espacio de disco por completo en pocas semanas.
¿Cómo verificar si el cron está funcionando correctamente?
Moodle te avisará directamente en su panel de control si la tarea programada está teniendo éxito:
-
Inicia sesión en tu Moodle como Administrador.
-
Ve a Administración del sitio > Notificaciones.
-
Si el cron está mal configurado, verás una advertencia roja muy llamativa que dice: "El script admin/cli/cron.php no se ha ejecutado durante las últimas 24 horas".
-
Si todo está correcto, el mensaje desaparecerá o mostrará en verde la última fecha y segundo exacto en que se ejecutó con éxito (hace menos de un minuto).
Errores habituales en hosting compartido
-
Tu versión de PHP CLI no coincide: Si tu Moodle requiere PHP 8.1, pero el comando
/usr/local/bin/phpejecuta por defecto PHP 7.4 en el servidor, el cron fallará. Puedes forzar la versión exacta cambiando el inicio del comando por la ruta de la versión requerida en cPanel, por ejemplo:/usr/local/bin/ea-php81. -
La función
execo la terminal están bloqueadas: Por razones de seguridad extrema, algunos proveedores bloquean la ejecución CLI para cuentas compartidas.
¿El mensaje de error en tu Moodle no desaparece?
La configuración de rutas absolutas de PHP y permisos en tareas cron puede ser confusa si es tu primera vez administrando una plataforma de e-learning. Si tras colocar el comando sigues recibiendo alertas de error o notas que tus alumnos no reciben correos, abre un ticket con nuestro soporte técnico de Servicios Hosting. Nuestro equipo configurará la tarea a nivel de sistema con la versión exacta de PHP de tu aula virtual en menos de 5 minutos de forma totalmente gratuita.