Community

Bitte oder Registrieren, um Beiträge und Themen zu erstellen.

Airsonic und tomcat Upgrade

Für alle, die Airsonic nicht kennen: Es handelt sich hier um einen klasse open source Musikstreaming-Server, der sich sehr leicht installieren und konfigurieren läßt. Zum Zeitpunkt der Erstellung dieses Artikels ist er auf https://airsonic.github.io/ zu finden. Der in Ubuntu 20.04 verwendete tomcat9 benötigt für den Einsatz von Airsonic weitere Konfiguration.

Lies hier weiter, welche das ist.

Kürzlich habe ich einen release-upgrade von Ubuntu 18.04 auf 20.04 auf meinem VPS gemacht. Dabei wird nicht nur das Betriebssystem auf die nächste Version gehievt, es werden auch alle installierten Applikationen aktualisiert.

Während die meisten Applikationen nach dem Upgrade weiter funktioniert haben, ging Airsonic nicht mehr. Auf dem Blog von Sören Poulsen habe ich dann die Ursache dafür gefunden. Der Tomcat9 in Ubuntu 20.04 hat eine Konfigdatei, in der externe Pfade angegeben werden müssen:

 

/lib/systemd/system/tomcat9.service

Und in diese Datei muss der Pfad zum Ordner eingetragen werden, in dem die Musik für Airsonic liegt. Du kannst auch mehrere Pfade eintragen, falls bei Deinem Server nicht alles (Musik, Playlists, Vids etc.) im gleichen Ordner liegt.

Der Eintrag sieht bei mir so aus:

ReadWritePaths=/var/airsonic/

Nach einem anschließenden systemctl daemon-reload &&systemctl restart tomcat9 war meine Airsonic-App wieder funktionstüchtig!

Zusätzlich zum Originalbeitrag ist es natürlich empfehlenswert, den Tomcat, der standardmäßig auf Port TCP/8080 läuft, hinter einem reverse proxy wie zum Beispiel dem Apache2 mit mod_proxy zu maskieren. Hier hast Du eine Beispielkonfiguration für einen vhost als reverse proxy für tomcat9:

 

<VirtualHost *:80>
  ServerName airsonic.example.com
  ServerAdmin webmaster@example.com
  RedirectPermanent / https://airsonic.example.com/
</VirtualHost>

<VirtualHost *:443>
        ServerName airsonic.example.com
        ServerAdmin webmaster@example.com
        ProxyPass / http://127.0.0.1:8080/
        ProxyPassReverse / http://127.0.0.1:8080/
        ProxyPreserveHost On
        ProxyAddHeaders On
        SSLEngine On
        SSLCertificateFile /etc/letsencrypt/live/airsonic.example.com/cert.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/airsonic.example.com/privkey.pem
        SSLCertificateChainFile /etc/letsencrypt/live/airsonic.example.com/chain.pem
        SSLProtocol             all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
        SSLCipherSuite HIGH:!aNULL:!MD5:!3DES
        SSLHonorCipherOrder     on
        SSLCompression          off
        SSLOptions +StrictRequire
</VirtualHost>

Der erste vhost auf Port 80 schickt alle Anfragen an den direkt darunter stehenden vhost auf Port 443. Dort wird mittels der ProxyPass und ProxyPassReverse-Zeilen der Traffic zwischen Apache2 und Tomcat9 'geroutet'.

Suchst Du weitere Artikel auf diesem Blog zum Thema Airsonic?

[ratings]