AirSonic Medienserver unter CentOS 7 installieren: Schritt-für-Schritt-Anleitung

AirSonic ist ein kostenloser und quelloffener Medienstreaming-Server. Diese Anleitung führt dich Schritt für Schritt durch die komplette Einrichtung eines AirSonic-Servers auf einem CentOS-7-System.

Voraussetzungen

  • Ein neu aufgesetzter CentOS-7-Server mit mindestens 2 GB Arbeitsspeicher. Beispielhafte IPv4-Adresse: 203.0.113.1.
  • Ein Benutzerkonto mit sudo-Rechten.
  • Eine Domain wie airsonic.example.com, die auf die IP-Adresse des Servers zeigt.

Schritt 1: Grundkonfiguration des Systems

Swap-Datei erstellen

Um die Systemleistung zu verbessern, empfiehlt es sich, auf Servern mit 2 GB RAM eine 2 GB große Swap-Datei einzurichten:

sudo dd if=/dev/zero of=/swapfile count=2048 bs=1M
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile   none    swap    sw    0   0' | sudo tee -a /etc/fstab
free -m

Hinweis: Je nach Serverkonfiguration kann eine andere Swap-Größe sinnvoll sein.

Hostname und FQDN konfigurieren

Für eine sichere HTTPS-Verbindung mittels Let’s Encrypt ist eine korrekte Konfiguration von Hostname und vollständigem Domainnamen (FQDN) erforderlich.

Die folgenden Befehle setzen airsonic als Hostnamen und airsonic.example.com als FQDN:


sudo hostnamectl set-hostname airsonic
cat <
  

Mit diesen Befehlen überprüfst du die Einstellungen:

Firewall-Regeln für Webzugriff anpassen

Standardmäßig blockiert CentOS 7 die Ports für HTTP (80) und HTTPS (443). Die folgenden Befehle erlauben eingehenden Webverkehr:

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld.service

 

Repository hinzufügen

Installiere zunächst das EPEL-Repository und führe anschließend eine Systemaktualisierung durch. Nach dem Update wird der Server automatisch neu gestartet:

sudo yum install -y epel-release
sudo yum -y update && sudo shutdown -r now

Nach dem Neustart meldest du dich erneut mit demselben Benutzer mit sudo-Rechten an, um mit der Einrichtung fortzufahren.

Schritt 2: OpenJDK Java Runtime Environment (JRE) 8 installieren

Installiere jetzt das OpenJDK JRE 8-Paket auf deinem CentOS-7-Server und überprüfe anschließend die Installation:

sudo yum install -y java-1.8.0-openjdk.x86_64
java -version

Die Ausgabe sollte in etwa wie folgt aussehen:

openjdk version "1.8.0_171"
OpenJDK Runtime Environment (build 1.8.0_171-8u171-b11-0ubuntu0.18.04.1-b11)
OpenJDK 64-Bit Server VM (build 25.171-b11, mixed mode)

Richte anschließend die Umgebungsvariable JAVA_HOME ein, um Java korrekt zu konfigurieren:

echo "JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")" | sudo tee -a /etc/profile
source /etc/profile

Schritt 3: AirSonic installieren

Es gibt verschiedene Wege, um AirSonic bereitzustellen. In dieser Anleitung erfolgt die Installation über das offizielle WAR-Paket.

Benutzer und Verzeichnis für AirSonic anlegen

Erstelle zunächst eine dedizierte Benutzergruppe und einen Benutzer namens airsonic, und richte ein entsprechendes Verzeichnis ein:

sudo groupadd airsonic
sudo mkdir /var/airsonic
sudo useradd -s /bin/nologin -g airsonic -d /var/airsonic -M airsonic

AirSonic WAR-Datei herunterladen

Wechsle in das AirSonic-Verzeichnis und lade die aktuelle Version des WAR-Pakets herunter:

cd /var/airsonic
sudo wget https://github.com/airsonic/airsonic/releases/download/v10.1.2/airsonic.war
sudo chown -R airsonic:airsonic /var/airsonic

AirSonic-Dienst einrichten und starten

Lade nun die systemd-Unit-Dateien herunter und starte den AirSonic-Dienst:

sudo wget https://raw.githubusercontent.com/airsonic/airsonic/master/contrib/airsonic.service -O /etc/systemd/system/airsonic.service
sudo wget https://raw.githubusercontent.com/airsonic/airsonic/master/contrib/airsonic-systemd-env -O /etc/sysconfig/airsonic
sudo systemctl daemon-reload
sudo systemctl start airsonic.service
sudo systemctl enable airsonic.service

Hinweis: Du solltest beide systemd-Dateien an deine Serverumgebung anpassen, bevor du sie produktiv einsetzt.

Schritt 4: AirSonic-Installation überprüfen

Nach der Installation sollte AirSonic auf Port 8080 laufen. Mit folgendem Befehl prüfst du, ob der Dienst aktiv ist:

Um über einen Browser auf die Oberfläche zuzugreifen, musst du vorübergehend Port 8080 in der Firewall freigeben:

sudo firewall-cmd --permanent --add-port=8080/tcp
sudo systemctl reload firewalld.service

Öffne dann deinen Webbrowser und gehe zu http://203.0.113.1:8080/airsonic. Verwende die folgenden Standard-Zugangsdaten:

  • Benutzername: admin
  • Passwort: admin

Aus Sicherheitsgründen solltest du das Admin-Passwort direkt nach der Anmeldung ändern.

Wenn du dich erfolgreich angemeldet hast, solltest du Port 8080 aus Sicherheitsgründen wieder schließen:

sudo firewall-cmd --permanent --remove-port=8080/tcp
sudo systemctl reload firewalld.service

Schritt 5: HTTPS mit einem Let’s Encrypt SSL-Zertifikat aktivieren

Um die Sicherheit deiner Webseite zu erhöhen, solltest du HTTPS aktivieren. Der einfachste Weg dafür ist die Installation eines kostenlosen Let’s Encrypt SSL-Zertifikats über Certbot.

Certbot installieren

Installiere zunächst die notwendigen Hilfsprogramme und anschließend Certbot:

sudo yum -y install yum-utils
sudo yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
sudo yum install -y certbot

SSL-Zertifikat erstellen

Fordere mit Certbot ein Zertifikat für deine AirSonic-Domain an:

sudo certbot certonly --standalone --agree-tos --no-eff-email -m admin@example.com -d airsonic.example.com

Das Zertifikat und die Zertifikatskette werden unter folgendem Pfad abgelegt:

/etc/letsencrypt/live/airsonic.example.com/fullchain.pem

Der private Schlüssel wird hier gespeichert:

/etc/letsencrypt/live/airsonic.example.com/privkey.pem

Zertifikat automatisch verlängern

Let’s Encrypt-Zertifikate sind nur 90 Tage gültig. Um eine automatische Verlängerung sicherzustellen, erstelle einen Cronjob, der zweimal täglich läuft:

Drücke I und füge die folgende Zeile ein:

0 0,12 * * * python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew

Speichere und verlasse den Editor mit:

Dieser Cronjob sorgt dafür, dass dein Zertifikat automatisch jeden Tag mittags verlängert wird – so bleibt deine Verbindung stets geschützt.

Schritt 6: Nginx als Reverse Proxy für AirSonic verwenden

Der Einsatz von Nginx bringt zwei große Vorteile: Benutzer können AirSonic direkt über die Domain aufrufen, ohne die Portnummer anzugeben, und die Verbindung lässt sich gleichzeitig über HTTPS absichern.

Nginx installieren

Installiere Nginx über den Paketmanager YUM:

Konfigurationsdatei für AirSonic erstellen

Erstelle nun eine spezifische Nginx-Konfiguration für den AirSonic-Dienst:

Nginx-Konfiguration aktivieren

 

Starte den Nginx-Dienst neu, um die neue Konfiguration zu übernehmen, und aktiviere den Dienst für den automatischen Start beim Hochfahren:

sudo systemctl restart nginx.service
sudo systemctl enable nginx.service

Jetzt kannst du im Browser http://airsonic.example.com/airsonic oder https://airsonic.example.com/airsonic aufrufen, um deine gesicherte AirSonic-Oberfläche zu nutzen.

Fazit

Mit dieser Schritt-für-Schritt-Anleitung hast du erfolgreich einen AirSonic-Medienserver auf CentOS 7 eingerichtet. Du hast grundlegende Systemeinstellungen vorgenommen, Java installiert, AirSonic über das WAR-Paket bereitgestellt, HTTPS mit einem Let’s Encrypt-Zertifikat aktiviert und mit Nginx als Reverse Proxy eine benutzerfreundliche und sichere Zugangslösung geschaffen.

Dein Server ist nun einsatzbereit, um Medieninhalte effizient und verschlüsselt bereitzustellen. Achte darauf, regelmäßig Updates durchzuführen, dein Zertifikat aktuell zu halten und die Systemleistung im Blick zu behalten – für ein reibungsloses Streaming-Erlebnis.

 

Quelle: vultr.com

Jetzt 200€ Guthaben sichern

Registrieren Sie sich jetzt in unserer ccloud³ und erhalten Sie 200€ Startguthaben für Ihr Projekt.

Das könnte Sie auch interessieren: