Mise à jour FREENAS 11.2 : Réinstaller minidlna

Bon en avant dans les versions de FreeNAS ! Et dans la mise à jour du site après 4 ans d’inactivité.

Tous mes tutos précédents sont basé sur FreeNAS 9.3, je suis en effet resté longtemps sur FreeNAS 9, préférant différer les montées de version majeures. Bien m’en a pris car FreeNAS 10 (FreeNAS Coral) a été un échec retentissant et les début de la nouvelle interface de la version 11 ont été un peu difficile.

Maintenant que tout cela est un peu mûr je me suis décidé et suis passé sur le train de mise à jour FreeNAS 11.2. Précisément 11.2-U4 à l’heure où j’écris ces lignes.

Changement du système de jails et plugins

Quelques changements majeurs pour cette version : outre l’interface plutôt réussie, l’équipe est lancée dans une profonde réécriture du middleware, de l’API, bref de tout ce qu’il y a sous le capot. En pratique la philosophie d’utilisation et les grandes lignes (ZFS, les partages, les services, …) sont toujours là et s’utilisent de la même façon, vous ne serez pas complètement perdu avec les anciens tutos.

Par contre le système de plugins et de jails à changé. Initialement basé sur le moteur de jail « warden », l’équipe a choisit de migrer vers « iocage ». Ce qui signifie que toutes les anciennes jails et plugin ne peuvent plus être gérés depuis la nouvelle interface. Ils fonctionnent toujours mais sont gérés depuis l’ancienne interface uniquement, seulement pour le management, impossible d’en créer de nouveau à l’ancien format.

Pour me mettre au gout du jour j’ai donc opté pour une recréation de ma jail contenant minidlna.

Consultez donc cette page pour voir ou revoir toute la théorie concernant les jails et les plugins.

Choix du pool hébergeant les jails

Pour commencer le nouveau système de jails iocage a besoin de savoir où il va poser ses valises, car le monsieur va prendre ses aises et créer 1 dataset « iocage » contenant lui même 6 datasets différents pour ses besoins avant même d’avoir fait une jail.

Il faut donc lui indiquer sur quel pool faire ça.

Rendez vous dans la partie Jails

Sélection du pool pour héberger les jails

Cliquez alors sur Config puis choisir le pool qui abritera tout ça. Pour ma part c’est un pool nommé « Plugin » que j’ai créé sur un petit disque seul de récup.

Sélection du pool pour héberger les jails

Pour ma part il avait déjà sélectionné un pool au moment de la mise à jour, bien sûr cela ne me convenait pas, j’ai dû modifier pour mettre mon pool Plugins mais il m’a ensuite fallu supprimer manuellement depuis la partie Storage -> Pools les datasets créés pour iocage.

Création de la jail

On crée ensuite la nouvelle jail pour minidlna en cliquant sur le bouton Add. Dans la jolie fenêtre qui s’ouvre on rempli le nom et on choisi la version du système que l’on souhaite pour notre jail, à priori pour l’instant il y a seulement 11.2 dans notre menu

Création d’une nouvelle jail

Pour poursuivre on clique sur Next. Pas besoin des options avancées à priori. On passe à la configuration du réseau. Cette partie varie selon votre organisation de réseau local. La jail est comme une machine indépendante, elle va avoir une carte réseau virtuelle et une IP dédiée.

J’ai choisi ici de lui donner une IP fixe, vous pouvez simplement cocher DHCP Autoconfigure IPv4 pour du DHCP. Pour l’IP fixe, on coche VNET puis VNET0 pour le choix de l’interface. Les IP sont remplies selon votre config propre.

Configuration du réseau dans la jail

Rappel le masque 24 du sous-réseau correspond à 255.255.255.0.

Pas besoin d’IPv6 pour y accéder sur le réseau local, on laisse vide et on clique sur Next. Puis encore Next après avoir vérifié. Le téléchargement de l’image système 11.2 débute si c’est votre première jail, la création est donc un peu plus longue que par la suite.

Point de montage des médias

La jail est créée, elle est totalement isolée du reste du système, il faut lui donner accès au dataset contenant les médias à diffuser, ce que l’on fait un ajoutant un point de montage. Dans la liste des jails, un clic à droite de la ligne sur les 3 points verticaux puis Mount points ouvre la fenêtre des points de montage.

Actions -> Add Mount Point pour en créer un nouveau. Puis en cliquant sur les dossiers on navigue dans l’arborescence pour choisir le dossier contenant les médias à diffuser : /mnt/Tank/Medias pour moi et là ou le monter : le plus simple est de selectionner le dossier media dans la jail. Le chemin complet dans mon cas est donc /mnt/Plugins/iocage/jails/Minidlna/root/media

Point de montage du dossier des médias

Un clic sur Save pour valider bien sûr.

Démarrage de la jail

De retour dans la liste des jails, on reclique sur les 3 points à droite de celle qui nous intéresse puis Edit pour aller cocher la case Auto-start dans les propriétés basique, cela permettra à la jail de démarrer en même temps que le NAS. On descend tout en bas pour faire Save bien sûr.

Cette fois on la démarre : à nouveau sur les 3 points et Start.

Le status passe à up dans la liste, la jail est lancée ! Par contre c’est un système vide pour l’instant, elle n’a de minidlna que le nom !

Shell dans la jail

Pour la suite nous avons besoin d’un terminal dans la jail, ça peut se faire depuis un client SSH quel qu’il soit ou depuis l’interface avec Shell en bas dans le menu. Je n’ai pas trop l’habitude d’utiliser par l’interface alors on va tester ensemble la nouvelle version:

Pour accéder à une console dans une jail c’est encore plus simple qu’avant, une seule commande :

iocage console [nom de la jail]

Sans les crochets bien sûr :

Installation de minidlna

Une commande simple à taper :

pkg install minidlna

On nous demande alors de commencer à installer le gestionnaire de paquet, on valide par « y » puis une seconde fois pour valider l’installation des dépendances.

Reste ensuite à configurer minidlna, tout se fait dans le fichier /usr/local/etc/minidlna.conf. On l’édite donc, avec l’éditeur ee par exemple :

ee /usr/local/etc/minidlna.conf

Puis on descend et on change les options comme ceci, en enlevant bien le # en début de ligne si on personnalise une option commentée :

La première option indique le dossier contenant les médias, donc la cible de notre point de montage. La seconde est le nom du serveur affiché sur vos clients.

L’intervalle de notification de 30s permet à la freebox player d’afficher rapidement le serveur après un redémarrage, du coup il faut attendre dans le pire des cas 30 secondes après être allé dans l’option « Mes Disques » sur la freeebox Revolution. Enfin la dernière option est purement un gout personnel.

Pour sauvegarder dans ee c’est Echap puis 2 fois Entrée

Je sens que vous brûler d’essayer pour voir si ça marche ! Alors on lance un essai :

service minidlna onestart

Vous êtes gratifié d’un magnifique « Starting minidlna. » ? Alors il n’y a plus qu’à aller voir sur votre client favori pour tester ça. Si vous ne voyez aucun fichier, il y a fort à parier qu’il y ait un problème de droits sur votre dossier : mettez des droits de lecture et exécution pour « Autres » sur votre dataset Medias.

Rendre le démarrage persistant

La dernière étape est de rendre le démarrage de minidlna automatique lorsque la jail démarre, la jail démarre déjà automatiquement elle. rc.conf est le fichier qui gère les services à démarrer à la mise en route du système, il suffit d’y ajouter la ligne minidlna_enable= »YES » :

Toujours dans le shell et dans la jail on tape :

echo minidlna_enable= »YES » >> /etc/rc.conf

Et enfin, nous allons juste modifier la commande de lancement de minidlna pour forcer un rescan de la liste des fichiers au redémarrage, ceci se passe dans un fichier situé sous /usr/local/etc/rc.d donc on fait :

ee /usr/local/etc/rc.d/minidlna

on descend à la ligne 25 et on ajoute l’option « -R » aux arguments, ce qui va donner ça (n’oubliez pas l’espace entre -R et -P):

On presse Echap, puis deux fois Entrée pour valider les changements et on quitte la jail et le shell en tapant 2 fois « exit ».

Enfin pour confirmer que tout démarre bien on stoppe la jail depuis le désormais célèbre menu à 3 petits points et on la relance. Et voilà !


Vous avez aimé ? N'hésitez pas à partager :
Facebook Twitter Google+ Mail

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *