MediaGoblin, la plataforma audiovisual libre
Todos 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:
sudo apt-get install git-core python python-dev python-lxml
python-imaging python-virtualenv
Para el resto de distribuciones, como OpenSuse o CentOS:
yum install python-paste-deploy python-paste-script
git-core python python-devel python-lxml python-imaging
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.
Instalamos PostgreSQL
apt-get install postgresql postgresql-client python-psycopg2
Al instalar el software nos creará un usuario llamado postgres, con el cual tendremos que operar.
Ahora crearemos un nuevo usuario y una nueva base de datos:
sudo -u postgres createuser -A -D mediagoblin
Y la nueva base de datos:
sudo -u postgres createdb -E UNICODE -O mediagoblin mediagoblin
En la siguiente imagen podemos ver la base de datos creada:
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:
adduser --system mediagoblin
Como es un usuario del sistema y no tiene asignada ninguna contraseña, para acceder al usuario:
sudo -u mediagoblin /bin/bash
Los comandos en la consola quedarían de la siguiente manera:
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.
sudo mkdir -p /srv/mediagoblin.localhost.local && sudo chown -hR
mediagoblin: /srv/mediagoblin.localhost.local
Accedemos al directorio creado:
cd /srv/mediagoblin.localhost.local
La imagen en la consola será parecida a la siguiente:
Ahora clonamos el repositorio mediante git
git clone git://gitorious.org/mediagoblin/mediagoblin.git
cd mediagoblin
git submodule init && git submodule update
Y desempaquetamos virtualenv
(virtualenv --python=python2 --system-site-packages . || virtualenv
--python=python2 .) && ./bin/python setup.py develop
Implementamos FastCGI
./bin/easy_install flup
Parece ser que a veces la descarga no funciona bien, si eso pasa podemos probar con el siguiente comando:
./bin/easy_install https://pypi.python.org/pypi/flup/1.0.3.dev-20110405
Es recomendable que vayamos actualizando de git el producto:
git submodule update && ./bin/python setup.py develop --upgrade
&& ./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.
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:
sql_engine = postgresql:///mediagoblin
Actualizaremos la base de datos con:
./bin/gmg dbupdate
Una vez finalizada ésta parte, probaremos que la configuración sea correcta, arrancando el servidor:
./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.
Si vamos a iniciar sesión veremos la siguiente pantalla:
¡IMPORTANTE!
Ahora mismo no tenemos ningún usuario creado, así que vamos a crearlos.
cd /srv/mediagoblin.localhost.local/mediagoblin/
./bin/gmg adduser
Y así ya podemos entrar en la interfaz de usuario:
A modo de prueba voy a añadir una colección:
Y nos quedará la siguiente ventana:
Si le añadimos algo de «chicha» el aspecto es el siguiente:
Espero 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
Muy buen aporte, muchas gracias, ya estoy instalándolo a ver como esta.
Gracias por visitar la web! Ya me contarás a ver que te parece : )
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.
Hola!
Eso es debido a que git usa el puerto 9418 debes comprobar que esté abierto en el firewall.
Ya me dices.
Ese puerto no lo puedo abrir, navego a través de un proxy. Lo que no entiendo es que lo estoy descargando por https ‘git clone https://gitorious.org/mediagoblin/mediagoblin.git‘ y empieza a bajar pero siempre se detiene en ‘Compressing objects: 100% (13070/13070), done.’ También me dio error al bajarlo por la web.
Hola,
Puedes descargar la carpeta comprimida desde aquí:
http://ochobits.owncloud.arvixe.com/public.php?service=files&t=e5546d13c409c94bd3b6220587d24a09
El enlace es provisional, así que avisame cuando ya lo tengas descargado.
Muchas gracias hermano, pero es muy grande para mi, no lo voy a poder descargar, mi navegación es muy lenta.
Otra posibilidad es descargarlo en una red sin proxy o que por no menos no tenga cerrado el puerto usado por git.
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
Buenas! Gracias por visitar la web.
En el siguiente enlace puedes obtener la información que necesitas:
https://mediagoblin.readthedocs.org/en/v0.3.3/siteadmin/production-deployments.html
Saludos!
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?
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!
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!
Buenas! Probaste esta instalación en debian 9?
Hola,
No, no lo he probado en esa versión. Desde que escribí el artículo ya han pasado cuatro años.. Quizás más adelante le dedico algo de tiempo.
Saludos