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.