Dieses Tutorial zeigt Ihnen, wie Sie den Subsonic-Medienserver unter Ubuntu 16.04 installieren und einen Reverse-Proxy für Subsonic mit Nginx oder Apache einrichten.
Subsonic ist ein kostenloser, webbasierter Medienstreamer, der in Java geschrieben ist und für Linux, MacOS und Windows verfügbar ist. Mit Subsonic können Sie Ihre Musik von Ihrem Heimcomputer oder jedem öffentlich zugänglichen Computer streamen und Ihre Musik von überall mit einem Webbrowser hören. Sie müssen Ihre Musik also nicht mit einer Anwendung zur Dateisynchronisierung wie resilio sync oder Syncthing synchronisieren.
Unterschallfunktionen
- Unterstützt MP3, OGG, AAC und jedes andere Audio- oder Videoformat, das über HTTP gestreamt wird.
- Funktioniert mit jedem netzwerkfähigen Mediaplayer wie Winamp, iTunes, XMMS, VLC, MusicMatch und Windows Media Player
- Albumcover-Anzeige, On-the-Fly-Wiedergabelisten, On-the-Fly-Transcodierung
- Mobile App für Android, iPhone, Windows Phone und Desktop-App für Mac, Windows und Chrome. Die Android-App unterstützt die Offline-Wiedergabe.
- Hören Sie sich Podcasts an, weisen Sie Bewertungen zu, fügen Sie Kommentare hinzu und erstellen Sie Wiedergabelisten.
- Teilen Sie Ihre Musik mit Freunden und Familie.
- Videos streamen (Premium-Funktion)
- und mehr
Hinweis dass Subsonic seit Version 6.0 Closed-Source ist.
So installieren Sie Subsonic Media Server auf Ubuntu 16.04
Der Subsonic-Medienserver ist in Java geschrieben, daher müssen Sie die Java-Laufzeitumgebung installieren, um ihn auszuführen. Sie können openjdk 8 mit dem folgenden Befehl installieren.
sudo apt install openjdk-8-jre
Wenn Sie zuvor Oracle Java 8 installiert haben, müssen Sie OpenJDK nicht installieren. Laden Sie als Nächstes das Subsonic-Deb-Paket mit dem folgenden Befehl herunter, der Version 6.1.5 herunterlädt. Sie können sich die neueste Version auf der Subsonic-Download-Seite ansehen. Wenn eine neue Version verfügbar ist, ersetzen Sie einfach 6.1.5 durch die neue Versionsnummer.
wget https://s3-eu-west-1.amazonaws.com/subsonic-public/download/subsonic-6.1.5.deb
Installieren Sie es mit dpkg
.
sudo dpkg -i subsonic-6.1.5.deb
Nach der Installation wird der Subsonic-Daemon automatisch gestartet.
systemctl status subsonic
Beispielausgabe:
● subsonic.service - LSB: Subsonic daemon Loaded: loaded (/etc/init.d/subsonic; bad; vendor preset: enabled) Active: active (running) since Fri 2017-03-24 08:03:27 EDT; 7min ago Docs: man:systemd-sysv-generator(8) CGroup: /system.slice/subsonic.service └─3316 java -Xmx150m -Dsubsonic.home=/var/subsonic -Dsubsonic.host=0
Wenn es nicht läuft, können Sie es manuell mit
startensudo systemctl start subsonic
Und aktivieren Sie den automatischen Start beim Systemstart.
sudo systemctl enable subsonic
Standardmäßig lauscht Subsonic auf 0.0.0.0:4040
, was bedeutet, dass Anfragen aus dem lokalen Netzwerk und dem Internet akzeptiert werden.
Wenn Sie Subsonic auf einem lokalen Ubuntu-Computer installiert haben, geben Sie die folgende Adresse in den Browser ein, um die Subsonic-Weboberfläche aufzurufen.
http://localhost:4040
Wenn Sie Subsonic auf einem mit dem Internet verbundenen Ubuntu-Server installiert haben, geben Sie die folgende Adresse in den Browser ein, um die Subsonic-Weboberfläche aufzurufen.
http://your-server-ip:4040
Bitte beachten Sie, dass Sie, wenn Sie den Subsonic-Medienserver auf einem Heimserver installieren und von einem externen Netzwerk darauf zugreifen möchten, die Portweiterleitung in Ihrem Router konfigurieren müssen.
Der Standard-Benutzername und das Passwort sind admin
. Nach der Anmeldung sollten Sie zu Einstellungen> Benutzer gehen um das Admin-Passwort zu ändern.
Fügen Sie auch Medienordner auf der Einstellungsseite hinzu und klicken Sie auf die Schaltfläche Speichern. Beachten Sie, dass der Ordner für den Benutzer zugänglich sein muss, unter dem Subsonic ausgeführt wird. Nachdem der Ordner hinzugefügt wurde, klicken Sie auf die Schaltfläche „Medienordner jetzt scannen“ und Sie können Musik auf der Indexseite anhören.
Benutzer wechseln
Standardmäßig wird der Subsonic-Prozess als Root-Benutzer ausgeführt. Aus Sicherheitsgründen sollten Sie es auf einen normalen Benutzer ändern, was durch Bearbeiten des /etc/default/subsonic
erreicht wird Datei.
sudo nano /etc/default/subsonic
Suchen Sie die folgende Zeile:
SUBSONIC_USER=root
Ändern Sie root auf Ihr eigenes Benutzerkonto wie linuxbabe
.
SUBSONIC_USER=linuxbabe
Speichern und schließen Sie die Datei. Starten Sie dann den Subsonic-Daemon neu, damit die Änderung wirksam wird.
sudo systemctl restart subsonic
Nginx Reverse Proxy für Subsonic einrichten
Wenn Sie einen Domainnamen für die Subsonic-Webschnittstelle verwenden möchten, können Sie den Nginx-Reverse-Proxy einrichten. Installieren Sie Nginx unter Ubuntu 16.04 mit dem folgenden Befehl.
sudo apt install nginx
Erstellen Sie dann eine Serverblockdatei für den Proxy.
sudo nano /etc/nginx/conf.d/subsonic-proxy.conf
Fügen Sie den folgenden Text in die Datei ein. Ersetzen Sie subsonic.your-domain.com
mit eigenem Domainnamen. Der Standort-Block {…} stellt Nginx-Proxy-Anfragen an den Subsonic-Daemon. Vergessen Sie nicht, einen A-Eintrag für die Subdomain festzulegen.
server { listen 80; server_name subsonic.your-domain.com; location / { proxy_pass http://127.0.0.1:4040; proxy_set_header Host $http_host; 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 $scheme; } }
Speichern und schließen Sie die Datei. Testen Sie dann die Nginx-Konfiguration.
sudo nginx -t
Wenn der Test erfolgreich ist, laden Sie Nginx neu, damit die neue Konfiguration wirksam wird.
sudo systemctl reload nginx
Jetzt wird der Subsonic-Medienserver hinter Nginx gestellt und Sie können mit einem Domainnamen (subsonic.your-domain.com
) auf die Subsonic-Web-UI zugreifen )
HTTPS mit Nginx aktivieren
Um eine sichere HTTPS-Verbindung zu aktivieren, können Sie ein kostenloses TLS/SSL-Zertifikat von Let’s Encrypt beziehen und installieren. Installieren Sie den Client Let’s Encrypt (certbot) mit:
sudo apt-get install software-properties-common sudo add-apt-repository ppa:certbot/certbot sudo apt-get update sudo apt-get install certbot python3-certbot-nginx
Führen Sie dann den folgenden Befehl aus, der das Certbot Nginx-Plugin verwendet, um das TLS-Zertifikat automatisch zu erhalten und zu installieren. Roten Text durch Ihre tatsächlichen Daten ersetzen.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email your-email-address --domain subsonic.your-domain.com
Innerhalb weniger Sekunden sollten Sie eine Glückwunschnachricht wie unten sehen, was bedeutet, dass das Zertifikat erfolgreich erhalten wurde.
Gehen Sie erneut zur Webschnittstelle Ihres Subsonic-Medienservers, Sie werden feststellen, dass die HTTP-Verbindung automatisch umgeleitet wird Sichere HTTPS-Verbindung. Als nächstes müssen wir die Nginx-Konfigurationsdatei ändern.
sudo nano /etc/nginx/conf.d/subsonic-proxy.conf
Es gibt jetzt zwei Server-{…}-Blöcke, da Certbot automatisch den SSL-Serverblock konfiguriert hat (listen 443 ssl). Fügen Sie im SSL-Serverblock die folgende Zeile im Block location / {…} hinzu.
proxy_redirect http:// https://;
Diese Zeile leitet jede HTTP-Serverantwort auf die https-Serverantwort um, was erforderlich ist, um die Subsonic-Einstellungsseite richtig anzuzeigen. Speichern und schließen Sie die Datei. Nginx-Konfiguration testen und neu laden.
sudo nginx -t sudo systemctl reload nginx
Apache Reverse Proxy einrichten
Wenn Sie Apache Nginx vorziehen, installieren Sie es mit:
sudo apt install apache2
Um Apache als Reverse-Proxy zu verwenden, müssen wir den proxy
aktivieren Module und das Header-Modul.
sudo a2enmod proxy proxy_http headers
Erstellen Sie dann eine virtuelle Hostdatei für den Subsonic-Medienserver.
sudo nano /etc/apache2/sites-available/subsonic-proxy.conf
Fügen Sie die folgenden Konfigurationen in die Datei ein. Ersetzen Sie subsonic.your-domain.com
mit Ihrem tatsächlichen Domainnamen. Vergessen Sie nicht, einen DNS-A-Eintrag für diese Subdomain zu erstellen.
<VirtualHost *:80> ServerName subsonic.your-domain.com ErrorDocument 404 /404.html DocumentRoot /var/www ProxyPass / http://localhost:4040/ ProxyPassReverse / http://localhost:4040/ Header always unset X-Frame-Options </VirtualHost>
Speichern und schließen Sie die Datei. Aktivieren Sie dann diesen virtuellen Host.
sudo a2ensite subsonic-proxy.conf
Starten Sie Apache neu
sudo systemctl restart apache2
Jetzt können Sie mit einem Domainnamen auf die Subsonic-Web-Benutzeroberfläche zugreifen.
HTTPS mit Apache aktivieren
Um eine sichere HTTPS-Verbindung zu aktivieren, können Sie ein kostenloses TLS/SSL-Zertifikat von Let’s Encrypt beziehen und installieren. Installieren Sie den Client Let’s Encrypt (certbot) mit:
sudo apt-get install software-properties-common sudo add-apt-repository ppa:certbot/certbot sudo apt-get update sudo apt install certbot python3-certbot-apache
Besorgen und installieren Sie dann ein Zertifikat mit dem Apache-Plug-in.
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --must-staple --email your-email-address -d subsonic.your-domain.com
Innerhalb weniger Sekunden sollten Sie eine Glückwunschnachricht wie unten sehen, was bedeutet, dass das Zertifikat erfolgreich erhalten wurde.
Ihr TLS-Zertifikat wird automatisch installiert. Gehen Sie erneut zur Weboberfläche Ihres Subsonic-Medienservers. Sie werden feststellen, dass die HTTP-Verbindung automatisch auf eine sichere HTTPS-Verbindung umgeleitet wird.
So aktualisieren Sie auf die neueste Version
Es ist sehr einfach, bestehende Subsonic-Server auf die neueste Version zu aktualisieren. Gehen Sie zuerst zur Subsonic-Downloadseite und laden Sie das neueste Debian/Ubuntu-Paket herunter (6.1.2 in diesem Beispiel). Sie können den Download-Link im Firefox-Download-Manager erhalten, wie im Screenshot unten gezeigt.
Dann können Sie im Terminal den Download-Link nach wget einfügen um Subsonic von der Kommandozeile herunterzuladen.
wget https://s3-eu-west-1.amazonaws.com/subsonic-public/download/subsonic-6.1.2.deb
Verwenden Sie als Nächstes dpkg, um das deb-Paket zu installieren.
sudo dpkg -i subsonic-6.1.2.deb
Starten Sie den Subsonic Systemd-Dienst neu und Sie sind fertig.
sudo systemctl restart subsonic
Ich hoffe, dieses Tutorial hat Ihnen geholfen, den Subsonic-Medienserver unter Ubuntu 16.04 zu installieren. Wenn Sie diesen Beitrag nützlich fanden, abonnieren Sie wie immer unseren kostenlosen Newsletter. Sie können uns auch auf Google+, Twitter folgen oder unsere Facebook-Seite mit „Gefällt mir“ markieren.