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.

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.


      6 comentarios:

      1. Saludos. ¿Cómo instalo PHPShield en Windows XAMPP 1.8.1? NO encuentro información sobre eso en ninguna parte. Por cierto, al intentar instalar clipbucket, en la fase de los permisos me da el siguiente error "Parse error: syntax error, unexpected end of file in C:\xampp\htdocs\cb_install\mod­­es\permission.php on line 38", y no puedo avanzar (tampoco encuentro solución en Google). ¿Alguna sugerencia?

        ResponderEliminar
      2. Respectoa PHPShield, que yo sepa hoy por hoy no hay versión para PHP5.4, que es la que viene con XAMPP 1.8.1 .

        Respecto al error de clipbucket, parece un error de programación de los muchos que tiene el producto.

        Creo recordar de algún foro que un usuario decía que se solucionaba modificando algo en el códido del stript permision.php, pero la verdad es que no recuerdo más.

        ResponderEliminar
      3. Muchas gracias por tu respuesta, desinstalaré XAMPP 1.8.1 e instalaré la que utilizas aquí. En cuanto al error de ClipBucket, sí, eso leí yo por ahí en un videotutorial de YouTube, pero aproveché para preguntarte porque no conseguí encontrar la causa en ese archivo. Supongo que es más fácil instalarlo en Linux para evitarse estos problemas.

        Por otra parte, ¿tú conseguiste instalar ClipBucket en Windows y mantenerlo funcional? Si no fue así, te agradecería que me lo comentases, porque así me ahorro el 'ensayo-error' y a otra cosa, jajaja.

        Un saludo y enhorabuena por el tutorial, que es bastante claro y minucioso.

        ResponderEliminar
      4. Sí conseguí instalarlo sobre Xampp 1.7.7, sin errores, aunque luego no trabajé a fondo con él. Mi intención era analizar las condiciones de instalación de estos productos y dejar para más adelante el tema funcional.

        Un saludo

        ResponderEliminar
      5. De nuevo, gracias por tu respuesta. Yo también acabo de instalarlo sobre XAMPP 1.7.7 corrigiendo algunos errores, pero también tuve que usar una versión anterior de ClipBucket, concretamente la v2.5-676. Ahora estoy empezando a configurarlo, pero, de nuevo, surgen los problemas, en la sección "MODULES VERSION" del área de administrador, me aparece el triángulo de advertencia en: FFMPEG, y en installed version, pone "r" (es la que enlazaste aquí). Más abajo, en la sección "CHECKING FFMPEG CODECS", aparece el otro triángulo de advertencia; esta vez haciendo referencia al codec "libfaac". Supongo que el triángulo de advertencia anterior está relacionado con la ausencia del códec mencionado. Respecto a esta ausencia, encontré la respuesta en un foro: "libfaac has been removed from ffmpeg and is supported through external library" (libfacc ha sido eliminado de ffmpeg y se ofrece a través de una librería externa). ¿Debo descargar el .dll y copiarlo en C:\windows\system32, o necesito instalar o desinstalar algo más?

        Un saludo, gracias, y disculpa por el ladrillo.

        ResponderEliminar
        Respuestas
        1. Wow..., hay que compilarlos en una build para que puedan funcionar. Y yo todavía estoy empezando con programación. Buscaré algún tutorial, a ver si hay alguno sencillo. Gracias por tu Blog, no resulta fácil encontrar este material en español (e incluso en inglés).

          Eliminar