zondag 18 februari 2024

Jellyfin op eigen server

Jellyfin is een zelfgehost open source mediastreamingplatform. het kan worden uitgevoerd op een Raspberry PI of op een QNAP NAS of op een laptop

Om het op een Raspberry PI te installeren, gebruikt u:

sudo apt update
sudo apt full-upgrade
sudo apt install apt-transport-https lsb-release
curl https://repo.jellyfin.org/debian/jellyfin_team.gpg.key | gpg --dearmor | sudo tee /usr/share/keyrings/jellyfin-archive-keyring.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/jellyfin-archive-keyring.gpg arch=$( dpkg --print-architecture )] https://repo.jellyfin.org/debian $( lsb_release -c -s ) main" | sudo tee /etc/apt/sources.list.d/jellyfin.list
sudo apt update
sudo apt install jellyfin

Nu je de Jellyfin-mediaserver op je Raspberry Pi hebt geïnstalleerd, wil je toegang krijgen tot de webinterface.

De webinterface is eenvoudig te gebruiken en ondersteunt de meeste grote webbrowsers.

  1. Om toegang te krijgen tot de Jellyifn-webinterface, moet u het IP-adres van uw Raspberry Pi weten.

De snelste manier om het lokale IP-adres van uw Pi te verkrijgen, is door het hostnaamcommando te gebruiken, zoals we hieronder hebben weergegeven.

hostname -I

http://[IPADRES]:8096

Nu is Jellyfin actief op het IP-adres van uw Raspberry PI. Zorg ervoor dat het een statisch IP-adres is.

Voor configuratie van Jellyfin kijk hier:

https://pimylifeup.com/raspberry-pi-jellyfin/

start, stop of herstart de jellyfin-server

voer in een terminal op de Raspberry PI het volgende in:

sudo service jellyfin-status

(Voer CTRL – C in om de status te beëindigen)

sudo systemctl stop jellyfin

om de server te stoppen

sudo service jellyfin-status

om de status opnieuw te controleren (CTRL C om te eindigen)

sudo systemctl start jellyfin

om de server te starten

sudo service jellyfin-status

om de status opnieuw te controleren (CTRL C om te eindigen)

sudo systemctl restart jellyfin

om de server opnieuw op te starten

Jellyfin op de QNAP NAS

Een Franse ontwikkelaar heeft een Jellyfin-server gemaakt voor op Intel gebaseerde QNAP nas-systemen.

https://github.com/pdulvp/jellyfin-qnap

Een repository voor gebruik op de QNAP vindt u hier:

https://pdulvp.fr/qstore.html

U kunt de installatie van updates vereenvoudigen door zijn opslagplaatsen toe te voegen aan uw QNAP-instellingen.

Er zijn twee opslagplaatsen:

 Releases https://pdulvp.github.io/qnap-store/repos.xml om alleen stabiele releases op te halen Pre-releases https://pdulvp.github.io/qnap-store/repos-prereleases.xmlom updates op te halen die zijn gemarkeerd als ‘pre-releases’

(let op: in beide gevallen worden de toepassingen niet altijd in de praktijk getest)

Je kunt ook handmatig downloaden van de github pagina:

https://github.com/pdulvp/jellyfin-qnap

Voeg in de Instellingen van het AppCenter op uw QNAP de gewenste winkel-URL toe die hierboven is gedefinieerd:

Daarna kun je Jellyfin gratis installeren.

De QNAPclub store biedt ook een Jellyfin-server aan voor €5,=. Die versie is verouderd en te duur.

Jellyfin op de laptop

https://www.linuxcapable.com/how-to-install-jellyfin-media-server-on-linux-mint/ 

sudo apt update && sudo apt upgrade
sudo apt install software-properties-common apt-transport-https ca-certificates curl
curl -fsSL https://repo.jellyfin.org/ubuntu/jellyfin_team.gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/jellyfin.gpg > /dev/null

Voor Linux Mint 21:
echo "deb [arch=$( dpkg --print-architecture ) signed-by=/usr/share/keyrings/jellyfin.gpg] https://repo.jellyfin.org/ubuntu jammy main" | sudo tee /etc/apt/sources.list.d/jellyfin.list
Voor Linux Mint 20:
echo "deb [arch=$( dpkg --print-architecture ) signed-by=/usr/share/keyrings/jellyfin.gpg] https://repo.jellyfin.org/ubuntu focal main" | sudo tee /etc/apt/sources.list.d/jellyfin.list

sudo apt update
sudo apt install jellyfin
systemctl status jellyfin
sudo systemctl start jellyfin
sudo systemctl enable jellyfin

Als je Jellyfin vanaf dezelfde laptop gaat inrichten kies dan: 
http://127.0.0.1:8096
vervang het IP adres voor het juiste als jellyfin vanaf een andere machine ingericht gaat worden. Het kan zijn dat het opstartscherm niet laadt. Druk dan op F5.

Jellyfin Media Server installeren op Linux Mint 21 of 20 via APT

Stap 1: Update Linux Mint voor de installatie van Jellyfin Media Server

Voordat u de Jellyfin Media-server op uw Linux Mint-besturingssysteem installeert, is het essentieel om ervoor te zorgen dat alle pakketten up-to-date zijn. Het bijwerken van uw besturingssysteem zorgt ervoor dat alle huidige pakketten up-to-date zijn en kan helpen compatibiliteitsproblemen met Jellyfin te voorkomen.

Als u uw Linux Mint-besturingssysteem wilt bijwerken, opent u de terminal en voert u de volgende opdracht uit:

sudo apt update && sudo apt upgrade

Met deze opdracht worden alle pakketten op uw systeem bijgewerkt naar de nieuwste versies, zodat uw systeem up-to-date is.

Stap 2: Installeer de vereiste pakketten voor Jellyfin op Linux Mint

Nadat u het Linux Mint-besturingssysteem hebt bijgewerkt, moet u de benodigde pakketten installeren om de Jellyfin Media-server te installeren. De benodigde pakketten kunnen variëren, afhankelijk van de distributie en versie van uw Linux Mint.

Als u de gewenste pakketten wilt installeren, opent u de terminal en voert u de volgende opdracht uit:

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

Dit commando installeert de benodigde pakketten, waaronder apt-transport-https, ca-certificates, gnupg2 en curl.

Stap 3: Importeer de GPG-sleutel van Jellyfin Media Server

Als u de Jellyfin Media Server op Linux Mint wilt installeren, importeert u de Jellyfin GPG-sleutel en -reserver, omdat de software niet in de standaardrepository staat. Deze actie verifieert de authenticiteit en integriteit van het pakket.

Importeer de GPG-toets om te beginnen met de volgende opdracht in de terminal:

curl -fsSL https://repo.jellyfin.org/ubuntu/jellyfin_team.gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/jellyfin.gpg > /dev/null

Deze opdracht downloadt de GPG-toets van de Jellyfin-website en voegt deze toe aan de sleutelhangers van je systeem, zodat je de authenticiteit van het pakket tijdens de installatie kunt verifiëren.

Stap 4: Importeer Jellyfin Media Server APT Repository

Importeer vervolgens de stabiele of onstabiele Jellyfin-repository. We raden de stabiele opslagplaats voor de meeste gebruikers aan vanwege de grondige tests en bewezen stabiliteit. Importeer de stabiele opslagplaats met een van de volgende opdrachten:

JellyFin stabiele repo importeren voor Linux Mint:

JellyFin Media Server stabiel toevoegen voor de distributieserie Linux Mint 21:

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

Voeg JellyFin Media Server stabiel toe voor Linux Mint 20-distributieserie:

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

Het importeren van de juiste opslagplaats voor uw specifieke versie van Linux Mint is cruciaal. Het importeren van de verkeerde opslagplaats kan ertoe leiden dat Jellyfin niet correct installeert of niet functioneert zoals verwacht.

JellyFin onstabiele repo importeren Linux Mint:

U kunt de instabiele repo ook importeren met de volgende opdrachten. Merk op dat de onstabiele opslagplaats FFMpeg 5 vereist. Jellyfin biedt nu FFMpeg 6 ondersteuning via haar repositories, dus dit moet nog steeds te installeren zijn.

JellyFin Media Server importeren voor de distributieserie van Linux Mint 21:

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

JellyFin Media Server importeren instabiel voor Linux Mint 20-distributieserie:

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

Nadat u een nieuwe softwarerepository hebt toegevoegd, moet u de lijst met opslagplaatsen van uw systeem bijwerken om de nieuwe toevoegingen te herkennen. Als u dit wilt doen, voert u het volgende commando uit in de terminal:

sudo apt update

Het uitvoeren van de opdracht sudo apt update wordt bijgewerkt in de repository-vermelding van uw systeem om de nieuw toegevoegde opslagplaats op te nemen. Met deze update kan Linux Mint de nieuwe opslagplaats en de inhoud ervan herkennen, waardoor Jellyfin Media Server op uw systeem kan installeren.

Stap 4: Installeer Jellyfin op Linux Mint 21 of 20 via APT Command

Nadat u de Jellyfin-repository en de GPG-toets hebt geïmporteerd, is het tijd om de mediaserver op uw Linux Mint-systeem te installeren. Maak de installatie efficiënt af met de onderstaande opdracht:

sudo apt install jellyfin

Zodra de installatie is voltooid, wordt de Jellyfin-service automatisch gestart. Controleer de status van de Jellyfin-service met de volgende opdracht:

systemctl status jellyfin
Screenshot showing systemctl status OK for Jellyfin Media Server on Linux Mint 21 or 20.

Systemctl status bevestigt de succesvolle installatie van Jellyfin op Linux Mint.

Als de Jellyfin-service om welke reden dan ook niet kan worden gestart, kun je deze handmatig starten met de volgende opdracht:

sudo systemctl start jellyfin

Om ervoor te zorgen dat de Jellyfin-service automatisch wordt gestart tijdens het opstarten van het systeem, voert u het volgende commando uit:

sudo systemctl enable jellyfin

Deze opdrachten starten de Jellyfin-service, waarmee deze automatisch kan worden gestart tijdens het opstarten van het systeem.

Jellyfin Media Server Initial Setup op Linux Mint 21 of 20

Om toegang te krijgen tot de UI van Jellyfin Web, moet u uw internetbrowser openen en het IP-adres van uw server invoeren, gevolgd door de standaardpoort 8096. Als u de Jellyfin-server op dezelfde machine hebt geïnstalleerd, gebruikt u 127.0.0.1 als het IP-adres.

U kunt bijvoorbeeld het volgende adres typen in de adresbalk van uw browser om toegang te krijgen tot de UI van het Jellyfin-web:

http://127.0.0.1:8096

Wanneer u het bovenstaande adres invoert, stuurt het welkomstscherm voor de initiële serverconfiguratie u. Het installatiescherm biedt de nodige stappen voor het configureren van Jellyfin voor het eerste gebruik.

Tijdens de eerste installatie van uw Jellyfin-server zal de interface u vragen om de weergavetaal van uw voorkeur te selecteren.

Zodra u hebt geselecteerd, klikt u op de knop "Volgende -" om door te gaan naar de volgende stap.

Eerste keer een welkomstscherm voor Jellyfin op Linux Mint.

Nadat u de gewenste weergavetaal hebt geselecteerd, wordt u door het systeem gevraagd om een Jellyfin-account-gebruikersnaam en wachtwoord aan te maken. Uw account geeft beheerderstoegang tot de Jellyfin-server, waar u mediabibliotheken, gebruikersaccounts en serverinstellingen kunt beheren.

Maak een sterk, uniek wachtwoord dat hoofdletters en kleine letters, cijfers en symbolen combineert om uw Jellyfin-server effectief te beveiligen.

Zodra u uw gebruikersnaam en wachtwoord hebt gemaakt, klikt u op de knop door te gaan naar de volgende stap van de eerste serverconfiguratie.

Vertel ons over de stap van jezelf tijdens Jellyfin-instellingen op Linux Mint.

Nadat u uw Jellyfin-account hebt gemaakt, is de volgende stap bij het instellen van uw server het configureren van uw mediabibliotheken. Met mediabibliotheken kunt u uw media-inhoud aan Jellyfin toevoegen en op een gestructureerde manier organiseren. U kunt meerdere bibliotheken maken voor verschillende mediatypen, zoals films, tv-programma's en muziek.


We zetten bibliotheken en media op in Jellyfin op Linux Mint.

Als u media-inhoud wilt weergeven in Jellyfin, voegt u uw inhoud toe aan mediabibliotheken. Klik op de grote knop "+" of "Mediabibliotheek toevoegen" op het dashboard Jellyfin. Met deze klik wordt u doorgeleid naar het installatiescherm Mediabibliotheek om uw mediamap in te voeren.

Het toevoegen van media-inhoud aan Jellyfin is eenvoudig:

  • Als je Plex hebt gebruikt, zul je het proces bekend vinden.
  • Selecteer de knop “Mediabibliotheek toevoegen”.
  • Kies het type media dat u wilt toevoegen: films, tv-programma's of muziek.
  • Volg de aanwijzingen om uw mediamap in te voeren.
  • Stel de metagegevenstaal in, die beschrijvingen van afleveringen, biografieën van acteurs en albumillustraties biedt.

Nadat u uw mediabibliotheken hebt gepopuleerd, kunt u efficiënt content door Jellyfin ordenen en bekijken. Klik op "Next -" na het toevoegen van mediabibliotheken om door te gaan naar het scherm Metadata Taal. Selecteer hier een taal voor de metadata van uw inhoud. Deze selectie verrijkt uw inhoud met waardevolle informatie zoals cast- en crewdetails, samenvattingen en recensies.

Het kiezen van metadata taal tijdens Jellyfin setup op Linux Mint.

nadat u uw mediabibliotheken hebt opgezet en de gewenste metagegevenstaal hebt geselecteerd, configureert u de toegang op afstand voor uw Jellyfin-mediaserver. Als u op afstand inschakelt, kunt u media-inhoud bekijken vanaf verschillende locaties of apparaten, niet alleen uw lokale netwerk.

Schakel externe toegang in door verbindingen met uw Jellyfin-mediaserver mogelijk te maken en automatische poorttoewijzing te activeren. Door externe verbindingen toe te staan, kunt u overal met een internetverbinding toegang krijgen tot media-inhoud. Ondertussen opent automatische poorttoewijzing de benodigde poorten, zodat inkomende verkeer uw Jellyfin-server kan bereiken.

We configureren instellingen voor externe toegang tijdens de eerste installatie van Jellyfin op Linux Mint 21 of 20.

Zodra u de eerste installatie van uw Jellyfin-mediaserver hebt voltooid, bevestigt het volgende scherm dat het installatieproces is voltooid en dat uw server klaar is voor gebruik.

Nadat u de Jellyfin Web UI hebt geopend, voert u de gebruikersnaam en

het wachtwoord in die tijdens het eerste installatieproces is gemaakt en klikt u op de knop "Aanmelden". Met deze actie gaat u naar het Jellyfin-dashboard, waar u toegang hebt tot uw mediabibliotheken en inhoud kunt beheren.

Eerste-time tips voor Jellyfin Eenmaal ingelogd op Linux Mint

Nadat u zich hebt aangemeld bij uw Jellyfin-mediaserver, hebt u toegang tot het dashboard voor het beheer van uw mediabibliotheken, gebruikers en serverinstellingen. Hier zijn enkele acties die u vanuit het dashboard kunt uitvoeren:

  • Meer media-inhoud toevoegen: u kunt meer toevoegen aan uw Jellyfin-server door op de knop Mediabibliotheek toevoegen te klikken en het mediatype te selecteren dat u wilt toevoegen, zoals films, tv-programma's of muziek. U moet de nodige informatie verstrekken, zoals de naam van de bibliotheek, de locatie van de mediabestanden en de specifieke instellingen voor het mediatype.
  • Aanpassingen configureren: u kunt het uiterlijk en het uiterlijk van uw Jellyfin-server aanpassen door aanpassingen zoals thema, taal en metagegevens te configureren. Klik op de knop “Dashboard” en selecteer vervolgens “Algemeen” of “Verspeeling” instellingen om wijzigingen aan te brengen.
  • Gebruikers beheren: U kunt gebruikersaccounts toevoegen, verwijderen en wijzigen om de toegang tot uw media-inhoud te beheren. Klik op de knop “Gebruikers” op het dashboard en selecteer vervolgens “Gebruiker toevoegen” of “Gebruiker bewerken” om wijzigingen aan te brengen.

Hier zijn enkele algemene tips voor het beheren van uw Jellyfin-mediaserver:

  • Houd het up-to-date: Controleer regelmatig op updates en installeer ze wanneer ze beschikbaar zijn om ervoor te zorgen dat uw server up-to-date is.
  • Plug-ins en extensies gebruiken: u kunt plug-ins en extensies gebruiken om extra functionaliteit aan uw Jellyfin-server toe te voegen, zoals ondersteuning voor ondertiteling of afstandsbediening.

Problemen oplossen: Reset Jellyfin Initial Setup op Linux Mint

Als u problemen aan de slag kunt tijdens de eerste installatie van uw Jellyfin-mediaserver of om welke reden dan ook opnieuw moet beginnen, is het opnieuw instellen van het installatieproces een eenvoudig proces. Door de waarde "IsStartupWizardCompleted" in het bestand System.xml te wijzigen en de Jellyfin-server opnieuw op te starten, kunt u het eerste installatieproces opnieuw instellen en opnieuw beginnen. Hier volgen de stappen:

Het bestand systeem.xml openen: U kunt dit doen door de volgende opdracht uit te voeren:

sudo nano /etc/jellyfin/system.xml

Met deze opdracht wordt het bestand System.xml geopend in de nano-teksteditor, zodat u het bestand kunt wijzigen.

Wijzig de waarde “IsStartupWizardCompleted”:

<IsStartupWizardCompleted>true</IsStartupWizardCompleted>

En verander het in:

<IsStartupWizardCompleted>false</IsStartupWizardCompleted>

Met deze wijziging wordt het eerste installatieproces opnieuw ingesteld, zodat u vanaf het begin opnieuw kunt starten.

Als u de Jellyfin-server opnieuw wilt opstarten, voert u de volgende opdracht uit:

sudo systemctl restart jellyfin

Het installatieproces opnieuw opstarten: Zodra u de Jellyfin-server opnieuw hebt opgestart, kunt u het HTTP:/127.0.0.1:8096 opnieuw bekijken en het installatieproces opnieuw opstarten.

Machtigingen voor media-drives voor Jellyfin configureren op Linux Mint 21 of 20

Nadat je Jellyfin hebt geïnstalleerd op uw Linux Mint-systeem, is het essentieel om de machtigingen voor de mediaserver te openen en uw media-directory's te lezen. Gebruik de opdracht setfacl, omdat deze meer gedetailleerde toegangsbeheer biedt dan de opdracht voor chown en chgrp.

Zorg ervoor dat u het ACL-pakket hebt geïnstalleerd voordat u machtigingen instelt. Voer het volgende commando uit om door te gaan:

sudo apt install acl

Als u Jellyfin toegang wilt geven tot uw mediamap en al zijn submappen, gebruikt u het volgende commando met de vlag (recursieve) marker:

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

Als u machtigingen wilt toewijzen aan afzonderlijke mediamappen of bestanden, gebruikt u de volgende opdracht:

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

Aanvullende opdrachten en tips met Jellyfin op Linux Mint 21 of 20

SSH voor Jellyfin en Linux Mint configureren

Als u van plan bent om op afstand toegang te krijgen tot uw Linux Mint Jellyfin Media Server, is het instellen van een Secure Shell (SSH) -tunnel essentieel. SSH is een protocol voor beveiligde externe inlogdiensten en andere beveiligde netwerkdiensten via een onveilig netwerk.

Volg deze stappen om SSH op uw Linux Mint-server te configureren:

Installeer de SSH-server op uw Linux Mint-machine met de volgende opdracht:

sudo apt install openssh-server

Nadat u de SSH-server hebt geïnstalleerd, maakt u op afstand verbinding met uw Jellyfin Media Server via een SSH-tunnel. Vervang "server-ip-adres van uw server door het IP-adres van uw server en voer de volgende opdracht in in uw terminal:

ssh {server-ip-address} -L 8096:localhost:8096

Met deze opdracht wordt een SSH-tunnel voor de Jellyfin Media Server gemaakt.

Nadat u de SSH-tunnel hebt gemaakt, kunt u de Jellyfin Media Server openen via de volgende link in uw webbrowser:

http://localhost:8096/web/index.html#/wizardstart.html

Een SSH-tunnel verwijst het HTTP-verzoek om naar http://localhost: 8096/web op de server op afstand. Na de eerste installatie hebt u toegang tot uw Jellyfin Media Server met behulp van het IP-adres van uw externe server op https:///server-ip-address: 8096.

UFW Firewall configureren voor Jellyfin en Linux Mint

Het configureren van de UFW-firewall is cruciaal bij het beheren van inkomende en uitgaand netwerkverkeer op uw Linux Mint-server. In tegenstelling tot Ubuntu schakelt Linux Mint de UFW firewall niet standaard in; u moet deze handmatig inschakelen. Door de UFW-firewall te activeren, kunnen gebruikers alleen het nodige verkeer toestaan hun server te bereiken.

Gebruik de volgende opdracht voor de terminal om de UFW-firewall in te schakelen:

sudo ufw enable

Als u eenmaal bent ingeschakeld, moet u inkomend verkeer op poort 8096 toestaan, wat cruciaal is voor het correct functioneren van de Jellyfin Media Server. Gebruik de volgende opdracht om het verkeer op poort 8096 mogelijk te maken:

sudo ufw allow 8096

Met deze opdracht kunt u inkomend verkeer op poort 8096 naar uw server toestaan, zodat de Jellyfin Media Server correct kan functioneren.

Als UFW niet is geïnstalleerd, kunt u de volgende opdracht gebruiken om deze te installeren:

sudo apt install ufw

Apache of Nginx instellen als omgekeerde proxy voor Jellyfin en Linux Mint

Het instellen van een omgekeerde proxy voor Jellyfin kan je helpen om toegang te krijgen tot de mediaserver vanaf een externe computer of netwerk.

Apache instellen als omgekeerde proxy voor Jellyfin en Linux Mint

Als u vanaf een externe computer of netwerk toegang wilt krijgen tot uw Jellyfin-mediaserver, kunt u een omgekeerde proxy instellen met Apache of Nginx. De handleiding zal het instellen van Apache als een reverse proxy op Linux Mint.

Installeer eerst de Apache-webserver met de volgende opdracht:

sudo apt install apache2

Apache moet standaard actief zijn. Gebruik de volgende opdracht om het volgende commando in te schakelen:

sudo systemctl start apache2

Gebruik vervolgens een teksteditor om een nieuw bestand met virtuele hostconfiguratie voor Jellyfin te maken. U kunt de nano-editor bijvoorbeeld als volgt gebruiken:

sudo systemctl enable apache2

Schakel vervolgens de nodige modules in met het volgende commando:

sudo a2enmod proxy proxy_http headers proxy_wstunnel

Maak een nieuw configuratiebestand voor virtuele hosten voor Jellyfin met de volgende opdracht:

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

Als u een subdomein wilt maken, moet u een actieve domeinnaam hebben. Een optie voor het kopen van een domeinnaam is via NameCheap, waar domeinen beschikbaar zijn voor slechts $ 1 tot $ 2. Als u de voorkeur geeft aan een .com-domein, kunt u Cloudflare ook gebruiken.

Nadat u uw subdomein hebt gemaakt, kunt u een virtuele host instellen bij Apache door de volgende stappen te volgen:

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

    # Redirect HTTP to HTTPS
    Redirect permanent / https://jellyfin.example.com

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

<IfModule mod_ssl.c>
<VirtualHost *:443>
    ServerName jellyfin.example.com

    DocumentRoot /var/www/html/jellyfin/public_html

    ProxyPreserveHost On

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

    ProxyPass "/" "http://localhost:8096/"
    ProxyPassReverse "/" "http://localhost:8096/"

    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/jellyfin.example.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/jellyfin.example.com/privkey.pem
    Protocols h2 http/1.1

    SSLCipherSuite HIGH:RC4-SHA:AES128-SHA:!aNULL:!MD5
    SSLHonorCipherOrder on

    SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1

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

Sla het bestand op (CTRL+O) en sluit af (CTRL+X).

Om ervoor te zorgen dat er geen fouten zijn in de Apache-configuratie of het virtuele hostbestand voordat de virtuele host wordt ingeschakeld, kunt u een "dry run" uitvoeren met de volgende opdracht:

sudo apache2ctl configtest

Nadat u de Apache-configuratiesyntaxis hebt gecontroleerd op syntaxisfouten met behulp van de vorige opdracht, kunt u de virtuele host inschakelen met de volgende opdracht:

sudo a2ensite jellyfin.conf

Het maken van een symbolische link van de sites-beschikbaarer naar de map met sites kunt Apache de virtuele host via het vorige commando bedienen. Nadat u de virtuele host hebt ingeschakeld, start u Apache opnieuw op om de wijzigingen toe te passen.

Voer het volgende commando uit om dit te bereiken:

sudo systemctl restart apache2

Het commando stopt en start de Apache-service, past de nieuwe virtuele hostinstellingen toe en herlaadt de configuratie met de bijgewerkte wijzigingen.

Nginx instellen als omgekeerde proxy voor Jellyfin en Linux Mint

Nginx kan een reverse proxy zijn om op afstand toegang te krijgen tot uw Jellyfin-mediaserver. Nginx is een lichtgewicht en krachtige webserver die hiervoor wordt gebruikt.

Gebruik de volgende opdracht om Nginx te installeren:

sudo apt install nginx

Start vervolgens de Nginx-service met de volgende opdracht:

sudo systemctl start nginx

Voer de volgende opdracht uit om ervoor te zorgen dat Nginx is ingeschakeld:

sudo systemctl enable nginx

Deze opdracht start de Nginx-service en zorgt ervoor dat deze automatisch wordt gestart tijdens het opstarten.

Voorbeeld output als het succesvol is:

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

Gebruik de volgende opdracht om de status van Nginx te controleren:

systemctl status nginx

Zodra u hebt bevestigd dat Nginx correct wordt uitgevoerd, kunt u een nieuw serverblokbestand maken op /etc/nginx/conf.d/jellyfin.conf. In dit voorbeeld gebruiken we de subdomein jellyfinfin.example.com.

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

Als u Nginx wilt configureren als een reverse proxy, moet u een serverblokbestand instellen op /etc/nginx/conf.d/jellyfin.conf met de volgende richtlijnen:

  • De luisterrichtlijn bepaalt de haven en aanpak waar Nginx naar moet luisteren. Hiervoor wordt bijvoorbeeld poort 80 gebruikt.
  • De richtlijn voor de servernaamnaam stelt de hostnaam of domeinnaam die Nginx moet beluisteren. Vervang jellyfin.example.com door je domeinnaam.
  • De richtlijnen voor access-log en error-log: Deze stellen de locaties in voor de toegangs- en foutlogboeken.
  • De locatierichtlijnen: deze bepalen hoe Nginx inkomende verzoeken moet afhandelen.

Locatierichtlijnen configureren de proxypas om verzoeken van Nginx naar Jellyfin door te sturen. Het proxy-pas stelt het protocol en adres van de upstream-server vast – de browser van de browser – en luistert op poort 8096. De locatierichtlijn definieert hoe Nginx inkomende verzoeken moet beheren, verzoeken omschrijft voor de root-URL (/), de /web/-map en de /socket-directory.

Hier is een voorbeeldserverblokbestand:

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

Sla het bestand op (CTRL+O) en sluit af (CTRL+X).

Zorg ervoor dat de Nginx-configuratie als een reverse proxy voor Jellyfin foutloos is. Voer een droge run uit met de volgende opdracht om dit te verifiëren:

sudo nginx -t

Met deze opdracht wordt het configuratiebestand getest op fouten bij syntaxis en andere problemen. Als alles goed werkt, moet de uitvoer aantonen dat het configuratiebestand goed is en dat de test succesvol is:

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

Om de wijzigingen in Nginx toe te passen, moet u de service opnieuw laden. U kunt dit doen door het volgende commando uit te voeren:

sudo systemctl reload nginx

Nadat u Nginx voldoende hebt geconfigureerd als een omgekeerde proxy voor Jellyfin en het instellen van uw domein- en DNS-records om uw server IP aan te geven, kunt u nu toegang krijgen tot uw Jellyfin Media Server op jellyfin.example.com. Omdat Nginx optreedt als de tussenpersoon, kunnen gebruikers op afstand nu toegang krijgen tot Jellyfin door het subdomein te bezoeken en Nginx zal hun verzoeken richten op de webinterface van Jellyfin.

Laten we een SSL-certificaat coderen en voor Jellyfin en Linux Mint maken

In dit gedeelte wordt u begeleid bij het beveiligen van uw Apache- of Nginx-server met een SSL-certificaat van Let's Encrypt. Het gebruik van een SSL-certificaat zorgt ervoor dat de communicatie tussen de browser en de server van de gebruiker veilig is, waardoor het een ideale manier is om uw server op HTTPS uit te voeren.

Als u het certbot-pakket wilt installeren, moet u de geïnstalleerde reverse proxy aan de hand van de geïnstalleerde proxy. Als u Apache gebruikt, moet u python3-certbot-apache installeren; als u Nginx gebruikt, moet u python3-certbot-nginx installeren.

Certbot voor Apache installeren:

sudo apt install python3-certbot-apache

Certbot voor Nginx installeren:

sudo apt install python3-certbot-nginx

Als u de Apache of Nginx wilt beveiligen met een SSL-vrij certificaat van Let's Encrypt, moet u het certbot-pakket installeren dat overeenkomt met de omgekeerde proxy die u hebt geïnstalleerd. Als u Apache gebruikt, installeert u python3-certbot-apache; installeer voor Nginx python3-certbot-nginx.

Nadat u eenmaal bent geïnstalleerd, voert u de opdracht certbot uit om een certificaat te maken. De opdracht heeft opties zoals –Apache of –nginx, afhankelijk van uw reverse proxy, evenals –a-a-tos, –redirect, –hsts en –staple-ocsp. Met deze opties kunnen 301-omleidingen, een kopregel voor strikt transport en OCSP Stapling in het instellen, waardoor deze een veilige installatie is. Vergeet niet om de e-mail en domeinnaam te vervangen door uw vereisten.

Voer Certbot uit voor Apache voor Jellyfin en Linux Mint:

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

Voer Certbot uit voor Nginx voor Jellyfin en Linux Mint:

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

De URL verandert van HTTP naar HTTPS bij het maken van het SSL certificaat. Gebruikers moeten een cron-taak vaststellen die dagelijkse controles uitvoert om automatische verlenging van het certificaat te garanderen. Certbot biedt een script voor automatische verlenging van certificaten. Gebruikers moeten het script testen met een droge run voordat ze de cron-taak instellen met het volgende commando:

sudo certbot renew --dry-run

Nadat de gebruiker de succesvolle droge run heb bevestigd, kan de gebruiker een cron-taak instellen om het proces voor het verlengen van het certificaat te automatiseren. Hiervoor kan de gebruiker de volgende opdracht gebruiken:

sudo crontab -e

Met deze opdracht wordt de cron-tabel van de gebruiker geopend in de bewerkingsmodus. Vervolgens kan de gebruiker de volgende regel toevoegen aan het einde van het bestand om een dagelijkse verlengingscontrole om 02:30 uur:

30 2 * * * /usr/bin/certbot renew --quiet

Zodra de gebruiker het bestand opslaat en afsluit, controleert cron de certificaten automatisch dagelijks en wordt deze indien nodig verlengd.

Jellyfin Media Server bijwerken

Als u uw Jellyfin Media Server wilt bijwerken, kunt u de standaard apt-opdrachten gebruiken, net zoals u dat zou doen voor elk ander pakket op uw systeem. Dit maakt het updaten van Jellyfin een eenvoudig proces.

Als u wilt controleren op updates, voert u de volgende opdracht uit:

sudo apt update

Als er updates beschikbaar zijn, voert u de upgradeopdracht uit:

sudo apt upgrade

Jellyfin Media Server verwijderen (Niet-installatie) uit Linux Mint

Als u Jellyfin wilt verwijderen van uw systeem, kunt u de volgende opdracht gebruiken:

sudo remove install jellyfin

Ten slotte wordt het aanbevolen om de Jellyfin-reinstallatie per ongeluk te voorkomen, het verwijderen van de Jellyfin-repository van uw systeem.

Voer het volgende commando uit voor verwijdering:

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

Met deze opdracht wordt het repositorybestand voor Jellyfin verwijderd uit de map sources.list.d, waardoor toekomstige updates of installaties van Jellyfin worden voorkomen.

Geen opmerkingen:

Een reactie posten

Opmerking: Alleen leden van deze blog kunnen een reactie posten.

Copy a website with Httrack

Met de applicatie httrack kunt u eenvoudig een gehele website naar uw harde schijf kopiëren. Hoewel httrack een terminalapplicatie is zonder...