Logitech Media Server sur Rapsberry Pi 5 avec carte Hifiberry DAC+
Logitech Media Server (aussi appelé Squeezebox Server, SlimServer ou LMS), est un logiciel de streaming audio. Il peut streamer de l'audio vers un périphérique (carte son) grâce au logiciel SqueezeLite ou à distance vers un logiciel comme SqueezeSoft. Il permet de gérer votre collection de musique en récupérant automatiquement les informations des chansons grâce aux tags ainsi que les jaquettes.
On va voir ici comment installer LMS, SqueezeLite et comment configurer Apache pour accéder à l'interface web.
===== Installation =====Installez le paquet libio-socket-ssl-perl :
sudo aptitude install libio-socket-ssl-perl libcrypt-openssl-rsa-perl
Récupérez le fichier deb de LMS à cette adresse puis installez LMS avec la commande suivante :
sudo dpkg -i logitechmediaserver_XXX.deb
Pour SqueezeLite, il est présent dans les dépôt. Pour l'installer, tapez la commande suivante :
sudo aptitude install squeezelite
Configuration du pilote
Ouvrez le fichier /boot/config.txt. Modifiez la ligne
dtparam=audio=on
par
#dtparam=audio=on
Ajoutez les lignes :
dtoverlay=hifiberry-dacplus,slave force_eeprom_read=0
Redémarrez le raspberry et lancez la commande
aplay -l
, la carte dac+ devrait apparaître dans la liste.
Configuration Squeezelite
Ouvrez le fichier /etc/default/squeezelite et modifiez le comme suit en modifiant le SL_NAME :
# Defaults for squeezelite initscript # sourced by /etc/init.d/squeezelite # installed at /etc/default/squeezelite by the maintainer scripts # The name for the squeezelite player: SL_NAME="nom visible sur LMS" # ALSA output device: #SL_SOUNDCARD="default:CARD=Set" SL_SOUNDCARD="sysdefault:CARD=sndrpihifiberry" # Squeezebox server (Logitech Media Server): # Uncomment the next line if you want to point squeezelite at the IP address of # your squeezebox server. This is usually unnecessary as the server is # automatically discovered. #SB_SERVER_IP="192.168.x.y" # Additional options to pass to squeezelite: # Please do not include -z to make squeezelite daemonise itself. #SB_EXTRA_ARGS=""
Configuration Apache
Pour accéder à l'interface web de LMS, nous allons avoir besoin de Apache. Créer un fichier de configuration pour le sous-domaine qui accèdera à LMS, logitech.exemple.fr dans ce tuto, et collez-y les lignes suivantes :
<VirtualHost *:80> ServerName logitech.exemple.fr Redirect / https://logitech.exemple.fr/ </VirtualHost> <VirtualHost *:443> ServerName logitech.exemple.fr LogLevel warn CustomLog ${APACHE_LOG_DIR}/logitech.access.log combined ErrorLog ${APACHE_LOG_DIR}/logitech.error.log SSLEngine on SSLCertificateFile /etc/letsencrypt/live/exemple.fr/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/exemple.fr/privkey.pem Header set Content-Security-Policy "script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; connect-src 'self'; media-src 'self'; child-src 'self'; object-src 'self'; form-action 'self'; img-src 'self' * data:" ProxyPass / http://localhost:9000/ <Location /> ProxyPassReverse http://localhost:9000/ Require all granted </Location> </VirtualHost>
Remplacez le nom du domaine par le votre puis activez ce fichier de configuration :
sudo a2ensite logitech.exemple.fr
Puis rechargez la configuration de Apache :
sudo systemctl reload apache2.service
Parefeu
Vous n'avez besoin d'ouvrir que 2 ports pour le fonctionnement de LMS : les port 9000 et 9090. Lancez les commandes suivantes pour les ouvrir :
sudo ufw allow 9000 #Squeezebox sudo ufw allow 9090 #Squeezebox
Vous pouvez maintenant accéder à l'interface web de LMS à l'adresse logitech.exemple.fr
Si vous voulez également accéder à distance à LMS pour écouter votre musique sur votre smartphone ou un PC distant, il vous faudra également ouvrir le port 3483 :
sudo ufw allow 3483 #Squeezebox