Installation des AirSonic Media Servers unter CentOS 8

AirSonic ist ein kostenloser, quelloffener und webbasierter Media Streaming Server, mit dem Sie von zentraler Stelle aus auf Ihre Musik zugreifen können. Airsonic ist mit jedem Audio/Video Dateiformat kompatibel und kann auch über das HyperText Transfer Protokoll streamen. Es ist ein selbst gehosteter Media Streamer, der in der Sprache Java geschrieben ist und sehr große Musiksammlungen verarbeiten kann. Es läuft auf den meisten Betriebssystemen einschließlich Windows, Linux und Mac OS.

In diesem Tutorial zeigen wir Ihnen, wie Sie den AirSonic Media Streaming Server unter CentOS 8 installieren.

Voraussetzungen

  • Ein Server mit CentOS 8 mit mindestens 2 GB RAM.
  • Auf Ihrem Server ist ein Root-Passwort konfiguriert.

Die ersten Schritte

Standardmäßig ist SELinux in CentOS 8 Server aktiviert. Sie müssen sie also zuerst deaktivieren.

Sie können dies tun, indem Sie die Datei /etc/selinux/config bearbeiten:

nano /etc/selinux/config

Nehmen Sie die folgenden Änderungen vor:

SELINUX=disabled

Speichern und schließen Sie die Datei. Starten Sie dann Ihr System neu, um die Änderungen zu übernehmen.

Java installieren

Da AirSonic auf Java basiert, müssen Sie Java auf Ihrem System installieren. Sie können Java installieren, indem Sie einfach den folgenden Befehl ausführen:

dnf install java-1.8.0-openjdk-devel

Nach der Installation von Java können Sie die Version von Java mit dem folgenden Befehl überprüfen:

java -version

Sie sollten die folgende Ausgabe sehen:

openjdk version "1.8.0_232"
OpenJDK Runtime Environment (build 1.8.0_232-b09)
OpenJDK 64-Bit Server VM (build 25.232-b09, mixed mode)

AirSonic installieren

Bevor Sie beginnen, müssen Sie einen Benutzer für den Betrieb von AirSonic anlegen.

Erstellen Sie zunächst einen Benutzer mit dem folgenden Befehl:

useradd airsonic

Als nächstes erstellen Sie mit folgendem Befehl ein Verzeichnis für AirSonic:

mkdir /var/airsonic /var/media_files

Als nächstes laden Sie die neueste Version von AirSonic aus dem Git-Repository mit folgendem Befehl herunter:

wget https://github.com/airsonic/airsonic/releases/download/v10.4.1/airsonic.war --output-document=/var/airsonic/airsonic.war

Als nächstes geben Sie mit dem folgenden Befehl die richtigen Rechte für das airsonic-Verzeichnis:

chown -R airsonic /var/airsonic
 chown -R airsonic /var/media_files

Als nächstes laden Sie die vorkonfigurierte Systemgerätdatei für AirSonic mit folgendem Befehl herunter:

wget https://raw.githubusercontent.com/airsonic/airsonic/master/contrib/airsonic.service -O /etc/systemd/system/airsonic.service
 wget https://raw.githubusercontent.com/airsonic/airsonic/master/contrib/airsonic-systemd-env -O /etc/sysconfig/airsonic

Als nächstes laden Sie den systemd-Daemon mit folgendem Befehl neu:

systemctl daemon-reload

Als nächstes starten Sie den AirSonic-Dienst und aktivieren ihn beim Start mit den folgenden Befehlen:

systemctl start airsonic
 systemctl enable airsonic

Sie können nun den Status von AirSonic mit dem folgenden Befehl überprüfen:

systemctl status airsonic

Die folgende Ausgabe erhalten sie:

? airsonic.service - Airsonic Media Server
   Loaded: loaded (/etc/systemd/system/airsonic.service; disabled; vendor preset: disabled)
   Active: active (running) since Mon 2019-10-28 12:29:51 EDT; 2min 6s ago
 Main PID: 29564 (java)
    Tasks: 18 (limit: 5060)
   Memory: 315.0M
   CGroup: /system.slice/airsonic.service
           ??29564 /usr/bin/java -Xmx700m -Dairsonic.home=/var/airsonic -Dserver.context-path=/airsonic -Dserver.port=8080 -jar /var/airsonic/>

Oct 28 12:31:49 centos8 java[29564]: 2019-10-28 12:31:49.876  INFO --- l.c.StandardChangeLogHistoryService      : Reading from DATABASECHANGEL>
Oct 28 12:31:49 centos8 java[29564]: 2019-10-28 12:31:49.877  INFO --- l.executor.jvm.JdbcExecutor              : SELECT * FROM DATABASECHANGE>
Oct 28 12:31:49 centos8 java[29564]: 2019-10-28 12:31:49.969  INFO --- liquibase.changelog.ChangeSet            : Marking ChangeSet: classpath>
Oct 28 12:31:49 centos8 java[29564]:           classpath:liquibase/db-changelog.xml : Custom Precondition Failed: DBMS Major Version Precondit>
Oct 28 12:31:49 centos8 java[29564]: 2019-10-28 12:31:49.972  INFO --- l.executor.jvm.JdbcExecutor              : SELECT MAX(ORDEREXECUTED) FR>
Oct 28 12:31:50 centos8 java[29564]: 2019-10-28 12:31:50.017  INFO --- l.executor.jvm.JdbcExecutor              : INSERT INTO DATABASECHANGELO>
Oct 28 12:31:50 centos8 java[29564]: 2019-10-28 12:31:50.020  INFO --- l.l.StandardLockService                  : Successfully released change>
Oct 28 12:31:51 centos8 java[29564]: 2019-10-28 12:31:51.489  INFO --- o.airsonic.player.dao.PlayerDao          : Deleted 1 player(s) that hav>
Oct 28 12:31:52 centos8 java[29564]: 2019-10-28 12:31:52.424  INFO --- o.a.p.s.MediaScannerService              : Automatic media library scan>
Oct 28 12:31:53 centos8 java[29564]: 2019-10-28 12:31:53.093  INFO --- o.a.p.service.PodcastService             : Automa

Sie können den laufenden AirSonic Prozess auch mit dem folgenden Befehl überprüfen:

ps -ef | grep airsonic

Ausgabe:

airsonic 29459     1 87 12:07 ?        00:02:08 /usr/bin/java -Xmx700m -Dairsonic.home=/var/airsonic -Dserver.context-path=/airsonic -Dserver.port=8080 -jar /var/airsonic/airsonic.war
root     29496  6103  0 12:10 pts/0    00:00:00 grep --color=auto airsonic

Zugang AirSonic Web Interface

Bevor Sie auf das AirSonic Webinterface zugreifen können, müssen Sie die Ports 80 und 8080 mit der Firewall öffnen. Sie können dies mit den folgenden Befehlen tun:

firewall-cmd --zone=public --add-port=80/tcp --permanent
 firewall-cmd --zone=public --add-port=8080/tcp --permanent
 firewall-cmd --reload

Als nächstes öffnen Sie Ihren Webbrowser und geben Sie die URL http://your-server-ip:8080/airsonic ein. Sie werden auf die folgende Seite weitergeleitet:

airsonic Medienserver Anmeldung

Geben Sie den Standardbenutzernamen und das Passwort als admin/admin ein und klicken Sie auf die Schaltfläche Anmelden. Sie sollten die folgende Seite sehen:

Die ersten Schritte

Als nächstes müssen Sie das Standard-Administrator-Passwort ändern. Klicken Sie dazu auf das Administrator-Passwort ändern. Sie sollten die folgende Seite sehen:

Einstellungen

Wählen Sie den Benutzer admin, markieren Sie das Kontrollkästchen Kennwort ändern, geben Sie das neue Kennwort ein und klicken Sie auf die Schaltfläche Speichern, um das Standardkennwort zu ändern.

Als nächstes müssen Sie den Medienordner zum Speichern Ihrer Musik und Videos einrichten. Klicken Sie dazu auf die Einstellungen > Medienordner. Sie sollten die folgende Seite sehen:

Media-Mappen

Geben Sie nun /var/media_files in das Feld Ordner ein und klicken Sie auf die Schaltfläche Speichern.

Nginx als Reverse Proxy konfigurieren

Als nächstes müssen Sie Nginx als Reverse-Proxy für den Airsonic auf Port 8080 konfigurieren. Installieren Sie dazu zunächst den Nginx-Webserver mit folgendem Befehl:

dnf install nginx

Erstellen Sie nach der Installation eine Nginx-Konfigurationsdatei für den virtuellen Host:

nano /etc/nginx/conf.d/airsonic.conf

Fügen Sie die folgenden Zeilen hinzu:

server {
   listen 80;
   server_name your-server-ip;
   access_log off;
   error_log off;
   location / {
      proxy_pass http://127.0.0.1:8080;
      proxy_redirect off;
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_max_temp_file_size 0;
      client_max_body_size 10m;
      client_body_buffer_size 128k;
      proxy_connect_timeout 90;
      proxy_send_timeout 90;
      proxy_read_timeout 90;
      proxy_buffer_size 4k;
      proxy_buffers 4 32k;
      proxy_busy_buffers_size 64k;
      proxy_temp_file_write_size 64k;
}
}

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Testen Sie dann Nginx auf einen Syntaxfehler mit dem folgenden Befehl:

nginx -t

Sie sollten die folgende Ausgabe sehen:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Als nächstes starten Sie den Nginx-Dienst und aktivieren ihn nach dem Systemneustart mit dem folgenden Befehl:

systemctl start nginx
 systemctl enable nginx

Jetzt können Sie den AirSonic unter der URL http://your-server-ip/airsonic aufrufen.

Fazit

Herzlichen Glückwunsch! Sie haben erfolgreich einen AirSonic-Medienserver mit Nginx als Reverse-Proxy auf CentOS 8 installiert. Sie können jetzt Ihren eigenen Medienserver hosten und Musik mit Ihren Freunden und Ihrer Familie teilen. Wenn Sie Fragen haben, können Sie mich gerne fragen.

Das könnte Dich auch interessieren …