So installierst du Jellyfin Media Server unter Ubuntu 22.04

Jellyfin ist eine kostenlose, quelloffene Medienserver-Software, die es Nutzern ermöglicht, persönliche Medienbibliotheken zu hosten und zu verwalten, Inhalte über verschiedene Geräte zu streamen und anderen zugänglich zu machen. Er ist eine Alternative zu proprietären Medienservern und bietet umfassende Anpassungsmöglichkeiten und Kontrolle über die Privatsphäre. Es ist eine Alternative zu proprietären Medien-Dateiservern wie Emby und Plex.

In dieser Anleitung zeigen wir dir, wie du den Jellyfin-Medienserver auf Ubuntu 22.04 installierst. Du wirst Jellyfin mit Apache als Reverse Proxy installieren und Jellyfin mit SSL/TLS-Zertifikaten von Letsencrypt sichern.

Voraussetzungen

Bevor du beginnst, stelle sicher, dass du Folgendes hast:

  • Einen Ubuntu 22.04 Server.
  • Einen Nicht-Root-Benutzer mit sudo-Rechten.
  • Einen Domainnamen, der auf eine Server-IP-Adresse zeigt.

Hinzufügen des Jellyfin-Repositorys

Um zu beginnen, führe den folgenden Befehl aus, um Abhängigkeiten wie software-properties-common, apt-transport-https, ca-certificates, gnupg und curl auf deinem Ubuntu-System zu installieren.

sudo apt install software-properties-common apt-transport-https ca-certificates gnupg curl -y

Führe dann den folgenden Befehl aus, um das Repository „universe“ auf deinem Ubuntu-Rechner zu aktivieren.

sudo add-apt-repository universe

Universum ermöglichen

Führe nun den folgenden Befehl aus, um ein neues Verzeichnis /etc/apt/keyrings zu erstellen und den GPG-Schlüssel für das Jellyfin-Repository in dieses Verzeichnis herunterzuladen.

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://repo.jellyfin.org/jellyfin_team.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/jellyfin.gpg

Als Nächstes führst du den folgenden Befehl aus, um das Jellyfin-Repository zu deinem Ubuntu-Rechner hinzuzufügen.

cat <<EOF | sudo tee /etc/apt/sources.list.d/jellyfin.sources
Types: deb
URIs: https://repo.jellyfin.org/$( awk -F'=' '/^ID=/{ print $NF }' /etc/os-release )
Suites: $( awk -F'=' '/^VERSION_CODENAME=/{ print $NF }' /etc/os-release )
Components: main
Architectures: $( dpkg --print-architecture )
Signed-By: /etc/apt/keyrings/jellyfin.gpg
EOF

Repo hinzufügen

Zuletzt aktualisierst du den Paketindex auf deinem Ubuntu-System mit dem folgenden Befehl. Dadurch werden neue Paketinformationen abgerufen, auch aus dem Jellyfin-Repository.

sudo apt update

Repo aktualisieren

Installation von Jellyfin Server

Nachdem du das Jellyfin-Repository hinzugefügt hast, kannst du nun mit der Installation von Jellyfin auf deinem Ubuntu-Server beginnen.

Führe den folgenden apt-Befehl aus, um das Jellyfin-Paket zu installieren. Wenn du dazu aufgefordert wirst, bestätige mit Y und fahre fort.

sudo apt install jellyfin

jellyfin installieren

Sobald die Installation abgeschlossen ist, führe den folgenden Befehl aus, um den Jellyfin-Dienst zu überprüfen und sicherzustellen, dass der Dienst läuft und aktiviert ist.

sudo systemctl is-enabled jellyfin
sudo systemctl status jellyfin

In der folgenden Ausgabe kannst du sehen, dass Jellyfin läuft und aktiviert ist.

Status prüfen

Du kannst die Ports für Jellyfin auch mit dem ss-Befehl unten überprüfen.

ss -tulpn | grep jellyfin

Du kannst verschiedene Ports sehen: 8096/tcp für HTTP-Verkehr, 8920/tcp für HTTPS-Verkehr, 1900/udp und 7359/udp für den Dienst auto-discovery.

Prüfanschluss

SSL/TLS-Zertifikate generieren

In dieser Anleitung hast du die Jeallyfin-Installation mit SSL/TLS-Zertifikaten und Apache-Reverse-Proxy gesichert. Jetzt wirst du SSL/TLS-Zertifikate mit Certbot und letsencrypt generieren.

PS: Du kannst auch ein selbstsigniertes Zertifikat verwenden, wenn du dich in einer lokalen Umgebung befindest. Aber für den externen Einsatz musst du sicherstellen, dass dein Domainname vorbereitet ist und auf deine Ubuntu-IP-Adresse zeigt.

Führe den folgenden Befehl aus, um Certbot auf deinem Ubuntu-System zu installieren. Gib Y ein und drücke ENTER, um fortzufahren.

sudo apt install certbot

Führe nun den folgenden Befehl aus, um ein neues Verzeichnis /var/www/html zu erstellen.

mkdir -p /var/www/html

Zuletzt führst du den folgenden Certbot-Befehl aus, um SSL/TLS-Zertifikate für deinen Jellyfin-Domainnamen zu generieren. Achte darauf, dass du die E-Mail-Adresse und den Domainnamen mit deinen Daten änderst.

sudo certbot certonly --agree-tos --email user@email.com --no-eff-email --webroot -w /var/www/html -d media.hwdomain.io

Nachdem der Vorgang abgeschlossen ist, sind deine SSL/TLS-Zertifikate im Verzeichnis /etc/letsencrypt/live/domain.com verfügbar.

Apache als Reverse Proxy konfigurieren

In diesem Abschnitt wirst du den Apache Webserver als Reverse Proxy für Jellyfin installieren und konfigurieren. Los geht’s.

Führe zunächst den folgenden Befehl aus, um den Apache-Webserver auf deinem System zu installieren.

sudo apt install apache2 -y

apache2 installieren

Sobald die Installation abgeschlossen ist, führe den Befehl a2enmod aus, um die erforderlichen Apache-Module zu aktivieren.

sudo a2enmod proxy proxy_http ssl proxy_wstunnel remoteip http2 headers

Führe nun den folgenden Befehl im nano-Editor aus, um eine neue Apache Virtual Host-Datei /etc/apache2/sites-available/jellyfin.conf zu erstellen.

sudo nano /etc/apache2/sites-available/jellyfin.conf

Füge die folgende Konfiguration ein, um einen Reverse Proxy für Jeallyfin einzurichten. Achte darauf, dass du den Domainnamen und den Pfad der SSL-Zertifikate mit deinen Angaben änderst.

<VirtualHost *:80>
 ServerName media.hwdomain.io
# Comment to prevent HTTP to HTTPS redirect
Redirect permanent / https://media.hwdomain.io/

ErrorLog /var/log/apache2/media.hwdomain.io-error.log
CustomLog /var/log/apache2/media.hwdomain.io-access.log combined
</VirtualHost>

# If you are not using an SSL certificate, replace the 'redirect'
# line above with all lines below starting with 'Proxy'
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName media.hwdomain.io
# This folder exists just for certbot(You may have to create it, chown and chmod it to give apache permission to read it)
DocumentRoot /var/www/html/jellyfin/public_html

ProxyPreserveHost On

# Letsencrypt's certbot will place a file in this folder when updating/verifying certs
# This line will tell Apache to not to use the proxy for this folder.
ProxyPass "/.well-known/" "!"

# Tell Jellyfin to forward that requests came from TLS connections
RequestHeader set X-Forwarded-Proto "https"
RequestHeader set X-Forwarded-Port "443"

ProxyPass "/socket" "ws://192.168.5.30:8096/socket"
ProxyPassReverse "/socket" "ws://192.168.5.30:8096/socket"

ProxyPass "/" "http://192.168.5.30:8096/"
ProxyPassReverse "/" "http://192.168.5.30:8096/"

SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/media.hwdomain.io/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/media.hwdomain.io/privkey.pem
Protocols h2 http/1.1

# Enable only strong encryption ciphers and prefer versions with Forward Secrecy
SSLCipherSuite HIGH:RC4-SHA:AES128-SHA:!aNULL:!MD5
SSLHonorCipherOrder on

# Disable insecure SSL and TLS versions
SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1

ErrorLog /var/log/apache2/media.hwdomain.io-error.log
CustomLog /var/log/apache2/media.hwdomain.io-access.log combined
</VirtualHost>
</IfModule>

Speichere und schließe die Datei, wenn du fertig bist.

Als Nächstes führst du den folgenden Befehl aus, um die virtuelle Hostdatei jellyfin.conf zu aktivieren. Überprüfe dann deine Apache-Konfiguration, um sicherzustellen, dass du die richtige Syntax hast.

sudo a2ensite jellyfin.conf
sudo apachectl configtest

Wenn alles in Ordnung ist, solltest du eine Ausgabe wie„Syntax OK“ sehen.

Reverse Proxy einrichten

Führe nun den Befehl systemctl aus, um den Apache-Dienst neu zu starten und deine Änderungen zu übernehmen.

sudo systemctl restart apache2

Nach dem Neustart überprüfst du den Apache-Dienst, um sicherzustellen, dass der Dienst läuft und aktiviert ist.

sudo systemctl is-enabled apache2
sudo systemctl status apache2

Wenn alles klappt, solltest du sehen, dass Apache auf deinem Ubuntu-Rechner aktiviert ist und läuft.

apache2 überprüfen

UFW konfigurieren

Nachdem du Jellyfin installiert hast, kannst du nun UFW konfigurieren, um deine Installation zu sichern.

Führe zunächst den folgenden Befehl aus, um die Ports für SSH, HTTP und HTTPS zu öffnen.

sudo ufw allow OpenSSH
sudo ufw allow 'Apache Full'

Öffne nun die Ports 1900/udp und 7359/udp für die automatische Erkennung mit folgendem Befehl.

sudo ufw allow 1900/udp
sudo ufw allow 7359/udp

Als Nächstes führst du den folgenden Befehl aus, um UFW zu starten und zu aktivieren. Gib zur Bestätigung Y ein.

sudo ufw enable

Überprüfe abschließend die Liste der Ports und Dienste auf UFW mit dem folgenden Befehl.

sudo ufw status

Du wirst sehen, dass die Profile OpenSSH und „Apache Full“ aktiviert sind und dass die Ports 1900/udp und 7359/udp ebenfalls zu UFW hinzugefügt wurden.

Installation von Jellyfin Media Server

Zu diesem Zeitpunkt sind alle Abhängigkeiten konfiguriert. Du kannst nun über deinen Webbrowser auf deine Jellyfin-Installation zugreifen.

Rufe den Domainnamen deines Jellyfin-Servers (z.B. https://media.hwdomain.io/) mit deinem Webbrowser auf. Du wirst die Willkommensnachricht von Jellyfin sehen.

Klicke auf Weiter, um fortzufahren.

Willkommen

Erstelle nun deinen ersten Benutzer auf Jellyfin und klicke dann auf Weiter.

Benutzer einrichten

Nun wirst du aufgefordert, eine Medienbibliothek für Jellyfin einzurichten. Klicke auf Weiter, um dies zu überspringen. Du kannst sie später einrichten, wenn die Konfiguration abgeschlossen ist.

Mediathek überspringen

Wähle deine bevorzugte Metadaten-Sprache und klicke erneut auf Weiter.

Metadatensprache

Im Abschnitt Fernzugriff aktivierst du die Kontrollkästchen Fernverbindung zulassen und Automatische Portzuordnung. Klicke dann zur Bestätigung auf Weiter.

Fernzugriff

Klicke abschließend auf Fertig stellen, um die Installation von Jellyfin abzuschließen.

beenden

Du wirst nun zur Jellyfin-Anmeldeseite weitergeleitet. Gib deinen Benutzernamen und dein Passwort ein und klicke dann auf Anmelden.

Anmeldung

Jetzt siehst du das Jellyfin-Dashboard wie folgt:

Dashboard

Wenn du auf das Menü Administration klickst, siehst du detaillierte Informationen über deinen Jellyfin-Server. In diesem Beispiel kannst du sehen, dass Jellyfin xxx auf dem Ubuntu-System installiert ist.

Verwaltung

Fazit

Herzlichen Glückwunsch! Du hast nun erfolgreich den Jellyfin Media Server auf dem Ubuntu 22.04 Server installiert. Außerdem hast du Jellyfin mit Apache als Reverse Proxy und SSl/TLS von Letsencrypt abgesichert. Von nun an kannst du Mediendateien zu deiner Bibliothek hinzufügen und deine Sammlung auf Jellyfin speichern.

Das könnte dich auch interessieren …