Servidor de música ampache + openLDAP + extensiones …

14 03 2010

Este servicio se centra en proveer a sus usuarios de una manera para comunicarse a un servidor que brinde la posibilidad de escuchar archivos de audio ya sea música o voz desde las estaciones de trabajo.  El servicio permite hacer streaming utilizando interfaces conocidas que no sólo permiten escuchar música desde navegadores preestablecidos, sino que además permite extender esta funcionalidad.  Es reconocido además por su integración con los reproductores más usados por parte de la comunidad así como por su fácil configuración y mantenimiento.

# apt-get install ampache mysql

Una vez instalado debemos configurarlo. Debemos para ello acceder a http://localhost/ampache de la máquina donde se instaló. Entre sus pasos más notable se encuentran los datos del servidor mysql que utilizaremos. Debemos cerciorarnos que tenemos acceso de administración para mysql. Una vez que tengamos el sistema listo pasamos a configurarlo para poder utilizarlo desde un cliente. Existen alternativas en cuanto a la forma que utilizaremos este servicio. Se puede emplear directamente desde su interfaz web y mediante el stream desde un cliente. Para comenzar agregaremos a los usuarios que nos interesa que accedan al servicio. Nos podemos para esto auxiliar de la misma interfaz web en la sección User Tools de la interfaz web. Mostraremos aquí además cómo agregar a un grupo de usuarios definidos en un directorio de usuarios definido anteriormente, en este caso openldap. Editaremos el archivo config/ampache.cfg.php ubicado en la ruta del sitio en el sistema. Debemos tener las siguientes directivas fijadas:

auth_methods = "mysql,ldap"
;#########################################################
; LDAP login info (optional)                             #
;#########################################################

auto_create = "true"
ldap_filter = "uid"
ldap_objectclass = "organizationalPerson"
ldap_username = "xxxx"
ldap_password = "yyyy"
ldap_search_dn = "ou=A,dc=a,dc=b,dc=c"
ldap_url = "mmm.mmm.mmm.mmm"
ldap_name_field  = "cn"

Algunos campos deben ser sustituidos por los valores que emplearemos en nuestra configuración. Lo primero a notar es auth_methods que debe contener la directiva ldap. Los atributos ldap_filter, ldap_objectclass, ldap_search_dn, ldap_name_field y ldap_url dependen de cómo esté organizado el directorio que utilicemos. Los campos ldap_username y ldap_password los emplearemos sólo si para acceder al directorio se necesita de un usuario específico, en muchos casos no es necesaria esta configuración.

Una vez que tengamos esto pasaremos a la declaración de las subredes que podrán acceder al servidor. En nuestro entorno por razones de ancho de banda, es aconsejable restringir el servicio solamente a las máquinas de los laboratorios. Para ello debemos modificar las ACL’s del servicio.

A través de la interfaz web pasamos a la sección Admin/Access Control y seleccionamos la opción “Add ACL”. Debemos especificar los siguientes datos.

Name:  	 // Nombre de la regla
Start IP Address: 	(255.255.255.255)
End IP Address: 	(255.255.255.255)
User: 	 // Usuarios que accederán
Level: 	 // Permisos
ACL Type: 	// Tipo de acceso
Remote Key: 	// Clave de acceso

Los que más apremian son los rangos de ip para la subred donde nos encontremos por ejemplo: 10.7.21.0 – 10.7.21.255, los usuarios que pueden acceder, su nivel de acceso y la llave o clave de acceso.

Con esto configurado debemos asegurarnos por último que en el archivo de configuración del servidor esté habilitado un atributo determinado:

config/ampache.cfg.php

access_control = "true"

Si al habilitar este parámetros obtenemos algún error para acceder a la interfaz web se debe a que está mal configurado la regla de acceso para donde estamos accediendo.

El último paso sería ya configurar el catálogo musical que disponemos. Para hacerlo pasamos a Admin/Catalogs y creamos uno nuevo. Los parámetros esenciales son:

Catalog Name:
Path:
Catalog Type:

Cliente

Ya en el cliente podemos acceder de varias formas. Aquí expondremos solamente cómo conectarnos desde algún cliente de escritorio. El servidor exporta una interfaz llamada RPC-XML que permite la conexión de un reproductor independiente de la aplicación que almacena los archivos de audio. Este enlace nos permite desde nuestro reproductor preferido ( siempre que implemente esta funcionalidad ) escuchar música a distancia. Primeramente para conectarnos debemos asegurar que existan dos reglas ACL en el servidor para la subred donde nos encontramos, una para hacer stream y otra para rpc o que permita conexiones rpc. Sin ellas no podremos hacer la conexión.

Entre los reproductores que permiten integrarse con el servidor se encuentran el Amarok 2.0 y el Rhythmbox mediante una extensión.

Rhythmbox

Para instalar el plugin de Rhythmbox lo podemos descargar desde : rb-ampache-003.tar.gz

Este paquete se debe descompactar en $HOME/.gnome2/rhythmbox/plugins. Luego una vez que arranquemos el rhythmbox, en la sección de Edit/Plugins pasaremos a configurar el plugin del Ampache. Debemos especificar para ello la misma información de autenticación que especificamos en los ACL’s del servidor:

Server URL: http://10.7.25.200/music/server/xml.server.php
Username: xxxxx
Password (Key): yyyy
Con estos datos ya nos podremos conectar. Buscamos en el listado de extensiones a la izquierda del reproductor una sección llamada Ampache. Al pinchar sobre ella comenzará a descargar el listado.