domingo, 25 de octubre de 2015

Subir archivos de más de 8MB en alojamiento Web.

 

SITUACIÓN DE PARTIDA:


 Nuestro Centro se acaba de dar de alta en un alojamiento (hosting) en  en el que vamos a alojar la página web y otros servicios como el Moodle.

Mi sorpresa es cuando al instalar el Moodle (versión 2.9) no me deja subir archivos de más de 8MB.







Si se hace arrastrando el archivo aparece el error:

  • Un parámetro necesario (course) faltaba



Y si se hace con la opción de 'Subir' archivo aparece el error:

  • uploaded file may exceed the post_max_size directive in php.ini


Envío la correspondiente consulta al servicio técnico y me contestan que efectivamente está limitado a esa cantidad (el apache utiliza un php.ini y no lo dejan modificar).

Increíble. Como voy a montar un Moodle y que mis alumnos no puedan subir archivos de más de 8MB.

¿ Por qué la informática es tan complicada ? Siempre que quieres hacer algo hay que hacer 4 cosas antes....

 

 BUSCANDO LA SOLUCIÓN:




Sin rendirme busco en Internet si hay alguna solución. Viendo la información del phpinfo, efectivamente veo, como bien comentan en otros foros que hay que modificar los parámetros (en el ejemplo está puesto 50MB):


  • upload_max_filesize = 50M;
  • post_max_size = 50M;
También aconsejan aumentar el tiempo de ejecución de los scripts, al final creo un php.ini con los siguientes datos:

upload_max_filesize = 50M;
post_max_size = 50M;
max_execution_time = 1000
max_input_time = 1000
mysql.default_socket = "/kunden/tmp/mysql5.sock"

Ahora la gran pregunta, ¿ donde poner el php.ini ?

Empiezas a buscar por Internet y ves diferentes soluciones. La primera es colocarlo en MOODLE/admin/php.ini siendo MOODLE la raíz del sitio web donde se encuentra el Moodle.

Se me saltan las lágrimas...En el phpinfo aparecen los datos correctos y en la configuración del Moodle ya me deja escoger 50MB de tamaño de subida.

Hago la prueba y ..... mi gozo en un pozo. El mismo error.


Seguimos buscando por Internet, y encuentro en este hilo  una información interesante, de que es necesario copiar el php.ini en diferentes carpetas, concretamente en estas:

\home\username\public_html\
\home\username\public_html\moodle\ {"moodle" is the Moodle install folder}
\home\username\moodledata {"moodledata" is the data folder}
\home\username\public_html\moodle\admin
\home\username\public_html\moodle\course
\home\username\public_html\moodle\files

Allá voy a copiar....pero nada de nada.

Sin creérmelo y ya pensando en cambiar de alojamiento (menos mal que dispones de 30 días de prueba) me decido a llamar al servicio técnico. Me informan (muy amables, la verdad) que la única forma es lo que estoy haciendo pero que tengo que encontrar la carpeta donde se encuentra el complemento o lo que sea que utilice el Moodle para subir los archivos....

A buscar en Internet que complemento es, como se llama y donde se aloja....Buscando y buscando encuentro que dicho complemento se llama FilePicker pero no encuentro donde se guarda en el Moodle.

Así que me conecto por ssh y busco la cadena picker en el Moodle, encontrando dos sitios:

MOODLE/repository
MOODLE/lib/form

Al final  por tanto tengo copiado el php.ini en los siguintes directorios:

/home/username/public_html/
/home/username/public_html/moodle/

/home/username/moodledata
/home/username/public_html/moodle/admin
/home/username/public_html/moodle/course
/home/username/public_html/moodle/files
/home/username/public_html/moodle/repository
/home/username/public_html/moodle/lib/form

Actualización 11/12/2015: Al poner en marcha el Moodle pasaba que a los alumnos, seguía poniendo 8MB como tamaño máximo de los archivos. Mirando las propiedades del control que utiliza Moodle para subir los archivos, aparece esta línea: http://moodle.cifprodolfoucha.es/mod/assign/view.php. Probé a copiar el php.ini al directorio donde se encuentra la página y ahora ya funciona también para los alumnos.
Copiamos el archivo php.ini al directorio:
/home/username/public_html/moodle/mod/assign/


Y EUREKA, YA FUNCIONA :)


Espero que esto le sirva de ayuda a otros internautas....

No hay comentarios:

Publicar un comentario