Airsonic Media Server auf Ubuntu 18.04 LTS installieren

Airsonic ist ein kostenloser und quelloffener Medienserver. Es ist ein selbst gehosteter webbasierter Medienstreamer, der allgegenwärtigen Zugriff auf Ihre Musik bietet, es einfach macht, Ihre Musik mit Freunden zu teilen oder Ihre Musik während der Arbeit zu hören. Airsonic wurde mit Java als Full Fork des Subsonic entwickelt und für die Verarbeitung sehr großer Musiksammlungen entwickelt und für den MP3-Stream optimiert. Airsonic arbeitet mit allen Audio- oder Videoformaten, die über das HTTP-Protokoll streamen können, einschließlich WMA, FLAC, APE usw.

In diesem Tutorial zeige ich Ihnen Schritt für Schritt, wie Sie Airsonic auf Ubuntu 18.04 installieren. Wir zeigen Ihnen, wie Sie die eigenständige Airsonic-Installation mit dem.WAR-Paket bereitstellen, Airsonic als Dienst ausführen und dann den Nginx-Webserver als Reverse-Proxy für Airsonic konfigurieren.

Voraussetzungen

  • Ubuntu 18.04.
  • Root-Rechte

Was werden wir tun?

  1. Java OpenJDK installieren
  2. AirSonic installieren und konfigurieren
  3. Neues SSL-Letsencrypt-Zertifikat generieren
  4. Nginx als Reverse Proxy konfigurieren
  5. UFW Firewall konfigurieren
  6. Prüfung

Schritt 1 – Java OpenJDK installieren

Airsonic ist eine Java-basierte Anwendungssoftware, daher müssen wir Java auf dem Server installieren, und es wird die Installation der OpenJDK 1.8x Serie benötigt. In diesem ersten Schritt werden wir Java OpenJDK aus dem PPA-Repository webupd8team installieren.

Installieren Sie die Pakete „software-properties-common“ und fügen Sie dann das Java OpenJDK PPA-Repository hinzu.

Führen Sie die folgenden apt-Befehle aus.

sudo apt install software-properties-common apt-transport-https -y
sudo add-apt-repository ppa:webupd8team/java -y

Installieren Sie nun das Java OpenJDK.

sudo apt install oracle-java8-installer -y

Und nachdem die Installation abgeschlossen ist, überprüfen Sie die Java OpenJDK-Version.

java -version

Jetzt erhalten Sie die Java OpenJDK 1.8 Serie wurde auf dem Ubuntu 18.04 System installiert.

Install Java OpenJDK

Schritt 2 – Installation und Konfiguration von Airsonic

Airsonic bietet verschiedene Installationspakete an, für diesen Leitfaden verwenden wir die eigenständige WAR-Installation.

Erstellen Sie einen neuen Benutzer namens’airsonic‘ und erstellen Sie ein neues Verzeichnis ‚/opt/airsonic‘.

useradd airsonic
mkdir -p /opt/airsonic

Gehen Sie nun in das Verzeichnis ‚/opt/airsonic‘ und laden Sie die Paketdatei Airsonic  ‚.WAR‘ mit wget herunter.

cd /opt/airsonic
wget https://github.com/airsonic/airsonic/releases/download/v10.1.1/airsonic.war

Und ändern Sie den Besitzer des Verzeichnisses „/opt/airsonic“ in den Benutzer und die Gruppe „airsonic“.

chown -R airsonic:airsonic /opt/airsonic

Das Airsonic ‚.WAR‘ Binärpaket wurde heruntergeladen.

Airsonic installieren und konfigurieren

Als nächstes müssen wir eine neue Servicedatei für Airsonic erstellen, in das Verzeichnis ‚/etc/systemd/system‘ gehen und eine neue Servicedatei ‚airsonic.service‘ erstellen.

cd /etc/systemd/system/
vim airsonic.service

Fügen Sie dort die folgende Airsonic-Service-Konfiguration ein.

[Unit]
Description=Airsonic Media Server
After=remote-fs.target network.target
AssertPathExists=/opt/airsonic

[Service]
Type=simple
Environment="JAVA_JAR=/opt/airsonic/airsonic.war"
Environment="JAVA_OPTS=-Xmx700m"
Environment="AIRSONIC_HOME=/opt/airsonic"
Environment="PORT=8080"
Environment="CONTEXT_PATH=/airsonic"
Environment="JAVA_ARGS="
EnvironmentFile=-/etc/sysconfig/airsonic
ExecStart=/usr/bin/java \
          $JAVA_OPTS \
          -Dairsonic.home=${AIRSONIC_HOME} \
          -Dserver.context-path=${CONTEXT_PATH} \
          -Dserver.port=${PORT} \
          -jar ${JAVA_JAR} $JAVA_ARGS
User=airsonic
Group=airsonic

[Install]
WantedBy=multi-user.target

Speichern und beenden.

Laden Sie das System neu und erstellen Sie eine neue airsonic Standard-Konfigurationsdatei im Verzeichnis’/etc/default‘.

sudo systemctl daemon-reload
vim /etc/default/airsonic

Fügen Sie dort die folgende Standard-Luftschallkonfiguration ein.

# Set the location of the standalone war to use
JAVA_JAR=/opt/airsonic/airsonic.war

# Set any java opts separated by spaces
JAVA_OPTS=-Xmx700m

# Set a different location for the airsonic home.
# If this path is /opt/libresonic or even contains "libresonic",
# the data from a previous libresonic can be used as is (i.e. without
# renaming libresonic.properties,db/libresonic*, etc
AIRSONIC_HOME=/opt/airsonic

# Change the port to listen on
PORT=8080

# Change the path that is listened to on
CONTEXT_PATH=/airsonic

# Add any java args. These are different than JAVA_OPTS in that
# they are passed directly to the program. The default is empty:
#JAVA_ARGS=

# Note that there are several settings for spring boot, not explicitly listed
# here, but can be used in either JAVA_OPTS or JAVA_ARGS. The full list
# can be found here:
# https://docs.spring.io/spring-boot/docs/1.4.5.RELEASE/reference/htmlsingle/#common-application-properties
# For example to set debug across the board:
#JAVA_ARGS=--debug

# Or to change the IP address that is listened to:
JAVA_ARGS=--server.address=127.0.0.1

Speichern und beenden.

Starten Sie nun den Airsonic-Dienst und aktivieren Sie ihn, damit er jederzeit beim Systemstart gestartet werden kann.

systemctl start airsonic
systemctl enable airsonic

Start des Airsonic-Service

Die airsonic’stand-alone‘ Installation ist abgeschlossen, und jetzt ist sie in Betrieb, überprüfen Sie sie mit dem Befehl netstat.

netstat -plntu

Und Sie erhalten den Standardport Airsonic’8080′ im Zustand’LISTEN‘, der vom Java Airsonic-Dienst verwendet wird.

Netzwerk mit netstat prüfen

Schritt 3 – Neues SSL-Letsencrypt-Zertifikat generieren

In diesem Tutorial werden wir Airsonic unter der HTTPS-Verbindung des Nginx Reverse Proxy mit dem Domainnamen’music.hakase-labs.io‘ einsetzen.

Und für diesen Schritt werden wir die SSL-Zertifikate von Letsencrypt generieren. Installieren Sie das Letsencrypt-Tool mit dem folgenden apt-Befehl.

sudo apt install letsencrypt -y

Das Letsencrypt-Tool wurde installiert.

Als nächstes müssen wir die neuen SSL-Zertifikate für die Domäne ‚music.hakase-labs.io‘ mit dem folgenden Befehl generieren.

certbot certonly --standalone -d music.hakase-labs.io

Sie werden nach der E-Mail-Adresse gefragt und sie wird für die Benachrichtigung zur Verlängerung verwendet. Für die TOS-Vereinbarung von Letsencrypt geben Sie’A‘ ein, um zuzustimmen, und für die E-Mail-Adresse der Freigabe können Sie’N‘ für’No‘ eingeben.

SSL-Zertifikat erstellen

Wenn alles abgeschlossen ist, erhalten Sie das Ergebnis wie unten gezeigt.

Das Letsencrypt SSL-Zertifikat wurde ausgestellt.

SSL Letsencrypt für die Domain ‚music.hakase-labs.io‘ wurde generiert, alle Zertifikate befinden sich im Verzeichnis ‚/etc/letsencrypt/live/domain‘.

Schritt 4 – Nginx als Reverse-Proxy installieren und konfigurieren

In diesem Schritt installieren wir den Nginx-Webserver und konfigurieren ihn als Reverse-Proxy für die Airsonic-Software auf Port 8080.

Installieren Sie den Nginx-Webserver mit dem folgenden apt-Befehl.

sudo apt install nginx -y

Gehen Sie nun in das Verzeichnis’/etc/nginx‘ und erstellen Sie eine neue virtuelle Hostdatei’airsonic‘.

cd /etc/nginx/
vim sites-available/airsonic

Fügen Sie dort die folgende Konfiguration ein.

server {
    listen 80;
    listen [::]:80;
    server_name music.hakase-labs.io;
    # enforce https
    return 301 https://$server_name$request_uri;
}

server {
    listen              443 ssl;
    server_name         music.hakase-labs.io;
    ssl_certificate /etc/letsencrypt/live/music.hakase-labs.io/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/music.hakase-labs.io/privkey.pem;

    location /airsonic {
      proxy_set_header X-Real-IP         $remote_addr;
      proxy_set_header X-Forwarded-For   $proxy_add_x_forwarded_for;
      proxy_set_header X-Forwarded-Proto https;
      proxy_set_header X-Forwarded-Host  $http_host;
      proxy_set_header Host              $http_host;
      proxy_max_temp_file_size           0;
      proxy_pass                         http://127.0.0.1:8080;
      proxy_redirect                     http:// https://;
    }
}

Speichern und beenden.

Aktivieren Sie die virtuelle Hostdatei „airsonic“ und testen Sie die Konfiguration.

ln -s /etc/nginx/sites-available/airsonic /etc/nginx/sites-enabled/
nginx -t

Stellen Sie sicher, dass kein Fehler vorliegt, starten Sie dann den nginx-Dienst neu und aktivieren Sie ihn so, dass er jedes Mal beim Systemstart gestartet wird.

systemctl restart nginx
systemctl enable nginx

Installieren Sie Nginx und konfigurieren Sie es als Reverse-Proxy.

Der Nginx-Webserver läuft nun als Reverse-Proxy für die Airsonic auf Port 8080, und er läuft unter der sicheren https-Verbindung.

Überprüfen Sie dies mit dem untenstehenden netstat-Befehl.

netstat -plntu

Überprüfen Sie den nginx-Port

Schritt 5 – UFW Firewall konfigurieren

In diesem Tutorial werden wir die Firewall aktivieren und die UFW-Firewall für Ubuntu verwenden.

Öffnen Sie den SSH-, HTTP- und HTTPS-Dienst in der UFW-Firewall-Liste, indem Sie die folgenden Befehle ausführen.

ufw allow ssh
ufw allow http
ufw allow https

Aktivieren Sie nun die ufw-Firewall.

ufw enable

Geben Sie ‚y‘ ein und drücken Sie die Eingabetaste, um die UFW-Firewall zu starten und zu aktivieren.

Und die ufw-Firewall wurde aktiviert.

UFW Firewall konfigurieren

Schritt 6 – Prüfung

Öffnen Sie Ihren Webbrowser und geben Sie die URL der Airsonic-Installation in die Adressleiste ein. Meins schon:

https://music.hakase-labs.io/airsonic/

Nun wird Ihnen die Airsonic Login-Seite angezeigt.

Airsonic Anmeldung

Melden Sie sich als Standardbenutzer ‚admin‘ mit dem Passwort ‚admin‘ an und klicken Sie auf die Schaltfläche ‚Log In‘.

Und wenn du eingeloggt bist, siehst du das Airsonic Dashboard.

– Standardpasswort ändern

Klicken Sie auf die Schaltfläche „Administratorpasswort ändern“.

Ändern Sie das Passwort

Wählen Sie nun den Benutzer ‚admin‘ aus und markieren Sie das Feld ‚Passwort ändern‘, geben Sie dann ein neues Admin-Passwort ein und klicken Sie auf’Speichern‘.

Admin-Einstellungen

Das Standard-Administrationspasswort für Airsonic wurde geändert.

– Einrichten von Medienordnern

Zurück zum Terminal Shell Server, neue Medienordner manuell erstellen und den Besitzer des Medienordnerverzeichnisses auf den Benutzer ‚airsonic‘ ändern.

mkdir -p /var/music
chown -R airsonic:airsonic /var/music

Klicken Sie nun im Airsonic Admin Dashboard auf die Schaltfläche ‚Einstellungen‘ und dann auf die Registerkarte ‚Medienordner‘.

Medienordner konfigurieren

Vergewissern Sie sich, dass die standardmäßigen Medienordner „Musik“ aktiviert sind, und klicken Sie dann auf die Schaltfläche „Speichern“.

Gehen Sie nun auf die Registerkarte „Benutzer“, wählen Sie den Benutzer „admin“ und überprüfen Sie den Medienordner „Musik“ wie unten beschrieben.

Registerkarte Benutzer

Der standardmäßige Medienordner „Musik“ wurde aktiviert, und der Benutzer „admin“ hat nun Zugriff auf die Medienordner.

Unten ist mein Airsonic Dashboard, nachdem ich einige Änderungen vorgenommen habe.

Airsonic Dashboard

Die Airsonic Media Streamer-Installation mit Nginx als Reverse-Proxy auf Ubuntu 18.04 wurde erfolgreich abgeschlossen.

Referenz

Das könnte Dich auch interessieren …