GNU/Linux >> Znalost Linux >  >> Debian

Jak nainstalovat Jellyfin Media Server na Debian 11 Bullseye

Medúza je bezplatná multimediální aplikace s otevřeným zdrojovým kódem určená k organizování, správě a sdílení digitálních mediálních souborů do síťových zařízení v interní síti a lze k ní přistupovat podle potřeby na dálku. Je to multiplatformní a alternativa k dalším významným hráčům, Plex a Emby. Můžete k němu přistupovat z celé řady zařízení, jako jsou mobilní telefony, tablety, televize a počítače nebo populární mediální zařízení, jako je Roku nebo štít Nvidia. Jellyfin také poskytuje média pro zařízení s podporou DLNA a Chromecast a může načítat metadata stejně jako Plex a Emby, aby mohla vaše média organizovat do kategorií v bohatém multimediálním zážitku.

Pokud byste chtěli testovat, Jellyfin vytvořil demo server přihlaste se a sami si to ověřte.

V následujícím tutoriálu se dozvíte, jak nainstalovat Jellyfin na Debian 11 Bullseye, spolu s tím, jak nastavit vaše mediální jednotky tak, aby měly správný přístup pro čtení a zápis; plus, pokud chcete vzdáleně streamovat možnost reverzního proxy Apache nebo Nginx,jak to zabezpečit pomocí certifikátu Let’s Encrypt Free SSL pro obě webové aplikace.

Aktualizujte Debian

Nejprve, než začnete zajišťovat hladký průběh instalace, aktualizujte svůj systém následovně.

sudo apt update && sudo apt upgrade -y

Instalujte požadované balíčky

Než budete pokračovat ve výukovém programu, budete se muset ujistit, že máte nainstalované následující balíčky:

sudo apt install apt-transport-https ca-certificates gnupg2 curl git -y

Pokud si nejste jisti, spusťte příkaz; neublíží vám to.

Instalovat Jellyfin Media Server

Jellyfin se nedodává s výchozím úložištěm Debianu, takže musíte importovat klíč GPG a úložiště Jellyfin.

Importovat klíč GPG

Nejprve budete muset importovat klíč GPG, abyste ověřili pravost balíčku; bez něj se instalace nezdaří:

sudo wget -O- https://repo.jellyfin.org/jellyfin_team.gpg.key | gpg --dearmor | sudo tee /usr/share/keyrings/jellyfin.gpg

Importovat úložiště

Dalším krokem je import úložiště, můžete importovat stabilní (doporučeno) nebo nestabilní (beta/vývojovou) verzi, jak jsem pochopil, nestabilní může fungovat dobře, ale doporučil bych to pouze uživatelům, kteří jsou jistější v terminál a oprava problémů, pokud nastanou a mají čas.

IMPORTOVAT POUZE JEDNO ÚLOŽIŠTĚ VŽDY.

Importovat stabilní JellyFin (doporučeno):

echo "deb [arch=$( dpkg --print-architecture ) signed-by=/usr/share/keyrings/jellyfin.gpg] https://repo.jellyfin.org/debian bullseye main" | sudo tee /etc/apt/sources.list.d/jellyfin.list

Import JellyFin nestabilní:

echo "deb [arch=$( dpkg --print-architecture ) signed-by=/usr/share/keyrings/jellyfin.gpg] https://repo.jellyfin.org/debian bullseye main unstable" | sudo tee /etc/apt/sources.list.d/jellyfin.list

Dále dokončete a aktualizujte seznam svého úložiště tak, aby rozpoznal nové přírůstky:

sudo apt update

Instalovat Jellyfin

Nyní, když máte apt repozitář roztříděný, můžete nyní pokračovat v instalaci Media serveru pomocí následujícího příkazu:

sudo apt install jellyfin -y

Po instalaci se služba Jellyfin automaticky spustí. Potvrďte to pomocí následujícího příkaz systemctl .

systemctl status jellyfin

Příklad výstupu:

Pokud váš server médií nebyl z nějakého důvodu spuštěn, použijte následující příkazy:

Spusťte službu:

sudo systemctl start jellyfin

Povolit při spouštění systému:

sudo systemctl enable jellyfin

Počáteční nastavení serveru Jellyfin Media Server

Pro přístup k webovému uživatelskému rozhraní Jellyfin musíte otevřít svůj internetový prohlížeč a zadat 127.0.0.1 na výchozím portu Jellyfin 8096.

Příklad níže:

http://127.0.0.1:8096

Dostanete se na uvítací obrazovku pro úvodní nastavení serveru.

Vyberte svůj preferovaný jazyk zobrazení a klikněte na tlačítko Další -> pokračovat.

Dále se setkáte s vytvořením uživatelského jména a hesla.

Vytvořte si uživatelské jméno a heslo; jak je uvedeno na obrázku výše, po dokončení počátečního nastavení lze zadat více uživatelů. Po dokončení klikněte na tlačítko Další -> tlačítko pokračovat.

Nyní můžete nastavit knihovny médií.

Klikněte na velké + (znaménko plus) nebo Přidat knihovnu médií knoflík. Odtud můžete přidat svou složku médií, nastavení je velmi přímočaré a uživatelé Plex by zvláště cítili velmi blízkou podobnost. Po dokončení klikněte na Další -> pokračujte.

Další obrazovka je obrazovka Metadata Langauge:

Vyberte svůj jazyk a poté klikněte na tlačítko Další -> .

Pokud budete používat nebo, lépe řečeno přistupovat k serveru zvenčí a nebo za proxy, nezapomeňte nastavit Povolit vzdálená připojení k tomuto serveru jako je výchozí nastavení. Pokud přistupujete pouze k místní síti, deaktivujte toto.

Nyní uvidíte obrazovku oznamující, že jste dokončili instalaci.

Snadný krok, klikněte na tlačítko Dokončit dokončit.

Budete přesměrováni na přihlašovací obrazovku, kde se můžete přihlásit pomocí uživatelského účtu a hesla, které jste vytvořili v úvodním nastavení.

Nyní budete ve svém řídicím panelu.

Pokud během instalace nastavíte médium, automaticky se zobrazí.

Obnovit počáteční nastavení

Pokud jste během počátečního nastavení udělali chybu, můžete se vrátit pomocí následujících kroků:

Otevřete soubor system.xml:

sudo nano /etc/jellyfin/system.xml

Změňte následující, které se nachází na řádku 4:

<IsStartupWizardCompleted>true</IsStartupWizardCompleted>

Na toto:

<IsStartupWizardCompleted>false</IsStartupWizardCompleted>

Restartujte server Jellyfin:

sudo systemctl restart jellyfin

Jakmile resetujete počáteční nastavení, znovu přejděte na HTTP://127.0 .0.1:8096 a restartujte proces znovu.

Nastavení oprávnění pro jednotky médií

Jellyfin bude vyžadovat oprávnění ke čtení a spouštění vašich mediálních adresářů. Můžete použít chown nebo chgrp příkazy; naučíte se však používat příkaz setfacl pro tutoriál. Toto je pokryto, protože má potenciál být později bezpečnější a můžete ovládat přístup na velmi podrobné úrovni ve srovnání s výchozím způsobem chown a chgrp.

Chcete-li nainstalovat, spusťte následující příkaz:

sudo apt install acl -y

Debian by to měl mít nainstalováno ve výchozím nastavení, ale pokud si nejste jisti, spusťte příkaz pro jistotu.

Nyní máte několik možností pomocí příkazu setfalc , ale ve skutečnosti nebudete procházet udělováním oprávnění pro každý film a televizní pořad; místo toho je jednodušší použít rekurzivní příznak (-R) který poskytne Jellyfin přístup, který potřebuje pro vše, co se nachází v adresáři a podadresářích.

sudo setfacl -R -m u:jellyfin:rx /media/mymediadrive

Pokud potřebujete přiřadit oprávnění jednotlivým mediálním adresářům nebo souborům, použijte následující:

sudo setfacl -m u:jellyfin:rx /media/mymediadrive/example-name-of-file-or-directory

Nastavení Apache jako reverzního proxy

Můžete nastavit reverzní proxy pro přístup k Jellyfin ze vzdáleného počítače nebo sítě. V tomto příkladu výukový program nastaví proxy server Apache. Pokud chcete používat Nginx, přeskočte tuto část a přejděte do Nastavení Nginx jako reverzního proxy.

Nejprve nainstalujte Apache:

sudo apt install apache2 -y

Ve výchozím nastavení by měl být Apache povolen, pokud není aktivován. použití:

sudo systemctl start apache2

Chcete-li povolit spuštění Apache při spouštění, použijte následující příkaz:

sudo systemctl enable apache2

Příklad výstupu v případě úspěchu:

Synchronizing state of apache2.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable apache2

Ověřte stav Apache:

systemctl status apache2

Příklad výstupu:

Chcete-li použít Apache jako reverzní proxy, musíte modul povolit pomocí následujícího příkazu:

sudo a2enmod proxy proxy_http headers proxy_wstunnel

Dále vytvořte virtuálního hostitele pro svou subdoménu:

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

Budete potřebovat aktivní doménové jméno, které lze zakoupit za pouhých 1 až 2 dolary, pokud žádnou nemáte. NameLevný má nejlepší levné domény v okolí a pokud dáváte přednost .com, použijte Cloudflare.

Po vytvoření subdomény přidejte do souboru bloku serveru následující:

<VirtualHost *:80>
    ServerName jellyfin.example.com

    # Comment to prevent HTTP to HTTPS redirect
    Redirect permanent / https://DOMAIN_NAME

    ErrorLog /var/log/apache2/DOMAIN_NAME-error.log
    CustomLog /var/log/apache2/DOMAIN_NAME-access.log combined
</VirtualHost>

# If you are not using a SSL certificate, replace the 'redirect'
# line above with all lines below starting with 'Proxy'
<IfModule mod_ssl.c>
<VirtualHost *:443>
    ServerName DOMAIN_NAME
    # 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/" "!"

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

    ProxyPass "/" "http://SERVER_IP_ADDRESS:8096/"
    ProxyPassReverse "/" "http://SERVER_IP_ADDRESS:8096/"

    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/DOMAIN_NAME/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/DOMAIN_NAME/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/DOMAIN_NAME-error.log
    CustomLog /var/log/apache2/DOMAIN_NAME-access.log combined
</VirtualHost>
</IfModule>

Uložte soubor (CTRL+O) , poté ukončete (CTRL+X) .

Nyní proveďte zkušební provoz, abyste se ujistili, že v konfiguraci Apache nebo vašeho virtuálního hostitele nejsou žádné chyby:

sudo apache2ctl configtest

Pokud vše funguje správně, vzorový výstup by měl být:

Syntax OK

Povolte virtuálního hostitele na Apache následovně:

sudo a2ensite jellyfin.conf

Poté restartujte Apache:

sudo systemctl restart apache2

Nastavení Nginx jako reverzního proxy

Můžete nastavit reverzní proxy pro přístup k Jellyfin ze vzdáleného počítače nebo sítě. V tomto příkladu výukový program nastaví proxy server Nginx.

Nejprve nainstalujte Nginx:

sudo apt install nginx -y

Ve výchozím nastavení by měl být Nginx povolen, pokud není aktivován. použití:

sudo systemctl start nginx

Chcete-li povolit spuštění Nginx při spouštění, použijte následující příkaz:

sudo systemctl enable nginx

Příklad výstupu v případě úspěchu:

Synchronizing state of nginx.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable nginx

Ověřte stav Nginx:

systemctl status nginx

Příklad výstupu:

Pokud byste chtěli nainstalovat nejnovější sestavení Nginx, podívejte se na náš tutoriál o instalaci nejnovější verze Nginx Mainline nebo Stable o n Debian 11.

Nyní vytvořte nový blok serveru následovně:

sudo nano /etc/nginx/conf.d/jellyfin.conf

Budete potřebovat aktivní doménové jméno, které lze zakoupit za pouhých 1 až 2 dolary, pokud žádnou nemáte. NameLevný má nejlepší levné domény v okolí a pokud dáváte přednost .com, použijte Cloudflare.

Po vytvoření subdomény přidejte do souboru bloku serveru následující:

server {
      listen 80;
      server_name jellyfin.example.com;

      access_log /var/log/nginx/jellyfin.access;
      error_log /var/log/nginx/jellyfin.error;

    set $jellyfin jellyfin;
    resolver 127.0.0.1 valid=30;

    # Security / XSS Mitigation Headers
    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Content-Type-Options "nosniff";

    location = / {
        return 302 https://$host/web/;
    }

    location / {
        # Proxy main Jellyfin traffic
        proxy_pass http://$jellyfin:8096;
        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_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Protocol $scheme;
        proxy_set_header X-Forwarded-Host $http_host;

        # Disable buffering when the nginx proxy gets very resource heavy upon streaming
        proxy_buffering off;
    }

    # location block for /web - This is purely for aesthetics so /web/#!/ works instead of having to go to /web/index.html/#!/
    location = /web/ {
        # Proxy main Jellyfin traffic
        proxy_pass http://$jellyfin:8096/web/index.html;
        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_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Protocol $scheme;
        proxy_set_header X-Forwarded-Host $http_host;
    }

    location /socket {
        # Proxy Jellyfin Websockets traffic
        proxy_pass http://$jellyfin:8096/socket;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        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_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Protocol $scheme;
        proxy_set_header X-Forwarded-Host $http_host;
    }
}

Uložte soubor (CTRL+O) , poté ukončete (CTRL+X) .

Nyní proveďte zkušební provoz, abyste se ujistili, že v konfiguraci Nginx nebo v bloku vašeho serveru nejsou žádné chyby:

sudo nginx -t

Pokud vše funguje správně, vzorový výstup by měl být:

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

Znovu načtěte Nginx, aby se změna projevila:

sudo systemctl reload nginx

Pokud jste nastavili svou doménu a záznamy DNS tak, aby odkazovaly na IP adresu vašeho serveru, můžete nyní přistupovat ke svému serveru médií Jellyfin na adrese jellyfin.example.com .

Zabezpečte Nginx nebo Apache pomocí bezplatného certifikátu Let's Encrypt SSL

V ideálním případě byste chtěli spustit svůj Apache nebo Nginx na HTTPS pomocí certifikátu SSL. Nejlepším způsobem, jak toho dosáhnout, je použít Let’s Encrypt, bezplatnou, automatizovanou a otevřenou certifikační autoritu provozovanou neziskovou organizací Internet Security Research Group (ISRG).

Nejprve nainstalujte balíček certbot odpovídající reverznímu proxy, který jste nainstalovali.

Apache:

sudo apt install python3-certbot-apache -y

Nginx:

sudo apt install python3-certbot-nginx -y

Po instalaci spusťte následující příkaz pro zahájení vytváření vašeho certifikátu:

Apache:

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d jellyfin.example.com

Nginx:

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d jellyfin.example.com

Toto ideální nastavení zahrnuje vynucené přesměrování HTTPS 301, hlavičku Strict-Transport-Security a sešívání OCSP. Nezapomeňte upravit e-mail a název domény podle svých požadavků.

Nyní bude vaše adresa URL https://jellyfin.example.com místo HTTP://jellyfin.example.com .

Jak aktualizovat/upgradovat Jellyfin Media Server

Jellyfin lze aktualizovat pomocí standardního příkazu apt update že většinu času využijete při aktualizaci balíčků na vašem systému.

Pomocí následujícího příkazu zkontrolujete aktualizace, které automaticky vyzvednou i vše ostatní.

sudo apt update

Pokud je k dispozici, použijte příkaz upgrade:

sudo apt upgrade

Jak odebrat (odinstalovat) Jellyfin Media Server

Pro uživatele, kteří již tento software nepotřebují, můžete Jellyfin ze svého systému Debian odebrat.

Nejprve odstraňte software pomocí následujícího příkazu.

sudo autoremove install jellyfin --purge -y

Dále odeberte přidané úložiště, pokud nemáte v plánu Jellyfin znovu použít.

sudo rm /etc/apt/sources.list.d/jellyfin.list

A to je vše; úspěšně jste odstranili Jellyfin ze svého systému.


Debian
  1. Jak nainstalovat Plex Media Server na Debian 9

  2. Jak nainstalovat Jellyfin Media Server na Debian 10

  3. Jak nainstalovat Docker v Debian 11 (Bullseye)

  1. Jak nainstalovat Jellyfin Media Server na Debian 10 Buster

  2. Jak nainstalovat TeamViewer na Debian 11 Bullseye

  3. Jak nainstalovat AnyDesk na Debian 11 Bullseye

  1. Jak nainstalovat Wine 7 na Debian 11 Bullseye

  2. Jak nainstalovat PHP 8 na Debian 11 Bullseye

  3. Jak nainstalovat Memcached na Debian 11 Bullseye