====== 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 [[http://downloads.slimdevices.com/nightly/index.php|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 :
ServerName logitech.exemple.fr
Redirect / https://logitech.exemple.fr/
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/
ProxyPassReverse http://localhost:9000/
Require all granted
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