Software

Moodle. Su sesión ha excedido el tiempo limite. Problemas sesión

«No se puede acceder como administrador, usuario a Moodle.»

Desesperado porque la información oficial, no contiene la solución, los foros de Moodle, pobres en soluciones reales, llenos de desinformación.

Bien trataremos de dar luz de manera extendida al problema, y unas explicaciones respecto de algunos tópicos muy difundidos que hacen que muchos gurus o expertos en cuestiones de alojamiento de páginas web o hosting especializados en Moodle, rellenen google de información incorrecta e inútil.

La solución que proponemos al final, esta basada en un supuesto. Los supuestos, pueden ser multiples, y lo primero que debe analizar el usuario es su problema, tomando en consideración, los factores que pueden afectar al problema.

Moodle. Your session has timed out. please login again.

Tópico 1. Antigüedad de los post (con supuestas soluciones) y falta de análisis sobre las versiones

Muchas de las respuestas que se encuentran en la red, están trasnochadas y algunos participantes dan su experta opinión, sin valorar los datos necesarios para un mínimo analisis. Es muy importante siempre, indicar de que versiones hablamos, cuando aseguramos algo.

Tópico 2. Permisos de directorio. Falta de análisis sobre características técnicas individuales

El 95% de los usuarios expertos, dan por sentado que las caracteristicas de su hosting y por ende sus respuestas son validas para el 100% de los usuarios de un hosting compartido con Moodle.

“Hola, revisaste si la carpeta sessions dentro de moodle data tiene los permisos correctos?
si.. esta con permiso 777 …

En un servidor con SuPHP, algunos con FastCGI, Mod_Ruid2, esa respuesta no sólo no es valida, sino que realizar lo que nos indica podría llevar a un error 500 en el sitio web por dar permisos excesivos al directorio. Hay que tener en cuenta que los permisos 777 son para el caso de que PHP corra en algún modo en que los procesos de PHP son ejecutados por el usuario de Apache (generalmente, nobody, www-data, o similares) y que a día de hoy sólo usan algunos aventurados que no quieren invertir en equipos.

Soluciones al problema de acceso a Moodle en hosting compartido

Al buscar ayuda localizar la siguiente información:

  • Software y versiones
  • Apache/ IIE / Otros
  • Modo de ejecución PHP
  • Mod Security activo? Que versión ? Que reglas instaladas?
  • Versión Moodle

Solución al problema especifico de Moodle para las versiones 1.9 y 2.X “Su sesion ha excedido el tiempo limite”

La solución muchas veces esta en la propia documentación, esa gran desconocida y poco leida, aunque es cierto que en este caso, durante años no hubo FAQ de Moodle sobre este asunto, siendo un problema que tambien afectaba a las version de la rama 1.9

Pasos a seguir para analizar el problema de sesiones en Moodle

  • Comprobar primero que realmente se trata de una cuenta administrativa. Si se esta usando un sistema externo de autentificación como LDAP, se debe isolar el problema, para ver si realmente es Moodle el responsable.
  • Comprobar que su cuenta de alojamiento compartido especializado en Moodle, dispone de espacio en disco duro suficiente. (Cuota disco excedida)
  • Comprobar que los permisos y propietario de la carpeta moodledata son adecuados para que el servidor pueda escribir en ellos.
  • Compruebe que su ordenador y su firewall (o incluso algunos ruters de ISP) no estan interactuando con la información enviada por el navegador.
  • Intente, el eliminado de los ficheros de la carpeta sessiones en su directorio moodledata (si hay alguien conectado será desconectado)
  • Intente, eliminar las cookies de su ordenador e intente el acceso desde otro ordenador y/o navegador, incluso desde otra conexión de red.
  • En Administración ▶ Servidor ▶ Gestión de la sesión -> Prefijo de cookie, intente introducir algún valor como por ejemplo sudominioloquesea. Esto es especialmente valido, si usted usa distintas instalaciones de Moodle en el mismo navegador.
  • Compruebe que no ha removido o cambiado el valor de Password Salt en el fichero config.php. Si los passwords fueron creados con una semilla, esta debe figurar en el fichero config.php para que las contraseñas continuen funcionando. Si usted recrea el fichero config.php durante una actualización no olvide copiar los valores originales de la semilla (salt)
  • Verifique el fichero .htaccess (si lo tiene) en su carpeta de Moodle (en en los directorios superiores). No deben interferir con Moodle (redirecciones extrañas, restircciones de acceso, etc)
  • Compruebe el valor de mnet_localhost_id en la tabla mdl_config de su base de datos. Lo normal es que este a 1 pero si debe coincidir con el campo mnet_hostid de la tabla mdl_user para que el usuario sea reconocido. Esto puede no ser asi, bajo determinadas circustancias en migraciones (traslados de hosting o servidor) y en actualizaciones.
    Un error típico en las migraciones o restauraciones, es el uso de phpMyAdmin y el desconocimiento general de los parámetros de esta aplicación y de Mysql en general a la hora de realizar los backups o ficheros SQL de respaldo. Este desconocimiento puede producir ciertos pequeños cambios en nuestras bases de datos, que pueden dejar inservible nuestra futura instalación. Consulte con un profesional.
  • Compruebe que su fichero config.php no tiene ningún espacio o linea al final del código
  • Compruebe que su contraseña y usuario es correcto (esta no es una broma)

Comprobaciones adicionales relativas a PHP.ini

Verificar los valores adecuados de PHP.ini para moodle

register_globals = 0 ;(obligatorio)
safe_mode = 0 ;(obligatorio)
memory_limit = 128M ;(varios: minimo 16M, 32M Moodle v1.7, 40M Moodle v1.8, 128M para sitios largos)
session.save_handler = files ;(a menos que este usando otro controlador como mm)
magic_quotes_gpc = 0 ;(preferido pero no necesario 1.9. obligatorio a partir de la 2.0)
magic_quotes_runtime = 0 ;(obligatorio)
file_uploads = 1
session.auto_start = 0 ;(obligatorio)
session.bug_compat_warn = 0
post_max_size = 32M
upload_max_filesize = 32M
[intl]
intl.default_locale = en_utf8
intl.error_level = E_WARNING

Dependiendo del modo de funcionamiento deberemos ubicarlo en el php.ini personalizado (directorio moodle y en el directorio moodle/admin) o si el hosting ejecuta PHP como usuario del servidor Web, deberemos consultar si podemos modificar los valores con .htaccess o pedirle al soporte de nuestro hosting que modifique los valores en el php.ini del servidor.


Artículos externos relacionados:


Imagen original Descargada de Freepik‘ diseñada por Vectorarte y retocada por Abdelkarim Mateos

Comparte este artículo

Artículo Antiguo
Este artículo tiene más de 2 años. Es muy probable que su contenido este anticuado, aunque pueda ser de utilidad, es conveniente que revises otras informaciones al respecto. Si lo encuentras útil o crees que puede ser actualizado, deja tu comentario con la actualización para poder editarlo y que pueda ser útil a los demás.

Comparte este articulo en

Abkrim

Yo solo se que no se nada, y que me paso la vida aprendiendo

Ver comentarios

Entradas recientes

Youtube – Mod Security en DirectAdmin. Conocerlo y gestionarlo en el panel de control DirectAdmin.

¡Hola a todos! Vamos a sumergirnos en el fascinante mundo de Mod Security y aprender…

3 meses hace

Apertura del canal Youtube, Tecno Boomer, dedicado al mundo del hosting

Ya son muchos años en el sector, muchos años pasando por varios paneles de control,…

3 meses hace

El Uso de la Lista UCEPROTECT en los Niveles 2 y 3: Una Falacia de Causa Cuestionable

La lista UCEPROTECT es una herramienta utilizada por muchos administradores de sistemas y proveedores de…

4 meses hace

Fatal error: Allowed memory size of 268435456 bytes exhausted en WordPress. Otro post más… pero diferente

No es la primera vez que me encuentro con el agotamiento de la memoria en…

11 meses hace

Problemas de Acceso con Centos 7, Almalinux 8, Ubuntu 20.04, y Debian 10/11: Un Enigma Firewall CSF

Descubre cómo solucionar problemas de acceso a servidores con Centos 7, Almalinux 8, Ubuntu 20.04…

1 año hace

MySQL no inicia debido a errores en la base de datos interna de MySQL

Uno de los mensajes más alarmantes que puedes encontrarte es aquel que indica que tu…

1 año hace