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:
hostname
hostname -f
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:
ps -ef|grep airsonic
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:
sudo crontab -e
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:
:wq
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:
sudo yum install -y nginx
Konfigurationsdatei für AirSonic erstellen
Erstelle nun eine spezifische Nginx-Konfiguration für den AirSonic-Dienst:
cat <
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.