Installation de Volumio 3 et Pihole 5

Hier, j’ai donc installé Volumio 3, qui a le mérite de tourner enfin sous une version Raspbian v10 « buster » supportée, alors que Volumio 2 était toujours sous la v8 Jessie, ce qui avait énormément compliqué l’installation de Pihole sur la même machine (voir cet article).

Volumio 2 propose bien de mettre le système à jour, mais cette opération a échoué, et j’ai fini par repartir de l’image disque de Volumio 3 (mais vu que la mise à jour effaçait tout, cela ne changeait pas grand chose). Puis j’ai installé la dernière version de Pi-hole (v5.10) qui a été cette fois beaucoup plus simple à faire. J’ai juste rencontré un conflit entre Pi-hole et le hotspot de Volumio, vite réglé.

Tout est désormais opérationnel, et c’est une bonne chose de faite. Pi-hole m’est vraiment devenu indispensable, avoir son propre serveur DNS est bien utile de nos jours. Quant à Volumio, je ne l’installe que pour éviter d’avoir à configurer moi-même le daemon mpd et la carte DAC HifiBerry Plus sur un OS Raspbian brut. Une fois ceci fait, je n’utilise aucune application ou fonctionnalité de Volumio, mais des applis qui se connectent directement au daemon mpd.

Revoyons tout cela pas à pas…

SSH keys

Tout a commencé par un problème de « SSH keys », le login automatique ne fonctionnait plus entre mon PC et le Raspberry où tournait Volumio 2. Avec pour conséquence de ne plus pouvoir synchroniser ma musique avec le PC de manière automatique (mon PC est la source de ma musique, et je la synchronise sur le disque USB de mon Raspberry).

En regardant de plus près grâce à cette page, le message d’erreur était :

debug1: send_pubkey_test: no mutual signature algorithm

Un peu de recherche et il apparaissait vite que le problème venait de la version « Jessie » de Volumio 2 qui devenait vraiment trop ancienne. Il était temps de changer ! Or un rapide tour du côté de Volumio m’apprenait que Volumio 3 disponible depuis quelques mois tournait sous Debian Buster ! Parfait !

Mise à jour

Cerise sur le gâteau, la web interface de Volumio me proposait carrément de faire la mise à jour vers cette nouvelle version.

Mise à jour disponible vers la v3 !

Bon, sérieusement, quand on vous dit que toute votre config va être perdue, et qu’il est même recommandé de débrancher le disque USB car il pourrait être effacé lors de l’opération… Je ne sais pas si on peut vraiment parler de « mise à jour » ! 😉

Mais bon, ça a tout de même le mérite de simplifier l’opération, alors allons-y (après avoir débrancher le disque USB où se trouve toute ma musique !). Et ma foi, ça démarre plutôt bien :

Jusque là, tout va bien…

Hélas, si l’opération va jusqu’à son terme sans erreur, le système ne redémarrera jamais. Il est temps de passer au plan B : récupérer l’image disque pour mon Raspberry, et flasher l’image moi-même.

L’image disque

Je récupère donc l’image de Volumio 3 sur cette page. Une fois le fichier dézippé, j’obtiens une image disque au format .img. Reste donc à flasher cette image sur la carte micro-SD de mon Raspberry.

Or depuis que je suis sous Debian, je n’ai pas réinstallé Balena Etcher (même si j’aime bien se soft) car il y a des dépendances, une repository à installer, et j’essaie de garder mon système Debian le plus « clean » possible. J’allais donc utiliser une bonne vieille commande dd lorsque je me suis aperçu que l’utilitaire disque de Gnome me permettait de le faire ! 😎

L’utilitaire Disques de Gnome permet de restaurer une image disque. Cool !

Il suffit alors d’aller chercher le fichier Volumio-3.251-2022-03-31-pi.img précédemment dézippé, puis de lancer l’opération. Une fois ceci fait, il ne reste plus qu’à insérer la microSD dans le Raspberry et de démarrer.

Au passage, bravo à Gnome, c’est du beau boulot, et j’apprécie chaque jour davantage d’utiliser cet environnement de bureau, beau et fonctionnel.

On procède ensuite comme pour une première installation de Volumio. soit on passe par le Hotspot wifi, soit si on a un câble Ethernet par la WebUI à l’adresse http://volumio.local (voir la doc ici). Puis on répond aux deux ou trois questions pour finaliser l’installation. Bonne nouvelle : mon HiFiBerry DAC+ Pro est cette fois proposé (ce qui n’était pas le cas avec Volumio 2) :

Reste à activer le SSH en allant sur la page http://volumio.local/DEV. Puis se connecter, et monter le disque USB dans /etc/fstab sur /media/Music :

volumio@volumio:~$ cat /etc/fstab | grep sda1
/dev/sda1	/media/Music	    ext4    defaults,rw 

On peut enfin, dans l’interface de Volumio, aller dans Réglages – Sources puis choisir « Scanner à nouveau ». La bibliothèque musicale se construit alors, et il est recommandé de ne pas écouter de musique pendant cette opération.

Volumio est désormais opérationnel !

Pi-hole

Avec Volumio 2, l’installation de Pi-hole s’était révélée plutôt coriace (voir ici), mais cette fois, sur un OS supporté, tout s’est à peu près bien passé.

Comme recommandé, j’ai d’abord assigné des adresses IP fixes au Raspberry. Je suis allé modifier le fichier /etc/dscpcd.conf pour y indiquer les adresses souhaitées pour eth0 et wlan0 :

# static IP configuration :
interface eth0
static ip_address=192.168.1.18/24
static routers=192.168.1.1
static domain_name_servers=1.1.1.1 8.8.8.8 fd51:42f8:caae:d92e::1

interface wlan0
static ip_address=192.168.1.17/24
static routers=192.168.1.1
static domain_name_servers=1.1.1.1 8.8.8.8 fd51:42f8:caae:d92e::1

Uns fois ceci fait et le système redémarré, j’ai lancé le script d’installation de Pi-hole :

volumio@volumio:~$ curl -sSL https://install.pi-hole.net | bash

On répond aux quelques questions, et l’installation se déroule sans accrocs, la dernière fenêtre vous informe du mot de passe pour accéder à la page d’administration :

Ne pas oublier de noter le mot de passe !

S’il faut relancer le setup pour une raison ou pour une autre, la commande est :

volumio@volumio:~$ sudo pihole -r

Il reste une chose importante à faire, c’est de modifier le port utilisé par lighttpd (le web serveur de pihole) puisque nous avons Volumio qui occupe le port par défaut (80). Il faut donc éditer le fichier /etc/lighttpd/lighttpd.conf et modifier les lignes suivantes :

server.errorlog             = "/tmp/lighttpd_error.log"
server.port                 = 8080
accesslog.filename          = "/tmp/lighttpd_access.log"

En fait, pour les logs, je ne suis pas certain qu’il faille les modifier, mais j’ai fait comme lors de l’installation précédente.

Normalement, tout est alors terminé, mais hélas, lorsque je rends sur l’interface, je vois que Pi-hole ne fonctionne pas :

The FTL service is offline!

The FTL service is offline!

Le service pihole-FTL est donc indiqué offline. Regardons l’état du service en question :

$ sudo systemctl status pihole-FTL
● pihole-FTL.service - LSB: pihole-FTL daemon
   Loaded: loaded (/etc/init.d/pihole-FTL; generated)
   Active: active (exited) since Sun 2022-04-24 15:20:46 UTC; 3min 43s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 597 ExecStart=/etc/init.d/pihole-FTL start (code=exited, status=0/SUCCESS)

Apr 24 15:20:44 volumio systemd[1]: Starting LSB: pihole-FTL daemon...
Apr 24 15:20:44 volumio pihole-FTL[597]: Not running
Apr 24 15:20:44 volumio su[633]: (to pihole) root on none
Apr 24 15:20:44 volumio su[633]: pam_unix(su:session): session opened for user pihole by (uid=0)
Apr 24 15:20:46 volumio pihole-FTL[597]: dnsmasq: illegal repeated keyword at line 15 of /etc/dnsmasq.d/hotspot.conf
Apr 24 15:20:46 volumio systemd[1]: Started LSB: pihole-FTL daemon.

On voit qu’il y a un problème avec le fichier /etc/dnsmasq.d/hotspot.conf. Que contient ce fichier ?

volumio@volumio:~$ cat /etc/dnsmasq.d/hotspot.conf 
# dnsmasq hotspot configuration for Volumio
# Only listen on wifi interface
interface=wlan0
# Always return 192.168.211.1 for any query not answered from /etc/hosts or DHCP and not sent to an upstream nameserver
address=/#/192.168.211.1
# DHCP server not active on wired lan interface
no-dhcp-interface=eth0
# IPv4 address range, netmask and lease time
dhcp-range=192.168.211.100,192.168.211.200,255.255.255.0,24h
# DNS server
dhcp-option=option:dns-server,192.168.211.1
expand-hosts
domain=local
# Facility to which dnsmasq will send syslog entries
log-facility=local7

Il s’agit donc d’un fichier créé par Volumio et la configuration de son hotspot. Or ce hotspot n’est pas vraiment utile une fois l’installation terminée. C’est confirmé par la documentation ici. Je l’ai d’ailleurs dévalidé dans les settings réseau :

Le Hotspot est Off

Je peux donc en toute tranquillité mettre en commentaire toutes les lignes de ce fichier hotspot.conf. Je fais cela pour éviter de l’effacer, je pourrais en avoir besoin en cas de problème avec Volumio (si mon wifi était indisponible). Et comme chaque fichier présent dans ce dossier /etc/dnsmasq.d est lu et interprété, il ne suffit pas de le renommer.

Une fois ceci fait, il ne reste qu’à relancer le service pihole-FTL :

$ sudo systemctl restart pihole-FTL

On recharge l’interface web de Pi-hole et voilà, tout est fonctionnel ! 😎

Pi-hole is active !

Voilà, reste à configurer le serveur DHCP comme expliqué sur cet article, vu que j’ai toujours une box orange.

Ads liste

Concernant la liste des sites à bloquer, s’il y en a une d’installée par défaut, j’ai préféré en rajouter d’autres, que j’ai tiré de cet article. On va dans Group ManagementAdlists, et y colle la liste de sites fournis. Voilà le fichier au cas où la page disparaîtrait (c’est ce qui s’est passé avec l’installation précédente de Pi-hole !) :

Reste à mettre à jour la base de données :

$ sudo pihole -g

Et voilà, je suis bien protégé contre les pubs :

285113 domaines uniques !

En procédant ainsi, je devrais certainement être attentif lorsque je n’arrive pas à accéder à un site : aller voir le Query Log de Pihoel et éventuellement ajouter à la white list les domaines bloqués… mais en toute connaissance de cause, et ce n’est pas un détail.

Conclusion

C’est bien que Volumio fournisse une version qui tourne sur un OS supporté ! Cela m’a permis de régler le problème de clefs SSH, l’écart entre mon PC sous Debian 12 et le Raspberry sous Debian 8 commençait à poser des problèmes !

Du coup, j’ai été amené à réinstaller la dernière version de Pi-hole. Je suis passé de la version 5.2.2 à la version 5.10 :

Avant…
Après !

Concernant le support, cette configuration n’est pas vraiment supportée : Volumio fournit une image disque, c’est pour être le seul soft à tourner. Et quand vous allez sur les forums Pi-hole, on vous dit que « Volumio OS » n’est pas supporté ! (alors que Debian 10 oui !). On vous conseille même d’utiliser un Raspberry pour chaque soft !! Exactement ce que je ne veux pas faire, mon but étant d’optimiser l’utilisation du Raspberry, pas de les multiplier.

Il faudrait que je tente un jour d’installer un Rapbian pur et dur, puis de configurer le dameon mpd manuellement pour ma musique. Et ensuite installer Pi-hole. Ce serait plus propre.

Mais bon, tout fonctionne très bien comme ça, alors j’en profite ! 😎

Laisser un commentaire

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