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
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.
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
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.
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
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 :
media_dir=/media
friendly_name=Medias NAS
notify_interval=30
root_container=B
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):
command_args= "-R -P $pidfile -u $minidlna_uid -f /usr/local/etc/minidlna.conf"
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à !
Merci beaucoup, c’est exactement la notice que je souhaitais pour cet été. Notice très clair me permettant de lire toutes mes vidéos sur le player de chez Free. Travail impeccable.
Bonjour
Et grand merci pour cette actualisation du tuto.
Je m’apprête à faire une « fresh install » avec la nouvelle version.
Problème : depuis, j’ai passé ma freebox en mode bridge avec une DMZ redirigée vers mon routeur. La tv est restée sur le réseau de la freebox. En gros, j’ai 2 réseaux 🙂
Seulement, est-ce que la nouvelle méthode d’installation de minidlna fonctionnera avec ma configuration ?
Bonjour,
Après avoir tapé :
ee /usr/local/etc/rc.d/minidlna
Rien ne produit (curseur à la ligne) et l’édition que vous montrez n’apparaît pas ?
Que faut-il faire ?
Merci pour votre réponse
Freenas en version 11.3 r5
Salut,
Merci beaucoup pour ce tuto qui m’a bien servi. J’ai remis mon Freenas à jour (11.3) ; ton tuto fonctionne (le bouton «Config» de la Jail n’existe plus et est remplacé par une roue dentée sur la nouvelle version). Petit détail qui m’a gêné :
le bout de code :
` echo minidlna_enable= »YES » >> /etc/rc.conf ` serait à remplacer par ` echo minidlna_enable= « YES » >> /etc/rc.conf `. C’est le codage html je suppose qui a transformé les guillemets.
J’aime ton style et ce que tu fais. Surtout continue. Cya
merci beaucoup pour le travail ,ça ma beaucoup aidé pour la mise l’installation. je suis sous freenas 11.3 et le chapitre rendre le démarrage persistant ne fonctionne pas a priori sur cette version.
merci encore, si jamais tu pouvais m’aider a gerer cette dernière, je suis preneur. bravo!!!
Je suis très heureux de tes explications. Je certifie que ceci fonctionne sur truenas 13.
La meilleure alternative à Plex et à Emby.