Installera Jellyfin Media Server Linux Mint 20

Jellyfin är en gratis multimediaapplikation med öppen källkod utformad för att organisera, hantera och dela digitala mediefiler till nätverksanslutna enheter på ett internt nätverk och kan nås på distans efter önskemål. Det är en plattformsoberoende och alternativ till andra stora aktörer, Plex och Emby. Du kan komma åt den från en rad enheter som mobil, surfplattor, TV och datorer eller populära mediaenheter som Roku eller Nvidia shield. Jellyfin serverar även media till DLNA- och Chromecast-aktiverade enheter och kan hämta metadata precis som Plex och Emby gör så att du kan organisera dina media i kategorier i en rik multimediaupplevelse.

Om du skulle vilja testa har Jellyfin skapat en demoserver att logga in och kolla upp det själv.

Hur man installerar Jellyfin Media Server Linux Mint 20

I följande handledning kommer du att lära dig hur man installerar Jellyfin på Linux Mint 20, tillsammans med hur du ställer in dina mediaenheter för att ha korrekt läs- och skrivåtkomst, plus om du vill streama en Apache or nginx omvänd proxy-alternativ på distans med hur man säkrar den med Låt oss kryptera gratis SSL certifikat för båda webbapplikationerna.

Uppdatera Linux Mint System

Uppdatera din Linux Mint operativsystem för att se till att alla befintliga paket är uppdaterade:

sudo apt update && sudo apt upgrade -y

Installera beroenden

Du måste se till att du har följande paket installerade för att installera Jellyfin Media-servern:

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

Om du är osäker, kör bara kommandot; det kommer inte att skada dig.

Installera Jellyfin Media Server

Som standard kommer Jellyfin inte i Linux Mint eller Ubuntus standardlager, så du måste importera Jellyfin GPG-nyckeln och arkivet.

Importera GPG-nyckel

Först måste du importera GPG-nyckeln för att verifiera paketets äkthet; utan det kommer installationen att misslyckas:

wget -O - https://repo.jellyfin.org/jellyfin_team.gpg.key | sudo apt-key add -

Om den importeras korrekt kommer du att få följande utdata i din terminal:

OK

Importera arkivet

Nästa steg är att importera förvaret:

echo "deb [arch=$( dpkg --print-architecture )] https://repo.jellyfin.org/ubuntu focal main" | sudo tee /etc/apt/sources.list.d/jellyfin.list

För att avsluta, uppdatera din förvarslista för att känna igen de nya tilläggen enligt följande:

sudo apt update

Installera Jellyfin

Nu när du har sorterat apt-förrådet kan du nu fortsätta att installera mediaservern med följande kommando:

sudo apt install jellyfin

Exempel på utdata med extra beroenden som kommer att installeras:

Hur man installerar Jellyfin Media Server Linux Mint 20

TYP Y, tryck sedan på ENTER-TANGENT för att slutföra installationen.

När den har installerats kommer Jellyfin-tjänsten att startas automatiskt. För att bekräfta detta, använd följande systemctl kommando:

systemctl status jellyfin

Exempel utmatning:

Hur man installerar Jellyfin Media Server Linux Mint 20

Om din mediaserver inte har startats av någon anledning, använd följande kommandon:

Att börja:

sudo systemctl start jellyfin

Så här aktiverar du vid systemstart:

sudo systemctl enable jellyfin

Jellyfin Media Server Initial installation

För att komma åt Jellyfin Web UI måste du öppna din webbläsare och ange 127.0.0.1 på Jellyfins standardport 8096.

Exempel nedan:

http://127.0.0.1:8096

Du kommer över välkomstskärmen för den första serverkonfigurationen.

Hur man installerar Jellyfin Media Server Linux Mint 20

Välj din Föredraget visningsspråk och klicka på Nästa -> knapp att fortsätta.

Därefter kommer du att stöta på att skapa ett användarnamn och lösenord.

Hur man installerar Jellyfin Media Server Linux Mint 20

Skapa ett användarnamn och lösenord; som framgår av bilden ovan kan fler användare registreras när den första installationen är klar. När du är klar klickar du på Nästa -> knapp att fortsätta.

Nu kan du ställa in dina mediebibliotek.

Hur man installerar Jellyfin Media Server Linux Mint 20

Klicka på den stora + (plustecken) or Lägg till mediebibliotek knapp. Härifrån kan du lägga till din mediamapp, installationen är väldigt enkel, och användare av Plex skulle särskilt känna en mycket nära likhet. När du är klar klickar du på Nästa -> knappen för att fortsätta.

Nästa skärm är skärmen Metadata Langauge:

Hur man installerar Jellyfin Media Server Linux Mint 20

Välj Språk, klicka sedan på Nästa -> knapp.

Hur man installerar Jellyfin Media Server Linux Mint 20

Om du kommer att använda eller, med bättre ord, komma åt servern utifrån och eller bakom en proxy, se till att ställa in Tillåt fjärranslutningar till den här servern som är standardinställningen i det här fallet. Om du bara ansluter till ett lokalt nätverk, inaktivera detta.

Nu kommer du att se skärmen som säger att du har avslutat installationen.

Hur man installerar Jellyfin Media Server Linux Mint 20

Enkelt steg, klicka på Slutför-knappen att avsluta.

Du kommer att tas till inloggningsskärmen för att logga in med användarkontot och lösenordet som du skapade i den första installationen.

Hur man installerar Jellyfin Media Server Linux Mint 20

Nu kommer du att vara i din instrumentpanel.

Hur man installerar Jellyfin Media Server Linux Mint 20

Om du ställer in media under installationen visas det automatiskt.

Återställ grundinställning

Om du gjorde ett fel under den första installationen kan du återgå med följande steg:

Öppna filen system.xml:

sudo nano /etc/jellyfin/system.xml

Ändra följande, som finns på rad 4:

<IsStartupWizardCompleted>true</IsStartupWizardCompleted>

Till detta:

<IsStartupWizardCompleted>false</IsStartupWizardCompleted>

Starta om Jellyfin-servern:

sudo systemctl restart jellyfin

När du har återställt den ursprungliga installationen, gå tillbaka till HTTP://127.0.0.1:8096 och starta om processen igen.

Konfigurera behörigheter för mediaenheter

Jellyfin måste ha läst och köra tillstånd på dina mediekataloger. Du kan använda chown eller chgrp kommandon; men du kommer att lära dig att använda setfacl kommando för handledningen. Detta täcks eftersom det senare har potential att bli säkrare och du kan kontrollera åtkomsten på en mycket detaljerad nivå jämfört med standardsättet för chown och chgrp.

För att installera, kör följande kommando:

sudo apt install acl -y

Nu har du några alternativ med setfalc kommando, men realistiskt sett kommer du inte att gå igenom att ge varje film och tv-program behörighet; istället är det enklare sättet att använda rekursiv flagga (-R) som kommer att ge Jellyfin åtkomst den behöver för allt som finns i katalogen och underkatalogerna.

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

Om du behöver tilldela behörighet till enskilda mediekataloger eller filer, använd följande:

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

Ställ in Apache som en omvänd proxy

Du kan ställa in en omvänd proxy för att komma åt Jellyfin från en fjärrdator eller ett fjärrnätverk. I det här exemplet kommer handledningen att ställa in en Apache-proxyserver. Om du vill använda Nginx, hoppa över den här delen och gå till Ställ in Nginx som en omvänd proxy.

Installera först Apache:

sudo apt install apache2 -y

Som standard ska Apache vara aktiverat om det inte är aktiverat. använda sig av:

sudo systemctl start apache2

För att aktivera Apache att starta vid uppstart, använd följande kommando:

sudo systemctl enable apache2

Exempel på utdata om framgångsrikt:

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

Verifiera statusen för Apache:

systemctl status apache2

Exempel utmatning:

Hur man installerar Jellyfin Media Server Linux Mint 20

För att använda Apache som en omvänd proxy, måste du aktivera modulen med följande kommando:

sudo a2enmod proxy proxy_http headers proxy_wstunnel

Skapa sedan en virtuell värd för din underdomän:

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

Du behöver ett aktivt domännamn som kan köpas för så lite som 1 till 2 dollar om du inte har ett. Namecheap har de bästa billiga domänerna på gång och om du föredrar en .com, använd CloudFlare.

När du har skapat din underdomän lägger du till följande i serverblockeringsfilen:

<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>

Spara filen (CTRL+O), avsluta sedan (CTRL+X).

Gör nu en torrkörning för att se till att det inte finns några fel i Apache-konfigurationen eller din virtuella värd:

sudo apache2ctl configtest

Om allt fungerar korrekt bör exempelutdata vara:

Syntax OK

Aktivera den virtuella värden på Apache enligt följande:

sudo a2ensite jellyfin.conf

Starta om Apache:

sudo systemctl restart apache2

Ställ in Nginx som en omvänd proxy

Du kan ställa in en omvänd proxy för att komma åt Jellyfin från en fjärrdator eller ett fjärrnätverk. I det här exemplet kommer handledningen att ställa in en Nginx-proxyserver.

Installera först Nginx:

sudo apt install nginx -y

Som standard ska Nginx vara aktiverat om det inte är aktiverat. använda sig av:

sudo systemctl start nginx

För att aktivera Nginx att startas vid uppstart, använd följande kommando:

sudo systemctl enable nginx

Exempel på utdata om framgångsrikt:

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

Verifiera statusen för Nginx:

sudo systemctl status nginx

Exempel utmatning:

Hur man installerar Jellyfin Media Server Linux Mint 20

Skapa nu ett nytt serverblock enligt följande:

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

Du behöver ett aktivt domännamn som kan köpas för så lite som 1 till 2 dollar om du inte har ett. Namecheap har de bästa billiga domänerna på gång och om du föredrar en .com, använd CloudFlare.

När du har skapat din underdomän lägger du till följande i serverblockeringsfilen:

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;
    }
}

Spara filen (CTRL+O), avsluta sedan (CTRL+X).

Gör nu en torrkörning för att se till att inga fel finns i Nginx-konfigurationen eller ditt serverblock:

sudo nginx -t

Om allt fungerar korrekt bör exempelutdata vara:

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

Ladda om Nginx för att ändringen ska träda i kraft:

sudo systemctl reload nginx

Om du har ställt in dina domän- och DNS-poster för att peka på din server-IP, kan du nu komma åt din Jellyfin Media Server på jellyfin.example.com.

Säkra Nginx eller Apache med Let's Encrypt SSL Free Certificate

Helst skulle du vilja köra din Apache eller Nginx på HTTPS med ett SSL-certifikat. Det bästa sättet att göra detta är att använda Låt oss kryptera, en gratis, automatiserad och öppen certifikatutfärdare som drivs av ideell Internet Security Research Group (ISRG).

Först installerar du certbot-paket enligt följande:

Apache:

sudo apt install python3-certbot-apache -y

Nginx:

sudo apt install python3-certbot-nginx -y

När det är installerat, kör följande kommando för att starta skapandet av ditt certifikat:

Apache:

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d jellyfin.example.com

Nginx:

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d jellyfin.example.com

Denna idealiska installation inkluderar forcerad HTTPS 301-omdirigeringar, en Strict-Transport-Security-huvud och OCSP-häftning. Se bara till att anpassa e-post och domännamn efter dina krav.

Nu blir din URL https://jellyfin.example.com istället för HTTP://jellyfin.example.com.

Om du använder den gamla HTTP URLkommer den automatiskt att omdirigera till HTTPS.

Uppdaterar Jellyfin Media Server

Jellyfin kan uppdateras enligt standarden kommandon apt update & apt upgrade att du skulle använda det mesta av din tid på att uppgradera paket på ditt system.

Så här söker du efter uppdateringar:

sudo apt update

Om en sådan är tillgänglig, använd uppgraderingskommandot:

sudo apt upgrade

Ta bort (avinstallera) Jellyfin Media Server

För att ta bort Jellyfin från ditt system. Ta först bort programvaran med följande kommando.

sudo autoremove install jellyfin --purge -y

Ta sedan bort det tillagda förvaret om du inte har några planer på att använda Jellyfin igen.

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

Och det är det; du har raderat Jellyfin från ditt system.

Kommentarer och slutsats

Handledningen har täckt en hel del av att installera Jellyfin på Linux Mint 20 och ställa in behörigheter och fjärråtkomst via Apache eller Nginx.

Sammantaget är mediaservern ett ganska spännande projekt. Den är obefläckad och behaglig för ögonen och fungerar bra utanför lådan. Om du är en långvarig Plex- eller Emby-användare är det en bra idé att hålla ett öga på detta som ett alternativ om du inte är villig att byta nu eftersom detta kan vara en värdefull räddare.


Inte vad du letade efter? Försök att söka efter ytterligare tutorials.

1 tanke om “Installera Jellyfin Media Server Linux Mint 20”

Lämna en kommentar