Airsonic ist ein kostenloser Open-Source-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 bei der Arbeit zu hören. Airsonic wurde mit Java als vollständiger Fork des Subsonic entwickelt und für die Handhabung sehr großer Musiksammlungen entwickelt und für MP3-Streams optimiert. Airsonic funktioniert mit allen Audio- oder Videoformaten, die über das HTTP-Protokoll gestreamt werden 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 mithilfe des .WAR-Pakets 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?
- Java OpenJDK installieren
- AirSonic installieren und konfigurieren
- Neues SSL-Letsencrypt-Zertifikat generieren
- Nginx als Reverse-Proxy konfigurieren
- UFW-Firewall konfigurieren
- Testen
Schritt 1 – Java OpenJDK installieren
Airsonic ist eine Java-basierte Anwendungssoftware, daher müssen wir Java auf dem Server installieren, und es erfordert die Installation der OpenJDK 1.8x-Serie. In diesem ersten Schritt installieren wir Java OpenJDK aus dem PPA-Repository webupd8team.
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
Überprüfen Sie nach Abschluss der Installation die Version von Java OpenJDK.
java -version
Jetzt erhalten Sie, dass die Java OpenJDK 1.8-Serie auf dem Ubuntu 18.04-System installiert wurde.
Schritt 2 – Airsonic installieren und konfigurieren
Airsonic stellt verschiedene Installationspakete zur Verfügung, für diese Anleitung 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 Airsonic-Paketdatei „.WAR“ mit wget herunter.
cd /opt/airsonic
wget https://github.com/airsonic/airsonic/releases/download/v10.1.1/airsonic.war
Und ändern Sie den Eigentümer des Verzeichnisses „/opt/airsonic“ in den Benutzer und die Gruppe „airsonic“.
chown -R airsonic:airsonic /opt/airsonic
Das Airsonic '.WAR' Binärpaket wurde heruntergeladen.
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-Dienstkonfiguration 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 systemd-System neu und erstellen Sie eine neue Airsonic-Standardkonfigurationsdatei im Verzeichnis ‚/etc/default‘.
sudo systemctl daemon-reload
vim /etc/default/airsonic
Fügen Sie dort die folgende Standard-Airsonic-Konfiguration 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 so, dass er jedes Mal beim Systemstart gestartet wird.
systemctl start airsonic
systemctl enable airsonic
Die airsonic 'Stand-Alone'-Installation ist abgeschlossen, und jetzt ist es betriebsbereit, überprüfen Sie es mit dem netstat-Befehl.
netstat -plntu
Und Sie erhalten den Airsonic-Standardport „8080“ im Zustand „LISTEN“, der vom Java-Airsonic-Dienst verwendet wird.
Schritt 3 – Neues SSL-Letsencrypt-Zertifikat generieren
In diesem Tutorial werden wir Airsonic unter der HTTPS-Verbindung des Nginx-Reverse-Proxys mit dem Domänennamen „music.hakase-labs.io“ bereitstellen.
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 Tool Letsencrypt wurde installiert.
Als nächstes müssen wir die neuen SSL-Zertifikate für die Domain „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, die für die Verlängerungsbenachrichtigung verwendet wird. Geben Sie für die Letsencrypt TOS-Vereinbarung „A“ ein, um zuzustimmen, und für die gemeinsame E-Mail-Adresse können Sie „N“ für „Nein“ eingeben.
Wenn alles fertig ist, erhalten Sie das unten gezeigte Ergebnis.
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
Der Nginx-Webserver läuft jetzt als Reverse-Proxy für Airsonic auf Port 8080 und läuft unter der sicheren https-Verbindung.
Überprüfen Sie es mit dem untenstehenden netstat-Befehl.
netstat -plntu
Schritt 5 – UFW-Firewall konfigurieren
In diesem Tutorial schalten wir die Firewall ein und verwenden die UFW-Firewall für Ubuntu.
Öffnen Sie den SSH-, HTTP- und HTTPS-Dienst in der UFW-Firewallliste, 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.
Schritt 6 – Testen
Öffnen Sie Ihren Webbrowser und geben Sie die Airsonic-Installations-URL in die Adressleiste ein. Meine ist:
https://music.hakase-labs.io/airsonic/
Nun wird Ihnen die Airsonic-Anmeldeseite angezeigt.
Melden Sie sich als Standardbenutzer „admin“ mit dem Passwort „admin“ an und klicken Sie auf die Schaltfläche „Anmelden“.
Und wenn Sie sich angemeldet haben, sehen Sie das Airsonic Dashboard.
- Standardpasswort ändern
Klicken Sie auf die Schaltfläche „Administratorkennwort ändern“.
Wählen Sie nun den Benutzer „admin“ aus und markieren Sie „Passwort ändern“, geben Sie dann das neue Admin-Passwort ein und klicken Sie auf „Speichern“.
Das Standard-Admin-Passwort für Airsonic wurde geändert.
- Medienordner einrichten
Kehren Sie zum Terminal-Shell-Server zurück, erstellen Sie manuell neue Medienordner und ändern Sie den Besitzer des Medienordnerverzeichnisses in den Benutzer „airsonic“.
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“.
Stellen Sie sicher, dass der standardmäßige Medienordner „Musik“ aktiviert ist, und klicken Sie dann auf die Schaltfläche „Speichern“.
Wechseln Sie nun zur Registerkarte „Benutzer“, wählen Sie den Benutzer „admin“ aus und prüfen Sie den Medienordner „Musik“ wie unten beschrieben.
Der standardmäßige Medienordner „Musik“ wurde aktiviert, und der Benutzer „admin“ hat jetzt Zugriff auf die Medienordner.
Unten ist mein Airsonic-Dashboard, nachdem ich einige Änderungen vorgenommen habe.
Die Installation des Airsonic-Medienstreamers mit Nginx als Reverse-Proxy auf Ubuntu 18.04 wurde erfolgreich abgeschlossen.