Wenn man im Besitz einer Squeezebox ist, braucht man einen entsprechenden Server dazu. Man kann zwar den Logitech eigenen Server im Internet nutzen, jedoch ist es dann nicht so einfach möglich eigene und nur im eigenen Netzwerk befindliche MP3s zu hören. Da der Pi sich natürlich durch den sehr stromsparenden Betrieb als Dauerläufer eignet, kommt man schnell auf die Idee diesen als Squeezebox-Server einzusetzen. Fangen wir also mit der Installation an.
Zunächst sollten wir, wie im Kapitel „Grundinstallation“ beschrieben das Betriebssystem aktualisieren. Ist das geschehen brauchen wir zunächst einige Betriebssystemmodule, dir wir mit dem folgenden Befehl installieren:
sudo apt-get install libjpeg8 libpng12-0 libgif4 libexif12 sudo apt-get install libswscale2 libavcodec5 patch
Sind die Module alle installiert, laden wir uns den Squeezebox-Server von Logitech herunter. Dazu geben wir folgende Befehle ein:
cd /tmp wget http://downloads.slimdevices.com/LogitechMediaServer_v7.7.3/logitechmediaserver_7.7.3_all.deb
Der Download dauert ein wenig, da das Softwarepaket rund 90 MB groß ist. Nach dem Download installieren wir nun wie folgt den Squeezebox-Server:
sudo dpkg -i logitechmediaserver_7.7.3_all.deb
Direkt nach der Installation wird der Squeezebox-Server gestartet. Da wir aber noch ein paar Anpassungen vornehmen müssen, stoppen wir ihn mit folgendem Befehl:
sudo service logitechmediaserver stop
Jetzt laden wir uns ein Paket mit einigen Patches für den Squeezebox-Server herunter und entpacken die Archivdatei:
wget https://c64-online.com/files/Raspberry/lms-patches.tgz tar -xzvf lms-patches.tgz
Nun können wir das Skript starten, welches die Patches installiert und einige Dateien kopiert:
./lms-patch.sh
Jetzt müssen wir noch ein paar Berechtigungen korrigieren, damit der Server funktioniert:
sudo chown -R squeezeboxserver:nogroup /usr/share/squeezeboxserver/
Nun könnten wir eigentlich den Squeezebox-Server starten. Allerdings nutzt dieser für die Daten der einzelnen Mediendateien eine SQL-Datenbank, die jetzt auf der SD-Karte liegt. Das ist für kleinere Sammlungen (bis ca. 2.000 Dateien) durchaus ok. Allerdings bei größeren Sammlungen führt das dazu, dass der Start, Suchanfragen und der Aufbau der Webseite sowie auch die Bedienung der Squeezebox erheblich verlangsamt wird. Aus diesem Grunde sollte man die Datenbank auf eine USB-Festplatte verschieben.
Ich gehe davon aus, dass eine Festplatte bereits an den Pi angeschlossen und fehlerfrei gemountet ist. Unter „Tips & Tricks“ gebe ich auf dieser Seite dazu noch ein paar Infos. In diesem Beispiel nehme ich als Pfad zur USB-Festplatte /media/hdd01 an. Diesen musst Du entsprechend Deiner Konfiguration bei den kommenden Befehlen anpassen!
sudo mkdir -p /media/hdd01/squeezebox-db sudo mv /var/lib/squeezeboxserver/cache /media/hdd01/squeezebox-db/. sudo ln -s /media/hdd01/squeezebox-db/cache /var/lib/squeezeboxserver/cache
Damit haben wir die Datenbank auf die USB-Festplatte verschoben und einen sogenannten Soft-Link von dem ursprünglichen Verzeichnis auf das Verzeichnis der Festplatte erzeugt. Der Vorteil liegt darin, dass die Konfiguration des Squeezebox-Servers nicht verändert werden muss uns im Falle eines Updates keine Probleme zu erwarten sind. Bei einer Deinstallation des Squeezebox-Servers sollte man dann allerdings den Link manuell mit dem rm-Befehl wieder entfernen.
Zum guten Schluss starten wir jetzt den Squeezebox-Server mit folgendem Befehl:
sudo service logitechmediaserver start
Damit der Server dann auch beim Booten automatisch startet könnte man in den sogenannten Runlevel-Verzeichnissen einen Link setzen. Das ergibt aber das Problem, dass der Server startet, bevor die Landeseinstellungen gesetzt sind. Dadurch wird an der Squeezebox z.B. Zeit und Datum in englisch angezeigt. Also sollten wir diesen Befehl in die /etc/rc.local setzen. Das sudo können wir dabei weglassen, da beim Booten die Datei ohnehin mit vollen Berechtigungen ausgeführt wird.
Außerdem sollte der Befehl dann als Letztes in der Datei erfolgen. Vor allem dann, wenn die Datenbank auf einer USB-Platte liegt und Du meinen Tip mit dem Mounten in der rc.local-Datei befolgt hast. Denn erst muss die Festplatte gemountet werden, bevor der Server auf die Datenbank zugreifen kann!
Der Squeezebox-Server ist nach dem Start (der dauert 1-2 Minuten) unter http://192.168.1.11:9000 erreichbar. Wobei Du natürlich die IP-Adresse mit der Deines Pi ersetzen musst.
Hallo,
erstmal vielen Dank für Deine Anleitung „Squeezebox-Server“! Damit war es ganz einfach, einen Raspberry Pi als Musikserver einzurichten.
Aber zu den Patches (lms-patches.tgz) habe ich zwei Fragen:
Wofür sind diese Patches gut? Funktioniert der LMS sonst gar nicht auf dem Raspberry? Oder bekomme ich zusätzliche Funktionen? Oder mehr Performance? Oder bestimmte Fehler nicht mehr?
Funktionieren die Patches auch mit neueren Versionen des LMS?
Vielen Dank und
schöne Grüße
Carsten
Hallo Carsten,
der Patch ist umfasst Anpassungen, damit der LMS auf dem Raspberry fehlerfrei läuft. Der Patch passt auch auf die neuere Verseion.
Scheint auch mit dem aktuellen 7.9.0-Daily-Build zu funktionieren (7.9.0 – 1416410820 @ Fri Nov 21 04:05:48 UTC 2014).
Danke nochmal!
Hallo,
ich habe bislang an zwei Stellen Probleme:
nach
pi@raspi:~# sudo apt-get install libswscale2 libavcodec5 patch
kommt
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen…. Fertig
E: Paket libswscale2 kann nicht gefunden werden.
E: Paket libavcodec5 kann nicht gefunden werden.
Wenn ich versuche, den patch runterzuladen (wget…), funktioniert es leider nicht – er wirft folgende Meldung aus:
pi@raspi:/tmp# wget http://c64-online.com/files/Raspberry/lms-patches.tgz
–2015-12-19 18:24:33– http://c64-online.com/files/Raspberry/lms-patches.tgz
Auflösen des Hostnamen »c64-online.com (c64-online.com)«… fehlgeschlagen: Der Name oder der Dienst ist nicht bekannt.
wget: kann die Host-Adresse »c64-online.com« nicht auflösen
root@raspi:/tmp# wget http://c64-online.com/files/Raspberry/lms-patches.tgz
–2015-12-19 18:25:27– http://c64-online.com/files/Raspberry/lms-patches.tgz
Auflösen des Hostnamen »c64-online.com (c64-online.com)«… fehlgeschlagen: Der Name oder der Dienst ist nicht bekannt.
wget: kann die Host-Adresse »c64-online.com« nicht auflösen
Hast Du einen Hinweis/eine Lösung?
Danke und viele Grüße
GK
Hallo,
versuche als erstes bitte einmal „sudo apt-get update“. Es könnte sein, dass Deine Paketquellen aktualisiert werden müssen.
Als zweites scheint es ein Problem mit dem verwendeten DNS-Server zu geben, so dass er „c64-online.com“ nicht auflösen kann. Evtl. ein temporäres Problem. Versuche mal bitte, die Adresse per Ping zu erreichen.
Viele Grüße
Thomas
Hm meinen Recherchen nach haben sich die Namen der Pakete libswscale2 und libavcodec5 geändert. Wer einmal auf ähnliche Probleme stößt, kann sich einfach behelfen:
apt-cache search libavcodec5
Damit sucht man im Repository nach einem Paket, das mit libavcodec5 beginnt. Es wird zwar kein Paket mit exakt diesem Namen gefunden – allerdings gibt es libavcodec56. Bei nächsten Paket, libswscale2, wird sogar erstmal gar nichts gefunden, also lässt man die 2 mal weg und sucht nach libswscale – dann findet man ein Paket mit dem Namen libswscale3.
Der Befehl zum Laden und Installieren sieht also jetzt so aus:
sudo apt-get install libswscale3 libavcodec56 patch
Damit funktioniert es einwandfrei. 🙂
Dafür habe ich jedoch Fehler erhalten, als ich die Patches auf die neueste Version 7.7.5 des Logitech Media Servers anwenden wollte:
Ich habe dann das Paket wieder deinstalliert und die Version 7.7.3 heruntergeladen, wie hier beschrieben – damit ging dann alles fehlerfrei. Trotzdem hätt ich gern die neueste verwendet… 😉
Ich habe immer ein Fehlverhalten mit dem Server. Eine Ahnung, woran es liegen kann?
pi@rasdejo:/var/log/squeezeboxserver $ tail -f server.log
2016-03-14 18:17:47 Logitech Media Server died. Restarting.
2016-03-14 18:17:52 Logitech Media Server died. Restarting.
2016-03-14 18:17:57 Logitech Media Server died. Restarting.
2016-03-14 18:18:02 Logitech Media Server died. Restarting.
2016-03-14 18:18:07 Logitech Media Server died. Restarting.
2016-03-14 18:18:12 Logitech Media Server died. Restarting.
2016-03-14 18:18:17 Logitech Media Server died. Restarting.
2016-03-14 18:18:22 Logitech Media Server died. Restarting.
2016-03-14 18:18:27 Logitech Media Server died. Restarting.
2016-03-14 18:18:32 Logitech Media Server died. Restarting.
Vielen Dank für die gute Beschreibung um den Server aus zu setzen. Hat alles soweit funktionert.
Nun habe ich aber meine Lieder auf einem NAS liegen, für einen USB Stick ist das woh zu viel.
Kann mit jemand weiter helfen, wie ich den anstelle des USB Sticks einbinde?
Hallo Claus,
das ist eigentlich kein Problem. Das NAS muss nur gemountet werden und als Medienquelle in die Konfiguration des Servers eingebunden sein. Quick and dirty: Du mountest das NAS unterhalb des USB-Stick-Verzeichnisses. Sollte man aber nicht dauerhaft so lassen, da man sich so nicht wirklich gut im Filesystem zurecht findet.
Hy zusammen
Hab den LMS installiert, Installation lief sauber durch . Pakete libswscale2 und libavcodec5 musste ich ebenfalls wie weiter oben beschrieben installieren.
Jetzt hab ich folgendes Problem: unter Ip:9000 bekomme ich die Fehlermeldung
„Firefox kann keine Verbindung zu dem Server unter 192.168.0.107:9000 aufbauen.“
Laut “ ps aux“ läuft der Prozess aber.
Hat jemand einen Tipp?
Hallo Manuel,
zeigt ein „netstat -an“ denn, dass der Port 9000 auch offen ist?
Hallo Thomas
laut netstat ist Port 9000 nicht offen.
Unter dem Pfad gibts auch keine Logfiles
/var/log/squeezebox/server.log
Hallo Manuel,
wie hast du das Problem jetzt gelöst? Komme auch nicht weiter.
Gruß
Hallo,
das Problem hatte ich auch.
Warum auch immer die Verzeichnisse für die Log-files fehlen – ohne sie startet LMS nicht:
Abhilfe:
sudo nano /etc/rc.local
dann
mkdir /var/log/squeezeboxserver/
chown squeezeboxserver /var/log/squeezeboxserver/
chmod 775 /var/log/squeezeboxserver/
vor exit 0 eingeben. Dann speichern und server restart.
Black Senator
Hallo Thomas,
ich komme noch einmal auf die Frage von Carsten vom 15. November 2014 zurück. Ich habe bisher den LMS 7.9.0 mehrfach auf verschiedenen RasbPi erfolgreich installiert. Nur stand-alone oder auch parallel auf Basis von volumio.
Weder die angegeben Betriebssystemmodule lib* noch den Patch habe ich dabei zusätzlich installiert – es lief immer auch so.
Nun gilt ja: „never touch a running system“ – ich überlege aber ob nicht damit etwas fehlt.
Also welchen Vorteil sollten die angegeben Zusatzprogramme/-ptaches bringen – bzw. was ist darin enthalten?
MfG
Black Senator
Hallo Black Senator,
fehlen tut da nichts. Der Patch ist nur notwendig, damit wer mit bestimmten OS-Versionen kompatibel wird. Wenn es bei Dir läuft, ist das so ok. Es fehlen Dir keine Funktionen.
Viele Grüße
Thomas