Bienvenidos a este Blog

Bienvenidos a este blog dirigido a todos aquellos docentes interesados en utilizar cada vez más y mejor las TIC dentro de su aula.
Se trata de un blog con una clara vocación de divulgación técnica y su objetivo es facilitar a los formadores el acceso a los recursos informáticos existentes hoy en día.

sábado, 12 de enero de 2013

Instalación de la infraestructura de un servidor MMS en Windows


En un artículo anterior (es recomendable leerlo previamente) describimos los requisitos software necesarios en un ordenador con Windows para poder instalar posteriormente algunos de los servidores privados MMS (Multimedia Management System) opensource al estilo del conocido YouTube, con el fin de poder evaluarlos fácilmente en nuestra propia instalación.

En este artículo veremos detalladamente el procedimiento de instalación que debemos seguir para garantizar que posteriormente podemos instalar sin problemas en este ordenador cualquiera de estos MMS gratuitos.
  • PHPmotion
  • ClipBucket
  • JAVS (Just Another Video Script)

 

Instalación de XAMPP


Lo primero que debemos hacer es instalar el servidor web apache, el gestor de base de datos MySQL y el lenguage PHP, productos que vienen empaquetados en el aplicativo XAMP.

Xampp 1.8.1 es la última versión de XAMPP disponible a la fecha de publicación de este artículo, pero nosotros vamos a instalar la versión 1.7.7 debido a que las aplicaciones con las que estamos trabajando no funcionan, por diversos motivos, con la versión PHP 5.4 que incorpora la última versión de XAMPP.

La descarga de las versiones antiguas de XAMPP la debemos hacer desde una página alternativa a la oficial de XAMPP, y en concreto en nuestro caso de la página:


El archivo descargado tiene como nombre

xampp-win32-1.7.7-VC9.7z (con el mismo nombre hay una versión .zip)

y para instalarlo solo tenemos que descomprimirlo en la unidad principal de nuestro ordenador, de manera que obtenemos la carpeta

C:\xampp


 Configuración de Apache


El servidor web Apache requiere unos determinados parámetros en su configuración, que, en principio, con la versión de Xampp utilizada, ya están definidos de la forma que nosotros necesitamos. De todas maneras, si queremos verificarlos debemos editar el archivo

C:\xampp\apache\conf\httpd.conf

y, en primer lugar, buscar la línea

LoadModule rewrite_module modules/mod_rewrite.so

que no debe estar comentada (no debe tener el símbolo # delante, que anularía la opción). 

En segundo lugar debemos buscar la sección

<Directory "/xampp/htdocs">

donde la opción AllowOverride debe estar 

AllowOverride All

Configuración de PHP


La configuración de PHP se realiza en el archivo 

C:\xampp\php\php.ini

que deberemos editar y verificar y/o cambiar las siguientes líneas.
open_basedir=
safe_mode=off
upload_max_filesize=100M (el tamaño máximo de archivo a subir, hasta 200M)
post_max_size=100M (el tamaño máximo de archivo a subir, hasta 200M)
memory_limit=101 (tamaño máximo de archivo más al menos 1M)
max_execution_time=1500
max_input_time=1500

Hemos de tener en cuenta que es posible que algunos de los MMS que instalemos posteriormente requiera alguna modificación más específica en la configuración de PHP, pero de momento, ya nos vale con esta.
También debemos verificar que dos determinadas librerías de PHP están activadas. Para ello buscamos la sección con la lista de extensiones instaladas y verificamos que las líneas

extensi0n=php_curl.dll
extension=php_gd2.dll
 
no están comentadas, es decir, no tienen delante un punto y coma (;). Si alguna de estas líneas estuviera comentada debemos borrar el punto y coma que la precede.

Finalmente, añadimos a la lista de extensiones una nueva que instalaremos a continuación, la extensión 

extension=php_ffmpeg.dll

No olvidemos guardar los cambios.

Instalación de la extensión ffmpeg para PHP.


Para instalar ffmpeg-php en Windows se necesita disponer de una compilación adecuada de esta librería Windows para la versión de PHP utilizada, en nuestro caso, PHP 5.3. Estas librerías deben buscarse en la red donde algún usuario avanzado las haya creado y puesto a disposición de la comunidad. Podemos descarga la que necesitamos en


Para instalarla, descomprimimos archivo zip descargado en una carpeta de maniobra y copiamos el archivo php_ffmpeg.dll a la carpeta donde se almacenan las extensiones

C:\xampp\php\ext

Copiamos el resto de las dll contenidas en el archivo comprimido a las carpetas

C:\windows\system32
y
C:\windows\SysWOW64

 

Arranque de Apache y MySQL


Ya podemos arrancar el servidor web Apache y la base de datos MySQL mediante el comando
C:\xampp\xampp_start.bat

o bien, cargamos el gestor gráfico
C:\xampp\xamp_control.exe
y arrancamos manualmente Apache y MySQL

 

Instalación de FFMpeg


FFMpeg dispone de múltiples versiones según la arquitectura (32 o 64 bits) del sistema operativo donde lo vayamos a instalar. En nuestro caso, trabajamos con arquitectura 64 bits, por que descargaremos la última versión Builds Static para 64 bits de la página


Descomprimimos el archivo descargado en la carpeta de maniobra, que hemos de crear previamente, 

C:\multimedia

de manera que se crea la carpeta

C:\multimedia\ffmpeg-XXXXXX-git-YYYYYYY-win64-static

donde los dígitos X e Y cambian según el nombre de la versión descargada.

Lo mejor es cambiar el nombre de la carpeta creada, para que sea más manejable a

C:\multimedia\ffmpeg

Si queremos comprobar que se ha instalado correctamente, abrimos una ventana de comandos en Windows mediante el comando CMD y ejecutamos

C:\multimedia\ffmpeg\bin>ffmpeg -version

que deberá dar una salida válida del programa.

 

Instalación de MPlayer+MEnconder


MPlayer es un reproductor de medios que lleva incorporado el decodificador MEncoder, por lo que la instalación se hace en uns sola operación.

La descarga la podemos hacer desde diferentes páginas , por ejemplo, de 


La instalación es muy sencilla ya que basta seguir las instrucciones del instalador. Seleccionamos la instalación personalizada y seleccionamos la carpeta destino en 

c:\multimedia\mplayer

y dejamos el resto de opciones de instalación por defecto.


Instalación de MP4Box


También se puede descargar de numerosas webs. Nosotros lo hemos hecho desde


Para instalarlo basta con descomprimir el archivo en una carpeta. Nosotros hemos utilizado la carpeta

C:\multimedia \MP4box

Para comprobar la correcta instalación basta con abrir una ventana de comandos en Windows y ejecuta

C:\multimedia\MP4Box\mp4box


Debemos obtener una salida válida de este comando.

 

Instalación de FLVTOOL2


FLVTool2 es una herramienta de manipulación de archivos de Macromedia Flash Video (FLV). Se puede descargar de numerosas Web. Nosotros lo hemos hecho de 


Para instalarlo basta con descomprimir el archivo en una carpeta y añadir esta a la variable path de Windows. Nosotros hemos utilizado la carpeta

C:\multimedia\flvtool2
Para comprobar la correcta instalación basta con abrir una ventana de comandos en windows y ejecutar 

C:\multimedia\flvtool2>flvtool2

Debemos obtener una salida válida de este comando.


Instalación de LAME


LAME es un codificador de sonido MPEG. LAME para Windows ha sido compilado para este sistema operativo por diferentes usuarios que lo han puesto a disposición de la comunidad.

Podemos descargarlo de


Ejecutamos el archivo descargado, de nombre

Lame_v3.99.3_for_Windows.exe

y seguimos las instrucciones del instalador.

Instalar librerías libogg y libvorbis


Para descargar estas librería podemos hacerlo desde


debemos copiarlas a

C:\Windows\System32
y
C:\Windows\SysWOW64



Con esta infraestructura ya podemos abordar la instalación de los tres aplicativos PHP (en la jerga especializada, se llaman scripts) anteriormente mencionados. En los próximos artículo abordaremos la instalación de cada uno de estos scripts que nos permitirán dispone de nuestro propio servidor multimedia, similar al conocido Youtube. Esperemos no encontrarnos con demasiados problemas, que de todas maneras comentaremos.


lunes, 7 de enero de 2013

Infraestructura necesaria para instalar un servidor MMS en Windows

Hace un par de semanas nos plantemos algunas circunstancias en las que disponer de un servidor MMS podría sernos de utilizar, evitando así la necesidad de colgar nuestros videos didácticos en servidores como YouTube o Vimeo, donde además de estar expuestos a ser copiados y distribuidos sin ningún control por nuestra parte, también nos obligaba a que nuestros alumnos tuvieran acceso a estos servidores abiertos, lo que en el caso de alumnos de primaria o secundaria, puede ser en muchos casos un problema. 

Así que nos planteamos el reto de instalar nuestro propio servidor MMS (Multimedia Management Sytem) y así disponer, por decirlo de alguna manera de “nuestro propio Youtube”. Nuestro compromiso fue  publicar en este blog los avances que fuéramos realizando y he aquí el primer resultado.

Nuestro primer objetivo parcial es disponer de la infraestructura necesaria para poder instalar diversos productos MMS en un mismo PC con Windows, es decir, disponer de una única máquina para pruebas y testeo. Quede claro que como la mayoría de los productos web, su ambiente natural es linux y que lo que aquí hagamos solo tiene el objetivo de poder “ver con nuestros propios ojos” estas aplicaciones y evaluar sus funcionalidades, para después, si nos decidimos por alguna de ellas, montarla en producción en un servidor adecuado, que probablemente no deberá ser Windows sino, como ya hemos dicho, linux.

Hemos comenzado por analizar requisitos técnicos de cuatro MMS opensource con el fin de montar este servidor web en Windows. Estos cuatro productos son
  • PHPmotion
  • ClipBVucket
  • JAVS (Justa Another Video Script)

El resultado del análisis nos ha dado como resultado que su infraestructura técnica, la configuración de esta y las aplicaciones externas necesarias son muy similares, lo que nos permitirá configurar el servidor base que estamos buscando. Veamos.
Respecto a la infraestructura, todos ellos funcionan sobre el conocido trío de aplicaciones opensource Apache+MySQL+PHP, el conocido XAMPP, de fácil instalación en Windows y que hemos mencionado en numerosas ocasiones en este blog.

El problema que nos hemos encontrado es que XAMPP 1.8.1 (última versión a día de hoy), que incorpora PHP5.4, nos ha dado diferentes problemas en las pruebas previas realizadas en tres de las cuatro opciones (la excepción ha sido JAVS), por lo que hemos optado por utilizar finalmente XAMPP 1.7.7, que incorpora PHP5.3.8, con el que las cosas han ido en general bastante mejor.
 
Respecto a la configuración necesaria en el servidor web Apache, en todos los casos se precisa
  • Apache con el mod_rewrite activado
  • Apache con capacidad de usar archivos .htaccess

En cuanto a la configuración de PHP, se requiere
  • Librerías php activas
    • ffmpeg
    • GD2
    • cURL
    • Cambios en la configuración del archivo php.ini
      • safe_mode off
      • open_basedir off
      • max_execution_time (valores elevados, desde 1000 a 7200)
      • max_input_time (valores elevados, desde 1000 a 7200)
      • post_max_size (según tamaño de los vídeos a subir, hasta 200M)
      • upload_max_size (según tamaño de los vídeos a subir, hasta 200M)
      • memory_limit (al menos 1M más del tamaño máximo de video a subir, 201M)
      • la función exec() debe estar permitida en PHP

      Otro elemento a tener en cuenta es que algunas de estas aplicaciones tienen un sistema de protección del código fuente y como consecuencia de esto, para poder ejecutarlas, se necesita tener instalados los denominador “loaders” o “cargadores”, que son extensiones de PHP específicas para cada plataforma y versión de este lenguaje. Algunos de los problemas mencionados al principio del artículo, cuando hablábamos de XAMPP, tienen que ver con la inexistencia de cargadores para PHP5.4. 
      Veamos qué sistema utiliza cada MMS analizado
      • PHPmotion utiliza PHPshield
      • Clip-Bucket utiliza PHPshield
      • JAVS no utiliza sistema de protección y por lo tanto no necesita cargadores

      Finalmente comentaremos que todos estas soluciones necesitan que haya una serie de aplicaciones instaladas previamente en las que se apoyan para realizar tareas como la conversión de formatos o la reproducción de los diferentes tipos de archivos (video, imagen, audio...) que podemos gestionar en el servidor MMS.
      Hemos preparado una tabla ilustrativa en la que reflejamos cada solución MMS qué aplicaciones requiere.
        

      PHPmotion
      ClipBucket
      JAVS
      FFMPEG
      x
      x
      x
      MEncoder y MPlayer
      x


      MP4BOX

      x
      x
      FLVTOOL2

      x
      x
      LAME
      x


      Libogg+Libvorbis
      x




      Una vez que sabemos qué debemos instalar el próximo paso será hacerlo, así que vayamos preparando un PC o una máquina virtual con Windows, En nuestro caso utilizamos normalmente para este tipo de pruebas una máquina virtual con Windows XP 64 SP2, que siempre nos ha dado buen resultado.

      Si tenemos éxito, cuando tengamos preparado este servidor web, publicaremos un nuevo artículo donde explicaremos el proceso de instalación de toda esta infraestructura.


      sábado, 29 de diciembre de 2012

      ¿Cómo disponer de un Servidor Multimedia privado?

      En un artículo anterior comentábamos alguna de las circunstancias que nos pueden empujar a analizar la posibilidad de crear nuestro propio servidor de vídeos al estilo de los habituales YouTube o Vimeo como apoyo a nuestra plataforma e-learning.

      El motivo que argumentábamos era la dificultad que tenemos para garantizar que nuestros vídeos colgados en esta plataforma no sean descargados y distribuidos fuera de nuestro control y la posibilidad de que disponiendo de una plataforma propia que podemos administrar a nuestro gusto podamos minimizar, si no eliminar totalmente, este riesgo.

      Otra circunstancia en la que se justifica la disponibilidad de un servidor privado de estas características es cuando la plataforma e-learning pertenece a un centro de enseñanza primaria o secundaria donde, por razones obvias, el acceso a servidores de streaming a través de internet puede estar limitado en muchas ocasiones, dificultando a los profesores la utilización de vídeos colgados en la red como material de apoyo a su labor docente.

      En este último caso, la disponibilidad de un servidor de streaming de vídeo de titularidad propia, situado bien en un hosting privado de internet, bien en un servidor interno de la LAN académica, puede resultar de gran utilidad

      Este tipo de servidores pertenecen a una categoría denominan genéricamente MMS (Multimedia Management System), ya que no solo permiten subir y descargar vídeos sino también otros archivos de medios como imágenes o archivos de audio.

      Existen diferentes softwares que permiten crear un servidor de estas características y poder disponer de un clon de YouTube para nuestro uso privado. Mencionaremos tres de estos paquetes, de distribución libre y gratuita, basados en la conocida tecnología XAMP, basada en servidor web Apache, base de datos MySQL y lenguaje de scripts PHP y que se apoyan, con ligeras diferencias entre ellos, en una serie de paquetes de gestión de archivos multimedia muy habituales en los entornos de software libre, como FFMpeg, la librería GD y otros que ya comentaremos en su momento.

      Estos tres paquetes son

      PHPmotion                      http://phpmotion.com
      ClipBucket                        http://clip-bucket.com
      JUST                                  http://justanothervideoscript.com
       

      Si algo tienen en común, además de permitirnos construir nuestro servidor MMS, es la inexistente documentación es español sobe estos productos y la suposición de que quien se enfrenta a la instalación de cualquiera de ellos sabe ya instalar tanto un servidor XAMP como los diferentes paquetes sobre los que se apoyan los productos, ya que se sus páginas web se limitan a dar la lista de requerimientos previos y a explicar sucintamente el proceso de instalación y configuración inicial de producto.

      Esto se justifica en parte por el modelo de negocio que sustenta algunos de estos paquetes, que pasa por la comercialización de servicios de instalación del servidor o la comercialización de servicios de hosting especializado, además de la venta de elementos complementarios como temas gráficos o extensiones de software.

      De todas maneras, gracias a que muchos usuarios ponen en común sus experiencias en la red, es posible obtener información suficiente como para, con un poco de trabajo y dedicación, poder construir nuestro propio servidor de streaming. Y en este proceso estamos ahora, analizando la información disponible e instalando paso a paso nuestro piloto.

      Como no podía ser de otra manera, dado el carácter divulgativo de este blog, vamos a contribuir al conocimiento general con una serie de artículos que iremos publicando en las próximas semanas en los que relataremos de la forma más didáctica posible cómo instalar nuestro propio servidor MMS de pruebas donde analizar cómodamente cualquiera de estos productos.

      En el próximo artículo, veremos como instalar el software base necesario, no se aún si en Linux o en Windows, o si toda va bien, por qué no en ambos.


      domingo, 23 de diciembre de 2012

      ¿Es posible proteger contra descarga nuestros vídeos didácticos?.

      Me he encontrado en no pocas ocasiones con docentes que generan vídeos didácticos para incorporar a sus cursos Moodle (u otras plataformas) y que posteriormente se encuentran en la duda de dónde alojar estos vídeos y que preguntan si es posible proteger los vídeos contra descarga.

      La respuesta es "No", no hay un método 100% eficaz. Hagamos un repaso a la situación general.

      Es bien sabido que Moodle permite subir los vídeos al propio servidor Moodle y servirlos desde allí, pero también es sabido que esto requiere un servidor más potente y con más espacio en disco, por no hablar del consumo de ancho de banda que en muchos hostings excesivamente económicos debe pagarse aparte si superamos el tráfico mensual establecido.

      Ante esta situación, la alternativa es colgar los vídeos en servidores de "streaming" externos e "incrustarlos"  en las páginas de los diferentes módulos de los que Moodle dispone; el editor de Moodle, el TinyMCE, dispone de una opción para incrustar elementos multimedia, por no hablar del sistema de filtros de Moodle, que permite insertar un vídeo de Youtube simplemente escribiendo la URL del vídeo en cualquier página.

      Pero aquí aparece un problema nuevo: los vídeos colgados en un servicio de las características de Youtube o de Vimeo no tienen ninguna protección contra descarga y por lo tanto, quien quiera mantener a salvo su creación considera un riesgo colgar los vídeos de producción propia en este tipo de servicios.

      El problema es de difícil resolución, ya que los vídeos visionados mediante la tecnología de “streaming” se descargan como archivos temporales en el ordenador desde el que se visionan, de manera que existen multitud de aplicaciones que se limitan a capturar este archivo temporal y generar una copia perfectamente útil para su visionado y, por qué no, para su distribución.

      Existen mecanismos para minimizar este riesgo, que no para eliminarlo totalmente; por ejemplo, en Youtube es posible subir un vídeo y ponerlo en estatus “Sin clasificar”, de manera que solo podrá acceder a él quien conozca la URL del mismo y no aparecerá en las búsquedas habituales de internet. Está claro que esta protección es bastante débil, ya que cualquier alumno puede difundir la la URL del vídeo, pero mejor esto que nada. En servicios como Vímeo es posible poner una clave al vídeo, de manera que solo lo podrán visionar (y descargar, no lo olvidemos) quien conozca la clave.

      Así que deberemos ser más imaginativos y utilizar otros mecanismos, como, por ejemplo, poner una “marca de agua” al vídeo, algo que será técnicamente más fácil o complejo según el software de edición de vídeo que utilicemos, pero a muchos autores no les gusta porque rompe la estética del vídeo.

      Personalmente, además de publicar mis vídeos didácticos “sin clasificar” en Youtube, he optado por insertar en los mismo publicidad de mis servicios en los vídeos de producción propia, al final del mismo o incluso al inicio. Indicar el autor y el copyright con el que queremos que esté protegido nuestro vídeo, el curso al que pertenece u otra información sobre nuestros servicios profesionales, permite, ante la posibilidad de que nuestro vídeo se difunda sin nuestro consentimiento, que paralelamente también se difunda nuestro trabajo; es posible que hasta encontremos nuevos clientes para nuestros cursos y que lo que en principio es un problema se convierta en una ventaja. Claro está que siempre hay quien puede editar el vídeo y eliminar esta parte, pero se trata de al menos no ponerlo fácil.

      Además, ya puestos a perder la batalla, por qué no publicarlos con un copyright Creative Commons y que quien quiera distribuirlos que lo haga libremente,  respetando las condiciones de esta licencia.

      De todas maneras, hay quien es muy celoso de su producción, por lo que es necesario buscar alguna solución mejor para proteger nuestros vídeos de descargas indeseadas, que no pase por ir cada dos por tres a los tribunales.

      Personalmente me gustaría disponer de un servidor de streaming privado para hacer pruebas y ver hasta donde se puede llegar. He oído hablar de PHPmotion, por lo que no descarto que en un próximo artículo hable de cómo me ha ido la experiencia con este producto.....



      martes, 27 de noviembre de 2012

      Características de la nueva versión Moodle 2.4

      A punto de terminar el proceso de test de Moodle 2.4dev y de que los programadores terminen de corregir los problemas encontrados, esperamos que la versión 2.4 estable sea liberada a más tardar la primera semana de diciembre.


      Es momento por lo tanto de analizar los cambios y mejoras que aporta esta versión y de que cada uno de nosotros decida la conveniencia o no de migrar a esta nueva versión de forma inmediata, sabiendo que tarde o temprano tendremos que hacerlo si queremos seguir con la política recomendada siempre en este blog de mantener nuestro Moodle lo más actualizado posible.

      Respecto a los requerimientos de la infraestructura, no hay variaciones respecto a la versión 2.3, lo que supone un aliciente para realizar la migración desde esta versión ya que nos evitamos tener que realizar cambios en el software base de nuestra instalación, a veces problemáticos.

      Sobre las mejoras “internas”, no visibles directamente al ojo del usuario, se han realizado una serie de optimizaciones para mejorar el rendimiento. A destacar la implementación de un sistema de caché denominado Moodle Universal Cache (MUC) que permite al administrador del sito Moodle implementar diferentes configuraciones que pueden permitir reducir valores tan importantes como el número de peticiones a la base de datos, el número de archivos que se necesitan leer del disco para crear una página o los requerimientos de memoria RAM.

      Para gestionar MUC el admin dispone ahora de una nueva opción en el menú de extensiones denominada “Caching” donde configurar diversos aspectos de este nuevo sistema. De todas maneras observo que estas estas opciones son “muy especializadas” y no están al alcance de todos los administradores, sobre todo de aquellos con un perfil más funcional que técnico, y a falta de una documentación que oriente sobre su utilización serán pocos los que se atrevan (o nos atrevamos) a modificar estas configuraciones, al menos en una primera fase.

      De todas maneras, a falta de estadísticas sobre la versión definitiva, ya podemos ver algunas provisionales sobre la versión 2.4dev como las que se pueden consultar en este enlace, que dan como resultado mejoras en el rendimiento bastante relevantes.

      También a nivel interno y orientado a los programadores de temas gráficos (los Themes) se han implementado cambios internos para permitir más opciones de configuración de estos, lo mismo que con los formatos de curso, lo que permitirá desarrollar nuevos formatos en el futuro.

      Una mejora más visibles se centra en el editor TinyMCE al que se le han añadido algunas opciones de configuración para que el admin pueda añadir o quitar botones y configurar las extensiones propias del editor, permitiendo un cierto grado de personalización de las barras de herramientas en cada instalación.

      Otra mejora que facilita la vida del admin es la gestión de las extensiones. Si en la versión 2.3 ya se notificaba de la existencia de una nueva versión de las extensiones instaladas, en la versión 2.4 se mejora esta opción permitiendo la instalación vía web de la nueva versión. Una gran mejora, desde luego.

      Una de las peticiones de mejora más votadas por los usuarios en el sistema de gestión de cambios de Moodle (el famoso tracker) se ha implementado finalmente: la opción de integrar calendarios externos en el calendario de Moodle. Se ha establecido un sistema de suscripciones a calendarios externos compatibles con el sistema de intercambio iCal, como los calendarios de otros sitios Moodle o los de Google Calendar, entre otros.

      También se ha implementado una mejora relevante en la Tareas. Ahora es posible realizar tareas en grupo de trabajo, de manera que, entre otras posibles configuraciones, se puede definir que basta con que un alumno entregue la tarea para que todo el grupo haya cumplido con esta, y la calificación dado por el profesor a esta entrega se aplicará a todos los alumnos del grupo. Para establecer los grupos de trabajo se utiliza la estructura de Grupos (no de Agrupaciones) ya habitual en Moodle.

      Otro aspecto relacionado con las Tareas es la posibilidad de cargar ahora las calificaciones a partir de un archivo CSV que podemos generar con una hoja de cálculo.

      Para terminar con este repaso a los cambios más importante en Moodle 2.4, hablaremos de algo casi anecdótico, pero relevante por la novedad; se han cambiado por primera vez los iconos, que desde la versión 1.0 permanecían invariables. En esta página pueden ver las equivalencias entre los iconos de las versiones anteriores y la 2.4.

      Personalmente no me gusta que los iconos de las actividades y de las opciones de menú sean ahora monocromos, mientras que veo que los correspondientes a los módulos (recursos y actividades), más grandes y coloridos son realmente atractivos.

      Como conclusión, esta versión sigue en la línea de las anteriores, la de aportar mejoras relevantes pero entregadas de forma dosificada, sin grandes cambios globales que puedan asustar a los administradores y sin que la experiencia de usuario sufra cambios difíciles de digerir.


      jueves, 11 de octubre de 2012

      Ajustes de PHP en Moodle 2.x

      Uno de los problemas más habituales con los que se enfrenta quien aborda la instalación de Moodle es la correcta configuración o parametrización de PHP, lenguaje de script con el que está construido. Muchos problemas de ejecución de Moodle tienen que ver con una incorrecta configuración de este elemento. En este artículo intentaremos dar un repaso a los parámetros que habitualmente debe ser tenidos en cuenta a la hora de abordar la solución de algunos problemas muy habituales.

      En primer lugar hemos de recordar que desde la versión Moodle 2.1 se requiere utilizar obligatoriamente PHP 5.3.2 o superior; utilizar cualquier versión anterior de PHP garantiza los problemas.

      En segundo lugar hemos de recordar que la configuración de PHP se realiza en el archivo php.ini, si bien en instalaciones realizadas sobre hostings compartidos o sobre VPS construidos a partir de consolas como Parallels o Cpanel, el panel dispone de una utilidad gráfica donde modificar los parámetros de PHP sin necesidad de buscar y editar manualmente el archivo php.ini. Si tiene dudas al respecto, consulte con su proveedor de hosting que le deberá asesorar a respecto.

      En tercer lugar, recordaremos que para consultar la configuración actual de PHP desde Moodle con el usuario admin puede hacerlo desde
      Administración del sitio – Servidor – Información PHP

      Veamos ahora los parámetros que debemos tener en cuenta partiendo de tres de los problemas más habituales que aparecen en los foros de Moodle:

      El primer problema que comentaremos es aquel que se produce cuando eterminadas operaciones dan un error del tipo

      Fatal error: Allowed memory size of xxxxxxxxxx exhausted (tried to allocate yyyyyyyyyy) in abcd.php on line n

      Este error nos informa que la memoria asignada para la ejecución del script php se ha agotado y que precisa de una ampliación.

      El valor por omisión en PHP 5.3.2 es de 128M que deberemos ampliar modificando el valor de la directiva
      memory_limit =
      Este parámetro establece el máximo de memoria que un script puede consumir. Poner este límite evita que scripts mal programados consuman toda la memoria disponible en el servidor. Cojamos el valor recomendado por el error (¡ojo, está en bytes) y ajustémoslo ligeramente al alza.


      Un segundo problema habitual es “la pantalla blanca” que aparece en determinadas operaciones como búsquedas, elaboración de informes, ejecución de copias de seguridad u otras operaciones que llevan un cierto tiempo de proceso. Esta “pantalla blanca” se produce cuando la ejecución de un script lleva más tiempo que el definido en la directiva de PHP 
       max_execution_time =
      Este valor establece el tiempo máximo en segundos que se permite ejecutar el script (30 por omisión), de manera que si este tiempo se excede, el script se detiene (de ahí que la salida sea una página en blanco). Es otra medida de seguridad para prevenir que un script mal diseñado bloquee el servidor.

      Relacionado con este problema está también la directiva
      max_input_time =
      que determina el tiempo (también 30 por omisión) que un script puede estar cargando datos (por ejemplo, de la lectura de una base de datos). Si el tiempo se excede, el script se detiene.

      Si tiene problemas de “pantalla blanca”, vaya subiendo estos valores hasta que se solucionen; para instalaciones grandes, no es extraño encontrarse con valores de 150 o de incluso 300 segundos, valor máximo permitido por la directiva Timeout de Apache. No hace falta decir que valores más altos no sirven de nada ya que será el servidor Apache el que finalice el proceso, salvo que queramos cambiar la configuración de Apache, asunto que queda fuera del objetivo de este artículo.


      El tercer y último problema que veremos se refiere al tamaño de los archivos que se pueden subir al servidor. Independiente de cómo Moodle configura este aspecto y los posibles límites que se pongan a nivel de actividad y a nivel de curso, estos nunca podrán superar los valores establecidos a nivel de sitio, que a su vez no puede superar la directiva PHP
      upload_max_filesize =
      que por omisión esta establecida en valores muy bajos (2M).

      Para operar correctamente en Moodle conviene establecer la directiva de PHP y el valor máximo del tamaño de archivos en valores relativamente altos (128M, 256M,...) dependiendo del tamaño de nuestros archivos de copia de seguridad, que suelen ser los archivos de mayor tamaño que habitualmente manejamos. Para limitar a los usuarios deberemos utilizar los valores internos de Moodle a nivel de curso y a nivel de actividad.

      Hay una última directiva a tener en cuenta
      post_max_size =
      Esta directiva el tamaño máximo de “datos post” permitidos (8M, por omisión); los “datos post” tienen que ver con los tipos de tratamiento interno que hace php de la información y, la verdad, los que no somos programadores no necesitamos saber más al respecto. Nos basta con saber que esta directiva también afecta a la subida de archivos y que para poder subir ficheros grandes, este valor de ser mayor o igual que upload_max_filesize.


      Del resto de las directivas de PHP, mi recomendación, para quien utilice Moodle, es no tocarlas, si no sabemos muy bien qué hacemos y porqué lo hacemos.