Quantcast
Channel: Instalación y Actualización
Viewing all articles
Browse latest Browse all 2633

Solución al problema de la instalación de moodle 4.4 en IONOS con servidor compartido

$
0
0
por Fidel Romero.  

Comparto aquí este tema que me ha tenido bastante entretenido. Al final he encontrado solución probando y juntando varias propuestas que hay en los foros. La comparto pues imagino que podrá ser de utilidad. Aclaro desde el principio que tengo algo de idea de programación pero básica por lo que la explicación es un poco "de andar por casa".

Al tratar de instalar moodle en un servidor de IONOS aparece un problema. Lo que se evidencia es que:

  • Si se activan los slash arguments (es una casilla accesible desde moodle-->Administración del sitio---> Servidor--> HTTPse pierde todo el CSS (pero sí que localiza los archivos h5p por ejemplo aunque sin el CSS no hay nada que ver)
  • Si se desactivan los slash arguments se recupera el CSS (pero no localiza los archivos h5p, ni tampoco la ruta de las imágenes, ni funcionarán los paquetes SCORM)

La solución para que con los slash arguments desactivados sí que se vean las imágenes (aunque siga sin localizar los archivos h5p) está en este enlace: https://diocesanos.es/blogs/equipotic/2021/01/02/actualizado-moodle-a-v3-10-en-servidor-de-1and1-ionos/

Apoyado en esto y lo que comentan en este otro foro (https://moodle.org/mod/forum/discuss.php?d=405333) he logrado activar los slash arguments SIN perder el CSS

Por lo que parece el problema está  con el servidor de IONOS que utiliza la función ORIG_PATH_INFO en lugar de la PATH_INFO que es la que usa Moodle (no ocurre con otros servidores, IONOS la única solución que propone es no usar un servidor compartido sino VPS)

La solución, sin necesidad de cambiar el contrato con IONOS es localizar todos los archivos de moodle que utilizan esa función de PATH_INFO e incorporar el código necesario para que utilice la de ORIG_PATH_INFO (por lo visto no basta con sustituir simplemente una por la otra... tampoco sé muy bien por qué)

Los archivos que parece que contienen esta función son:

mod\lti\services.php
mod\lti\classes\local\ltiservice\resource_base.php
lib\configonlylib.php
lib\setuplib.php
lib\weblib.php
lib\horde\framework\Horde\Util.php  (no encontrada en Moodle 4.4.2)
lib\tests\configonlylib_test.php  (aparece pero no veo claro que haya que cambiarlo aquí)
lib\typo3\class.t3lib_div.php   (no encontrada en Moodle 4.4.2)

(es posible que en moodle 4.4..2 haya alguno más esta lista aparece en el listado del enlace anterior)

En todos ellos he sustituido la expresión $_SERVER['PATH_INFO'] por una variable que llamo  $pathinfo y, al inicio de la función asigna el valor a la variable del siguiente modo.

  $pathinfo = '';

    if (isset($_SERVER['PATH_INFO'])) {
        $pathinfo = $_SERVER['PATH_INFO'];
    } else if (isset($_SERVER['ORIG_PATH_INFO'])) {
        $pathinfo = $_SERVER['ORIG_PATH_INFO'];
    }

(en el primer enlace que he puesto aparece cómo era el código original y cómo ha de quedar después del cambio)

Haciendo esto mismo no solo en weblib sino en los otros archivos he conseguido que al activar los slash-arguments no se pierda el código CSS y funcionen sin problemas las imágenens, los archivos h5p y los paquetes SCORM

Espero que sea de utilidad... todo el resto de soluciones que he encontrado sobre este tema (modificar el archivo php.ini, sacar copias de ese archivo en todos los directorios, o cambiar .htaccess o consultar al servicio técnico de IONOS no ha dado resultado)


Viewing all articles
Browse latest Browse all 2633


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>