Installer et configurer MiniDLNA sous Debian Squeeze

De HomeServer.DIY.
Aller à : Navigation, rechercher

Sommaire

Introduction

L’accès aux contenus multimédias sur un réseau local est relativement simple lorsque le client est compatible avec le protocole Samba. Mais depuis l’arrivée des smartphones, tablettes, et autres TV connectées, il serait dommage de se priver d’un autre protocole: l’UPNP. Il existe divers serveurs upnp sous Linux. Mediatomb, uShare, Gmediaserver, chacun ayant ses qualités et ses défauts.

Pour ma part, à la recherche d’un serveur simple, efficace et peu gourmand, je me suis tourné vers miniDLNA. Ce serveur, bien connu des utilisateurs de petites machines ARM comme les plugcomputers ou les Seagate Dockstars, rassemble pour moi toutes ces qualités. Voici comment l’installer et le configurer sous Debian 6 (la configuration est pratiquement la même avec une autre distribution Linux).

Installation

MiniDLNA n’étant pas présent sur les dépôts de Debian Squeeze, nous allons l’installer à partir des dépôts de la version en développement Sid.

Sachez en passant que miniDLNA est à nouveau disponible dans les dépôts de base depuis debian wheezy (7). Il n'est donc plus utile de modifier le fichier sources.list depuis cette version. Vous pouvez donc passer directement à la commande aptitude update.

Commençons par ajouter les dépôts Sid à notre Debian Squeeze en éditant le fichier sources.list en console:

nano /etc/apt/sources.list

Ensuite, ajoutons à la fin du fichier les lignes suivantes:

#depots Sid
deb http://ftp.fr.debian.org/debian/ sid main contrib non-free

Faîtes « Ctrl + x » pour sauvegarder.

Mettez à jours la liste des paquets disponible avec la commande:

aptitude update

Et installez miniDLNA si vous avez modifier le fichier sources.list:

aptitude -t sid install minidlna

Sinon la commande sera:

aptitude install minidlna

Si vous avez modifier le fichier sources.list, il faut désactiver ensuite les dépôts sid. Ceci est très important car une mise à jours des autres programmes vers leur version supportée par sid risque de remettre en question le fonctionnement des divers services de votre serveur :

nano /ect/apt/sources.list

Il suffit d’effacer les 2 lignes que nous avons ajouter juste au dessus. Ensuite « Ctrl + x » pour sauvegarder à nouveau.

aptitude update

Configuration

Les versions squeeze et sid fonctionnant un peu différemment, il est nécessaire de faire un lien entre les répertoires /run et /var/run. /run n’existant pas sous squeeze. Toujours en console:

ln -s /var/run /run

Il ne reste plus qu’à configurer le serveur pour qu’il partage efficacement vos fichiers. Pour cela, il suffit de modifier le fichier minidlna.conf. Pour cela, on se sert encore de nano:

nano /etc/minidlna.conf

Le fichier, bien qu’en anglais est relativement simple à comprendre. Je ne vais vous expliquer que les options qui me semblent primordiales pour faire fonctionner le serveur.

De nombreuses lignes d’option sont commentées. C’est à dire qu’il y a un # devant afin que le serveur ne prenne pas ces options en compte. Vous avez donc le choix. Soit vous enlevez ce # devant la ligne afin que l’option soit prise en compte, soit vous ajoutez une ligne équivalente sans ce symbole afin de garder à vue la configuration initiale.

Chaque modification du fichier de configuration devra être suivie de la commande suivante afin que les changement soit pris en compte:

/etc/init.d/minidlna restart

Première option à modifier, le nom qui apparaîtra sur l’interface des clients. De base, le nom n’est pas très explicite, et il vous sera surement plus agréable de lire « Mon serveur upnp » à la place.

Dans ce cas l’option à modifier est « friendly_name= »

friendly_name=Mon serveur upnp

Autre option importante, mettre en place les partages. miniDLNA permet de trier vos fichiers part type de média. Il vous suffit de préciser si ce sont des images, des vidéos, ou des fichiers audios. Chaque type étant désigner par une lettre. V pour les vidéos, P pour les images, A pour les fichiers audios. Pour partager les fichiers vidéos situés dans le répertoire /medias/films/, voici la ligne à entrer:

media_dir=V,/medias/films

Notez que le type de média n’a pas besoin d’être préciser. Si tous vos médias sont situés dans le répertoire /media/, la ligne media_dir=/medias suffira. Vous pouvez en plus choisir de séparer vos vidéos par type en mettant d’un coté les mangas et d’un autre les vidéos de famille, pour vous simplifier la navigation au sein de vos médias, plusieurs partages sont ajoutables.

Enfin, pour ne pas être obligé de lancer un scan des fichiers à chaque fois que vous en ajoutez de nouveaux, vérifiez que la ligne « inotify= » est bien réglée sur « yes ».

inotify=yes

Il arrive parfois, lorsqu'il y a un grand nombre de fichiers, que la base de données ne veuille plus se mettre à jour. Il faut alors demander au noyau d'augmenter le nombre d'entrées qu'inotify peut créer, avec la commande suivante (à taper en root) :

# sysctl fs.inotify.max_user_watches=100000

Si vous voulez que la modification soit permanente, il faut alors modifier le fichier /etc/sysctl.conf, en y ajoutant cette ligne à la fin :

fs.inotify.max_user_watches = 100000

Une fois que vous avez terminé de configurer le programme, il suffit de lancer miniDLNA :

/etc/init.d/minidlna start

Ceci fait, il faut demander à miniDLNA de scanner vos médias une première fois pour les rendre immédiatement disponibles. Il suffit de taper la commande qui va bien:

/etc/init.d/minidlna -R

Il arrive parfois que miniDLNA rencontre des soucis d’indexation des fichiers lors qu’il est confronté à des fichiers de playlist. Dans ce cas, et si comme moi vous n’avez aucune utilité de ces fichiers, il suffit de tous les supprimer, purement et simplement:

find . -name "*.m3u" -exec rm '{}' \;
find . -name "*.M3U" -exec rm '{}' \;
find . -name "*.pls" -exec rm '{}' \;
find . -name "*.PLS" -exec rm '{}' \;

Liens complémentaires

J’ai trouvé cette info sur http://www.galipe.net/articles/minidlna-serveur-upnp-dlna-leger/ , qui est d’ailleurs un blog très sympa.

Il existe aussi un module pour Webmin permettant de gérer son serveur miniDLNA. Il permet de modifier les options du fichier de configuration et de lancer un scan à partir d'une interface web. Voici un lien qui vous permet d'obtenir le fichier du module pour Webmin : https://sourceforge.net/projects/minidlnawebmin/?source=typ_redirect

Je profite de cet article pour préciser que si vous souhaitez profiter de ce genre de serveur upnp sur un client tournant sous android, l’association des applications « UPnPlay » et « MoboPlayer » fonctionne très bien.