Installer et configurer MiniDLNA sous Debian

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, et plus récemment les Raspberry Pi, rassemble pour moi toutes ces qualités. Voici comment l’installer et le configurer sous Debian (la configuration est pratiquement la même avec une autre distribution Linux, pas de panique).

Installation

Les commandes suivantes partiront du principe que vous êtes un simple utilisateur sur la machine, avec sudo installé et les permissions accordées à votre utilisateur. Si vous utilisez le compte root, retirez simplement sudo des commandes.

MiniDLNA est présent dans les dépôts depuis Debian Wheezy, L'installation est donc d'une simplicité désarmante :

$ sudo apt update && sudo apt install -y minidlna

Configuration

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 peut se servir de nano :

sudo 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:

 sudo service 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 :

$ sudo sysctl fs.inotify.max_user_watches=100000

Si vous voulez que la modification soit permanente, il faut alors créer un fichier /etc/sysctl.conf.d/10-inotify.conf, en y ajoutant cette ligne à la fin :

fs.inotify.max_user_watches = 100000

Alternativement, on peut créer directement le fichier, et lancer sysctl pour relire la configuration et activer les changements :

$ sudo sysctl -p

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

$ sudo service 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:

$ sudo /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.