MediaGoblin, la plataforma audiovisual libre

mediagoblin-avatar-150Todos usamos las redes sociales y accedemos a los contenidos audiovisuales de Internet, en las diversas opciones disponibles, ya sea para ver vídeos, escuchar música, estar al tanto de las noticias o conectarnos a las redes sociales. El problema en la mayoría de los casos es que estamos usando plataformas privativas que no respestan nuestras libertades, y que para más inri juegan con nuestra información privada.

GNU MediaGoblin es software libre, una alternativa descentralizada a productos como Youtube, Flickr o SoundCloud, que nos permitirá alojar y compartir multimedia digital.

En el presente artículo vamos a ver como instalarlo en un servidor con Debian 7 Wheezy, para así poder testearlo correctamente.

Requisitos

Necesitamos un servidor con un sistema operativo GNU/Linux, con los siguientes requisitos:

  • Python 2.6 o 2.7
  • python-lxml
  • git
  • SQLite o PostgreSQL
  • Python Imaging Library (PIL)
  • virtualenv

Instalación

Como usamos un sistema operativo Debian Wheezy, la orden de instalación del software necesario, es el siguiente:

  1. sudo apt-get install git-core python python-dev python-lxml 
  2. python-imaging python-virtualenv

Para el resto de distribuciones, como OpenSuse o CentOS:

  1. yum install python-paste-deploy python-paste-script 
  2.     git-core python python-devel python-lxml python-imaging 
  3.     python-virtualenv

Respecto a la base de datos

Por defecto GNU MediaGoblin utiliza SQLite, realmente para hacer éste artículo tenemos más que suficiente, pero vamos a ir más allá. En un entorno productivo es más lógico, si vamos a tener bastantes usuarios o visitas, usar PostgreSQL.

PostgreSQL, se trata de un Sistema de Gestión de Base de Datos, orientado a objetos y libre. Usa la licencia BSD

Instalamos PostgreSQL

  1. apt-get install postgresql postgresql-client python-psycopg2

Al instalar el software nos creará un usuario llamado postgres, con el cual tendremos que operar.

mediagoblin-usuario-postgresAhora crearemos un nuevo usuario y una nueva base de datos:

  1. sudo -u postgres createuser -A -D mediagoblin

Y la nueva base de datos:

  1. sudo -u postgres createdb -E UNICODE -O mediagoblin mediagoblin

En la siguiente imagen podemos ver la base de datos creada:

mediagoblin-lista-bbdd-postgresql

El usuario medigoblin

Por defecto GNU MediaGoblin no requiere un usuario con permisos especiales o elevador para ejecutarse. Por lo tanto sólo necesitamos un usuario del sistema sin privilegios especiales para ejecutar MediaGoblin.

Creamos un usuario llamado mediagoblin, del sistema, sin privilegios especiales:

  1. adduser --system mediagoblin

Como es un usuario del sistema y no tiene asignada ninguna contraseña, para acceder al usuario:

  1. sudo -u mediagoblin /bin/bash

Los comandos en la consola quedarían de la siguiente manera:

mediagoblin-user-mediagoblin

Creamos el directorio para MediaGoblin

Debemos crear un directorio de trabajo para MediaGoblin, el directorio se usará para el repositorio git, puedes usar el que a ti más te convenga.

  1. sudo mkdir -p /srv/mediagoblin.localhost.local && sudo chown -hR 
  2. mediagoblin: /srv/mediagoblin.localhost.local

Accedemos al directorio creado:

  1. cd /srv/mediagoblin.localhost.local

La imagen en la consola será parecida a la siguiente:

mediagoblin-directorio-gitAhora clonamos el repositorio mediante git

Git, es un software de control de versiones, creado por Linus Torvalds.
Git utiliza el puerto 9148, por lo tanto recuerda que debe de estar abierto en el firewall.
  1. git clone git://gitorious.org/mediagoblin/mediagoblin.git
  2. cd mediagoblin
  3. git submodule init && git submodule update

Y desempaquetamos virtualenv

virtualenv, es una herramienta de Python. Permite que se puedan instalar paquetes sin interferir entre si, ni con el sistema de paquetes de python.
  1. (virtualenv --python=python2 --system-site-packages . || virtualenv  
  2. --python=python2 .) && ./bin/python setup.py develop

Implementamos FastCGI

FastCGI, es un protocolo para interconectar programas interactivos con un servidor web.
  1. ./bin/easy_install flup

Parece ser que a veces la descarga no funciona bien, si eso pasa podemos probar con el siguiente comando:

  1. ./bin/easy_install https://pypi.python.org/pypi/flup/1.0.3.dev-20110405

Es recomendable que vayamos actualizando de git el producto:

  1. git submodule update && ./bin/python setup.py develop --upgrade 
  2.  && ./bin/gmg dbupdate

Implementar los servicios de MediaGoblin

Comenzamos a configurar el software. Copiaremos el archivo mediagoblin.ini ya que lo editaremos, para que no se pierde la configuración inicial.

  1. cp mediagoblin.ini mediagoblin_local.ini

Modicaremos email_sender_address para que nos envíe correo a nuestra dirección.

También hay que modificar direct_remote_path, base_dir, and base_url , para adaptar la configuración a nuestro servidor.

Configurar MediaGoblin en la base de datos PostgreSQL

Usamos PostgreSQL para MediaGlobin, en vez de SQLite, por lo tanto debemos moficiar el archivo mediagoblin_local.ini con la siguiente información:

  1. sql_engine = postgresql:///mediagoblin

Actualizaremos la base de datos con:

  1. ./bin/gmg dbupdate

Una vez finalizada ésta parte, probaremos que la configuración sea correcta, arrancando el servidor:

  1. ./lazyserver.sh --server-name=broadcast

Y ya podremos ver el resultado, si escribmos la IP de nuestro servidor seguido de dos puntos y el puerto 6543 o localhost:6543 si nos encontramos dentro del mismo servidor.

mediagoblin-captura-1Si vamos a iniciar sesión veremos la siguiente pantalla:

mediagoblin-iniciar-sesion¡IMPORTANTE!

Ahora mismo no tenemos ningún usuario creado, así que vamos a crearlos.

  1. cd /srv/mediagoblin.localhost.local/mediagoblin/
  2. ./bin/gmg adduser
./bin/gmg adduser

Y así ya podemos entrar en la interfaz de usuario:

mediagoblin-interfaz-usuarioA modo de prueba voy a añadir una colección:

mediagoblin-añadir-coleccionY nos quedará la siguiente ventana:

mediagoblin-añadir-coleccion-2Si le añadimos algo de «chicha» el aspecto es el siguiente:

mediagoblin-añadir-imagenesEspero que haya sido el artículo de vuestro interés. Creo que GNU Media Goblin tiene mucho futuro. Estoy pensando por ejemplo en centos educativos, donde los alumnos o profesores puedan añadir imagenes, documentos, vídeos. También en pequeñas editoriales o profesionales del arte.

En breve segunda parte, donde explicaremos como hacer que corra sobre Nginx o Apache, además de añadirle muchas cosas más para que soporte múltiples formatos de vídeo, archivos en formato pdf, etcétera.

Para más info MediaGoblin

Los siguientes capítulos:

Instalar Nginx y plugin de vídeo en MediaGoblin

Instalar plugin de audio y pdf en MediaGoblin

FREE AS IN FREEDOM 

19 Respuestas

  1. Rubisel Prieto dice:

    Muy buen aporte, muchas gracias, ya estoy instalándolo a ver como esta.

  2. Rubisel Prieto dice:

    No he podido clonar el repo con el git, tuve que hacerlo por https porque el proxy no me deja por otro protocolo y me lanzo este error.

    fatal: The remote end hung up unexpectedly MiB | 11.00 KiB/s
    fatal: early EOF
    fatal: index-pack failed

    No se si es que la navegación esta lenta, lo sigo intentando.

  3. Otra posibilidad es descargarlo en una red sin proxy o que por no menos no tenga cerrado el puerto usado por git.

  4. karaukeira dice:

    Hay algún mecanismo para poder arrancar mediagoblin y dejarlo arrancado. Mecanismos del tipo service apache2 start… En vez de ejecutar el script lazyserver.sh

  5. Arnold Fernández dice:

    Todo fácil, lo malo es que no sé cómo implementar un servidor, tengo un equipo que no uso y creo que serviría para usarlo de ese modo ¿es posible que sirva para correos, impresoras, mediagoblin, alojar una web, proxy, Diaspora, GNUSocial, etc. En un solo equipo?

  6. Aldo dice:

    Bravo por tan buen consejo. Hay que dar a conocer más el software libre y sus geniales posibilidades y esta forma de hacerlo es perfecta. ¡Gracias de parte de un feliz usuario de SL!

    • davidochobits dice:

      Gracias Aldo,

      MediaGoblin es un software genial al que he dedicado unos cuantos artículos en la web, respecto a su instalación y configuración.

      Saludos y gracias por pasarte!

  7. mariqueerta dice:

    Buenas! Probaste esta instalación en debian 9?

  1. 26 septiembre, 2014

    […] Recomiendo que visitéis la web del proyecto, aquí o la serie de artículo en la que hablamos de ello, aquí. […]

  2. 2 diciembre, 2014

    […] su día hablamos de MediaGoblin, un proyecto totalmente libre, impulsado por la Free Software Foundation, y que tiene cómo meta […]

  3. 10 abril, 2015

    […] MediaGobin, la plataforma audiovisual libre […]

  4. 17 septiembre, 2015

    […] MediaGoblin, la plataforma audiovisual libre […]

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.