Linux Mint 22, 21 또는 20에 Jellyfin 미디어 서버를 설치하는 방법

Jellyfin은 미디어 컬렉션을 원활하게 관리하고 스트리밍할 수 있는 강력한 오픈 소스 미디어 서버입니다. 광범위한 미디어 형식을 지원하고 라이브 TV 지원, DVR 기능 및 광범위한 메타데이터 관리와 같은 기능을 제공합니다. Jellyfin은 다양한 장치에 대한 직관적인 웹 기반 인터페이스와 애플리케이션을 제공하여 어디서나 미디어에 액세스할 수 있도록 보장합니다.

Linux Mint 22, 21, 20에 Jellyfin을 설치하려면 최신 안정 및 개발 빌드가 포함된 Jellyfin의 공식 APT 저장소를 사용할 수 있습니다. 이 가이드는 명령줄 터미널을 사용하여 설치 과정을 안내합니다.

Jellyfin 미디어 서버 설치 전 Linux Mint 업데이트

Linux Mint 운영 체제에 Jellyfin Media 서버를 설치하기 전에 모든 패키지가 최신 상태인지 확인하는 것이 중요합니다. 운영 체제를 업데이트하면 모든 현재 패키지가 최신 상태로 유지되고 Jellyfin과의 호환성 문제를 방지하는 데 도움이 될 수 있습니다.

Linux Mint 운영 체제를 업데이트하려면 터미널을 열고 다음 명령을 실행하세요.

sudo apt update && sudo apt upgrade

이 명령은 시스템의 모든 패키지를 최신 버전으로 업데이트하여 시스템을 최신 상태로 유지합니다.

Jellyfin 미디어 서버에 필요한 패키지 설치

Linux Mint 운영 체제를 업데이트한 후 Jellyfin 미디어 서버를 설치하는 데 필요한 패키지를 설치해야 합니다. 필요한 패키지는 Linux Mint 배포판 및 버전에 따라 다를 수 있습니다.

필수 패키지를 설치하려면 터미널을 열고 다음 명령을 실행하십시오.

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

이 명령은 apt-transport-https, ca-certificates, gnupg2 및 컬을 포함하는 필수 패키지를 설치합니다.

Jellyfin 미디어 서버 GPG 키 가져오기

Linux Mint에 Jellyfin 미디어 서버를 설치하려면 소프트웨어가 기본 저장소에 없으므로 Jellyfin GPG 키와 저장소를 가져오세요. 이 작업은 패키지의 신뢰성과 무결성을 확인합니다.

시작하려면 터미널에서 다음 명령을 실행하여 GPG 키를 가져옵니다.

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

이 명령은 Jellyfin 웹사이트에서 GPG 키를 다운로드하고 이를 시스템 키링에 추가하여 설치 중에 패키지의 신뢰성을 확인할 수 있도록 합니다.

Jellyfin 미디어 서버 APT 저장소 가져오기

다음으로 안정적이거나 불안정한 Jellyfin 저장소를 가져옵니다. 철저한 테스트와 입증된 안정성으로 인해 대부분의 사용자에게 안정적인 저장소를 권장합니다. 다음 명령 중 하나를 사용하여 안정적인 저장소를 가져옵니다.

JellyFin 안정 저장소 가져오기:

Linux Mint 22 배포 시리즈용 JellyFin 미디어 서버 안정 추가:

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

Linux Mint 21 배포 시리즈용 JellyFin 미디어 서버 안정 추가:

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

Linux Mint 20 배포 시리즈용 JellyFin 미디어 서버 안정 추가:

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

참고: 특정 Linux Mint 버전에 맞는 올바른 저장소를 가져오는 것이 중요합니다. 잘못된 저장소를 가져오면 Jellyfin이 올바르게 설치되지 않거나 예상대로 작동하지 않을 수 있습니다.

JellyFin 불안정 저장소 Linux Mint 가져오기:

또는 아래 명령을 사용하여 불안정한 저장소를 가져올 수 있습니다.

Linux Mint 22 배포 시리즈에 대해 불안정한 JellyFin 미디어 서버 가져오기:

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

Linux Mint 21 배포 시리즈에 불안정한 JellyFin 미디어 서버 가져오기:

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

Linux Mint 20 배포 시리즈에 대해 불안정한 JellyFin 미디어 서버 가져오기:

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

새 소프트웨어 저장소를 추가한 후에는 새 추가 항목을 인식할 수 있도록 시스템의 저장소 목록을 업데이트해야 합니다. 이렇게 하려면 터미널에서 다음 명령을 실행하세요.

sudo apt update

sudo apt update 명령을 실행하면 새로 추가된 저장소를 포함하도록 시스템의 저장소 목록이 업데이트됩니다. 이 업데이트를 통해 Linux Mint는 새로운 저장소와 그 내용을 인식하여 시스템에 Jellyfin Media Server를 설치할 수 있습니다.

APT 명령을 통해 Jellyfin Media Server 설치 완료

Jellyfin 저장소와 GPG 키를 가져온 후에는 Linux Mint 시스템에 미디어 서버를 설치할 차례입니다. 아래 명령을 사용하여 효율적으로 설치를 완료합니다.

sudo apt install jellyfin

설치가 완료되면 Jellyfin 서비스가 자동으로 시작됩니다. 다음 명령을 사용하여 Jellyfin 서비스 상태를 확인하십시오.

systemctl status jellyfin

어떤 이유로든 Jellyfin 서비스가 시작되지 않는 경우 다음 명령을 사용하여 수동으로 시작할 수 있습니다:

sudo systemctl start jellyfin

시스템 부팅 중에 Jellyfin 서비스가 자동으로 시작되도록 하려면 다음 명령을 실행하십시오:

sudo systemctl enable jellyfin

이 명령은 Jellyfin 서비스를 시작하여 시스템 부팅 중에 자동으로 시작할 수 있도록 합니다.

Jellyfin 미디어 서버 초기 설정

Jellyfin 웹 UI에 액세스하려면 인터넷 브라우저를 열고 서버의 IP 주소를 입력한 다음 기본 포트 8096을 입력해야 합니다. 설치된 동일한 컴퓨터에서 Jellyfin 서버에 액세스하는 경우 127.0.0.1을 IP 주소.

예를 들어, 브라우저의 주소 표시줄에 다음 주소를 입력하여 Jellyfin 웹 UI에 액세스할 수 있습니다.

http://127.0.0.1:8096

위 주소를 입력하시면 초기 서버 설정을 위한 웰컴 화면이 나옵니다. 설정 화면에서는 처음으로 Jellyfin을 구성하는 데 필요한 단계를 제공합니다.

선호하는 표시 언어

Jellyfin 서버의 초기 설정 중에 인터페이스는 선호하는 표시 언어를 선택하라는 메시지를 표시합니다.

선택한 후 다음을 클릭하세요. “다음 ->” 버튼을 누르면 다음 단계로 넘어갑니다.

Jellyfin 계정 사용자 이름 및 비밀번호 생성

선호하는 표시 언어를 선택하면 시스템에서 Jellyfin 계정 사용자 이름과 비밀번호를 생성하라는 메시지를 표시합니다. 귀하의 계정은 미디어 라이브러리, 사용자 계정 및 서버 설정을 관리할 수 있는 Jellyfin 서버에 대한 관리 액세스 권한을 부여합니다.

참고: Jellyfin 서버를 효과적으로 보호하려면 대문자와 소문자, 숫자 및 기호를 결합한 강력하고 고유한 비밀번호를 만드십시오.

사용자 이름과 비밀번호를 만든 후 다음을 클릭하세요. “다음 ->” 버튼을 누르면 초기 서버 설정의 다음 단계로 진행됩니다.

미디어 라이브러리

Jellyfin 계정을 만든 후 서버 설정의 다음 단계는 미디어 라이브러리를 구성하는 것입니다. 미디어 라이브러리를 사용하면 미디어 콘텐츠를 Jellyfin에 추가하고 구조화된 방식으로 구성할 수 있습니다. 영화, TV 프로그램, 음악 등 다양한 미디어 유형에 대한 여러 라이브러리를 생성할 수 있습니다.

Jellyfin에서 미디어 콘텐츠를 구성하고 표시하려면 콘텐츠를 미디어 라이브러리에 추가하세요. 큰 것을 클릭하세요 “+” 또는 “미디어 라이브러리 추가” Jellyfin 대시보드의 버튼을 클릭하세요. 이 클릭을 하면 미디어 폴더를 입력할 수 있는 미디어 라이브러리 설정 화면으로 리디렉션됩니다.

Jellyfin에 미디어 콘텐츠를 추가하는 것은 간단합니다.

  • Plex를 사용해 본 적이 있다면 프로세스가 익숙할 것입니다.
  • "미디어 라이브러리 추가" 버튼을 선택하세요.
  • 추가할 미디어 유형(영화, TV 프로그램, 음악)을 선택합니다.
  • 지시에 따라 미디어 폴더를 입력하세요.
  • 에피소드 설명, 배우 약력, 앨범 아트워크를 제공하는 메타데이터 언어를 설정합니다.

미디어 라이브러리를 채운 후 Jellyfin을 통해 콘텐츠를 효율적으로 구성하고 탐색할 수 있습니다. 딸깍 하는 소리 “다음 ->” 미디어 라이브러리를 추가한 후 메타데이터 언어 화면으로 이동합니다. 여기에서 콘텐츠 메타데이터의 언어를 선택하세요. 이 선택은 출연진 및 제작진 세부 정보, 줄거리 요약 및 리뷰와 같은 귀중한 정보로 콘텐츠를 풍성하게 합니다.

선호하는 메타데이터 언어

미디어 라이브러리를 설정하고 원하는 메타데이터 언어를 선택한 후 Jellyfin 미디어 서버에 대한 원격 액세스를 구성하세요. 이를 통해 로컬 네트워크뿐만 아니라 다양한 위치나 장치에서 미디어 콘텐츠를 볼 수 있습니다.

원하는 메타데이터 언어를 선택한 후 “다음 ->” 계속하려면 버튼을 누르세요.

Jellyfin 원격 연결 활성화

Jellyfin 미디어 서버에 대한 연결을 허용하고 자동 포트 매핑을 활성화하여 원격 액세스를 활성화하세요. 원격 연결을 허용하면 인터넷 연결이 가능한 곳 어디에서나 미디어 콘텐츠에 액세스할 수 있습니다. 그 사이에 자동 포트 매핑은 필요한 포트를 열어 들어오는 트래픽이 Jellyfin 서버에 도달할 수 있도록 보장합니다.

Jellyfin 미디어 서버에 대한 원격 액세스를 구성한 후 “다음 ->” 계속하려면 버튼을 누르세요.

젤리핀 대시보드로 이동

Jellyfin 미디어 서버의 초기 설정을 완료하면 다음 화면에서 설치 프로세스가 완료되고 서버를 사용할 준비가 되었음을 확인할 수 있습니다.

Jellyfin 웹 UI에 접속한 후 초기 설정 과정에서 생성한 사용자 이름과 비밀번호를 입력하고 “로그인” 버튼을 클릭하세요. 이 작업을 수행하면 미디어 라이브러리에 액세스하고 콘텐츠를 관리할 수 있는 Jellyfin 대시보드로 이동됩니다.

Linux Mint에 로그인한 후 Jellyfin에 대한 최초 팁

Jellyfin 미디어 서버에 로그인하면 대시보드에 액세스하여 미디어 라이브러리, 사용자 및 서버 설정을 관리할 수 있습니다. 대시보드에서 수행할 수 있는 몇 가지 작업은 다음과 같습니다.

  • 더 많은 미디어 콘텐츠를 추가하세요. "미디어 라이브러리 추가" 버튼을 클릭하고 영화, TV 프로그램, 음악 등 추가하려는 미디어 유형을 선택하여 Jellyfin 서버에 더 많은 것을 추가할 수 있습니다. 라이브러리 이름, 미디어 파일 위치, 미디어 유형에 대한 특정 설정 등 필요한 정보를 제공해야 합니다.
  • 사용자 정의 구성: 테마, 언어, 메타데이터 등의 사용자 정의를 구성하여 Jellyfin 서버의 모양과 느낌을 사용자 정의할 수 있습니다. "대시보드" 버튼을 클릭한 다음 "일반" 또는 "디스플레이" 설정을 선택하여 변경하세요.
  • 사용자 관리: 미디어 콘텐츠에 대한 액세스를 관리하려면 사용자 계정을 추가, 제거, 수정할 수 있습니다. 대시보드에서 "사용자" 버튼을 클릭한 다음 "사용자 추가" 또는 "사용자 편집"을 선택하여 변경하세요.

다음은 Jellyfin 미디어 서버 관리에 대한 몇 가지 일반적인 팁입니다:

  • 최신 정보를 유지하세요: 정기적으로 업데이트를 확인하고 업데이트가 나오면 설치하여 서버가 최신 상태인지 확인하세요.
  • 플러그인과 확장 기능을 사용하세요: 플러그인과 확장 프로그램은 자막이나 원격 제어 지원과 같은 기능을 Jellyfin 서버에 추가할 수 있습니다.
Linux Mint의 Jellyfin Media Server 웹 UI 대시보드
웹 UI에 Jellyfin Media Server 대시보드가 ​​포함된 Linux Mint

문제 해결: Jellyfin 초기 설정 재설정

Jellyfin 미디어 서버의 초기 설정 중에 문제가 발생하거나 어떤 이유로든 다시 시작해야 하는 경우 설정 프로세스를 재설정하는 것은 간단한 과정입니다. system.xml 파일의 "IsStartupWizardCompleted" 값을 수정하고 Jellyfin 서버를 다시 시작하면 초기 설정 프로세스를 재설정하고 다시 시작할 수 있습니다. 따라야 할 단계는 다음과 같습니다.

system.xml 파일을 엽니다. 다음 명령을 실행하여 이 작업을 수행할 수 있습니다.

sudo nano /etc/jellyfin/system.xml

이 명령은 nano 텍스트 편집기에서 system.xml 파일을 열어 파일을 변경할 수 있도록 합니다.

"IsStartupWizardCompleted" 값을 수정합니다.

<IsStartupWizardCompleted>true</IsStartupWizardCompleted>

그리고 다음과 같이 변경합니다.

<IsStartupWizardCompleted>false</IsStartupWizardCompleted>

이 변경으로 인해 초기 설정 프로세스가 재설정되어 처음부터 다시 시작할 수 있습니다.

Jellyfin 서버를 다시 시작하려면 다음 명령을 실행하세요:

sudo systemctl restart jellyfin

설정 프로세스 다시 시작: Jellyfin 서버를 다시 시작한 후에는 HTTP://127.0.0.1:8096을 다시 방문하여 설정 프로세스를 다시 시작할 수 있습니다.

Jellyfin 미디어 서버의 미디어 드라이브에 대한 권한 구성

Linux Mint 시스템에 Jellyfin을 설치한 후, 미디어 서버가 미디어 디렉토리에 액세스하고 읽을 수 있는 권한을 설정하는 것이 필수적입니다. chown 및 chgrp 명령보다 더 자세한 액세스 제어를 제공하는 setfacl 명령을 사용하십시오.

권한을 설정하기 전에 ACL 패키지가 설치되어 있는지 확인하세요. 계속하려면 다음 명령을 실행하십시오.

sudo apt install acl

Jellyfin에 미디어 디렉터리와 모든 하위 디렉터리에 대한 액세스 권한을 부여하려면 -R(재귀) 플래그와 함께 다음 명령을 사용하세요.

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

개별 미디어 디렉터리나 파일에 권한을 할당해야 하는 경우 다음 명령을 사용합니다.

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

Jellyfin을 사용한 추가 명령 및 팁

Jellyfin 및 Linux Mint용 SSH 구성

Linux Mint Jellyfin 미디어 서버에 원격으로 액세스하려면 SSH(Secure Shell) 터널 설정이 필수적입니다. SSH는 안전하지 않은 네트워크를 통한 보안 원격 로그인 및 기타 보안 네트워크 서비스를 위한 프로토콜입니다.

Linux Mint 서버에서 SSH를 구성하려면 다음 단계를 따르세요.

다음 명령을 사용하여 Linux Mint 시스템에 SSH 서버를 설치하십시오.

sudo apt install openssh-server

SSH 서버를 설치한 후 SSH 터널을 통해 원격으로 Jellyfin Media Server에 연결하세요. {server-ip-address}를 서버의 IP 주소로 바꾸고 터미널에 다음 명령을 입력합니다.

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

이 명령은 Jellyfin 미디어 서버에 대한 SSH 터널을 생성합니다.

SSH 터널을 생성한 후 웹 브라우저에서 다음 링크를 통해 Jellyfin 미디어 서버에 접속할 수 있습니다.

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

SSH 터널은 HTTP 요청을 원격 서버의 http://localhost:8096/web으로 리디렉션합니다. 초기 설정 후 https://{server-ip-address}:8096의 원격 서버 IP 주소를 사용하여 Jellyfin Media Server에 접속하세요.

Jellyfin에 대한 UFW 방화벽 구성

UFW 방화벽 구성은 Linux Mint 서버에서 들어오고 나가는 네트워크 트래픽을 관리할 때 매우 중요합니다. Ubuntu와 달리 Linux Mint는 기본적으로 UFW 방화벽을 활성화하지 않습니다. 수동으로 활성화해야 합니다. UFW 방화벽을 활성화하면 사용자는 필요한 트래픽만 서버에 도달하도록 허용할 수 있습니다.

UFW 방화벽을 활성화하려면 다음 터미널 명령을 사용하십시오.

sudo ufw enable

활성화되면 Jellyfin Media Server가 올바르게 작동하는 데 중요한 포트 8096에서 들어오는 트래픽을 허용하는지 확인하십시오. 포트 8096에서 트래픽을 허용하려면 다음 명령을 사용하십시오.

sudo ufw allow 8096

이 명령은 포트 8096을 통해 서버로 들어오는 트래픽을 허용하여 Jellyfin 미디어 서버가 올바르게 작동할 수 있도록 합니다.

UFW가 설치되어 있지 않은 경우 다음 명령을 사용하여 설치하십시오.

sudo apt install ufw

Apache 또는 Nginx를 Jellyfin 미디어 서버의 역방향 프록시로 설정

Jellyfin용 역방향 프록시를 설정하면 원격 컴퓨터나 네트워크에서 미디어 서버에 액세스하는 데 도움이 됩니다.

Apache를 Jellyfin의 역방향 프록시로 설정

원격 컴퓨터나 네트워크에서 Jellyfin 미디어 서버에 액세스하려면 Apache 또는 Nginx를 사용하여 역방향 프록시를 설정할 수 있습니다. 이 가이드에서는 Linux Mint에서 Apache를 역방향 프록시로 설정하는 방법을 다룹니다.

먼저 다음 명령을 사용하여 Apache 웹 서버를 설치합니다.

sudo apt install apache2

기본적으로 Apache는 활성화되어 있어야 합니다. 그렇지 않은 경우 다음 명령을 사용하여 활성화하십시오.

sudo systemctl start apache2

다음으로 텍스트 편집기를 사용하여 Jellyfin용 새 가상 호스트 구성 파일을 만듭니다. 예를 들어 다음과 같이 nano 편집기를 사용할 수 있습니다.

sudo systemctl enable apache2

그런 다음 다음 명령을 사용하여 필요한 모듈을 활성화합니다.

sudo a2enmod proxy proxy_http headers proxy_wstunnel

다음 명령을 사용하여 Jellyfin에 대한 새 가상 호스트 구성 파일을 만듭니다.

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

하위 도메인을 생성하려면 활성 도메인 이름이 있어야 합니다. 도메인 이름을 구매하는 한 가지 옵션은 NameCheap을 이용하는 것입니다. NameCheap에서는 $1~$2의 저렴한 가격으로 도메인을 구입할 수 있습니다. 또는 .com 도메인을 선호하는 경우 Cloudflare를 사용할 수 있습니다.

하위 도메인을 생성한 후에는 다음 단계에 따라 Apache로 가상 호스트를 설정할 수 있습니다.

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

파일을 저장하고(CTRL+O), 종료합니다(CTRL+X).

가상 호스트를 활성화하기 전에 Apache 구성이나 가상 호스트 파일에 오류가 없는지 확인하려면 다음 명령을 사용하여 "모의 실행"을 수행할 수 있습니다.

sudo apache2ctl configtest

이전 명령을 사용하여 Apache 구성 구문에서 구문 오류가 있는지 확인한 후 다음 명령을 사용하여 가상 호스트를 활성화할 수 있습니다.

sudo a2ensite jellyfin.conf

sites-available 디렉터리에서 sites-enabled 디렉터리로의 심볼릭 링크를 생성하면 Apache가 이전 명령을 통해 가상 호스트를 제공할 수 있습니다. 가상 호스트를 활성화한 후 Apache를 다시 시작하여 변경 사항을 적용하십시오.

이를 수행하려면 다음 명령을 실행하십시오.

sudo systemctl restart apache2

이 명령은 Apache 서비스를 중지 및 시작하고, 새 가상 호스트 설정을 적용하고, 업데이트된 변경 사항으로 구성을 다시 로드합니다.

Nginx를 Jellyfin 및 Linux Mint용 역방향 프록시로 설정

Nginx는 Jellyfin 미디어 서버에 대한 원격 액세스를 가능하게 하는 역방향 프록시가 될 수 있습니다. Nginx는 이러한 목적으로 일반적으로 사용되는 경량의 고성능 웹 서버입니다.

Nginx를 설치하려면 다음 명령을 사용하십시오.

sudo apt install nginx

그런 다음 다음 명령을 사용하여 Nginx 서비스를 시작합니다.

sudo systemctl start nginx

Nginx가 활성화되어 있는지 확인하려면 다음 명령을 실행하십시오.

sudo systemctl enable nginx

이 명령은 Nginx 서비스를 시작하고 부팅 시 자동으로 시작되도록 합니다.

성공한 경우 출력 예:

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

Nginx의 상태를 확인하려면 다음 명령을 사용하십시오.

systemctl status nginx

Nginx가 올바르게 실행되고 있음을 확인한 후에는 /etc/nginx/conf.d/jellyfin.conf에서 새 서버 블록 파일을 생성할 수 있습니다. 이 예에서는 하위 도메인 Jellyfin.example.com을 사용합니다.

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

Nginx를 역방향 프록시로 구성하려면 다음 지시문을 사용하여 /etc/nginx/conf.d/jellyfin.conf에서 서버 블록 파일을 설정해야 합니다.

  • Listen 지시문은 Nginx가 수신해야 하는 포트와 주소를 설정합니다. 이 예에서는 포트 80이 사용됩니다.
  • server_name 지시문은 Nginx가 수신해야 하는 호스트 이름 또는 도메인 이름을 설정합니다. Jellyfin.example.com을 귀하의 도메인 이름으로 바꾸세요.
  • access_log 및 error_log 지시문: 이는 액세스 및 오류 로그의 위치를 ​​설정합니다.
  • 위치 지시문: Nginx가 들어오는 요청을 처리하는 방법을 정의합니다.

위치 지시문은 Nginx에서 Jellyfin으로 요청을 전달하도록 Proxy_pass를 구성합니다. Proxy_pass는 업스트림 서버인 Jellyfin 서버의 프로토콜과 주소를 설정하고 포트 8096에서 수신 대기합니다. 위치 지시어는 Nginx가 들어오는 요청을 관리하고 루트 URL(/), /web/ 디렉터리 및 /소켓 디렉토리.

다음은 서버 블록 파일의 예입니다.

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

파일을 저장하고(CTRL+O), 종료합니다(CTRL+X).

계속하기 전에 Jellyfin의 역방향 프록시인 Nginx 구성에 오류가 없는지 확인하세요. 다음 명령을 사용하여 연습 실행을 실행하여 이를 확인합니다.

sudo nginx -t

이 명령은 구문 오류 및 기타 문제에 대한 구성 파일을 테스트합니다. 모든 것이 올바르게 작동하면 다음과 같이 구성 파일이 정상이고 테스트가 성공했다는 내용이 출력에 표시됩니다.

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

Nginx에 변경 사항을 적용하려면 서비스를 다시 로드해야 합니다. 다음 명령을 실행하여 이 작업을 수행할 수 있습니다.

sudo systemctl reload nginx

Nginx를 Jellyfin의 역방향 프록시로 적절하게 구성하고 서버 IP를 가리키도록 도메인과 DNS 레코드를 설정한 후에는 이제 Jellyfin.example.com에서 Jellyfin 미디어 서버에 액세스할 수 있습니다. Nginx가 중개자 역할을 함으로써 원격 사용자는 이제 하위 도메인을 방문하여 Jellyfin에 액세스할 수 있으며 Nginx는 요청을 Jellyfin의 웹 인터페이스로 보냅니다.

Jellyfin용 Let's Encrypt SSL 무료 인증서 생성

이 섹션에서는 무료 Let's Encrypt SSL 인증서를 사용하여 Apache 또는 Nginx 서버를 보호하는 방법을 안내합니다. SSL 인증서는 사용자 브라우저와 서버 간의 통신 보안을 보장하므로 HTTPS에서 서버를 실행하는 데 이상적입니다.

certbot 패키지를 설치하려면 설치한 역방향 프록시와 일치해야 합니다. Apache를 사용하는 경우 python3-certbot-apache를 설치해야 합니다. Nginx를 사용하는 경우 python3-certbot-nginx를 설치해야 합니다.

Apache용 Certbot을 설치합니다:

sudo apt install python3-certbot-apache

Nginx용 Certbot을 설치합니다:

sudo apt install python3-certbot-nginx

Let's Encrypt SSL 무료 인증서로 Apache 또는 Nginx를 보호하려면 설치한 역방향 프록시와 일치하는 certbot 패키지를 설치해야 합니다. Apache를 사용하는 경우 python3-certbot-apache를 설치하세요. Nginx의 경우 python3-certbot-nginx를 설치합니다.

설치가 완료되면 certbot 명령을 실행하여 인증서를 생성합니다. 명령에는 역방향 프록시에 따라 –Apache 또는 –nginx뿐만 아니라 –agree-tos, –redirect, –hsts 및 –staple-ocsp와 같은 옵션이 있습니다. 이러한 옵션은 301 리디렉션, Strict-Transport-Security 헤더 및 OCSP 스테이플링을 설정하여 보안 설정을 만드는 데 도움이 됩니다. 이메일과 도메인 이름을 요구 사항으로 바꾸십시오.

Jellyfin용 Apache용 Certbot을 실행합니다.

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

Jellyfin용 Nginx용 Certbot을 실행합니다.

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

SSL 인증서를 생성하면 URL이 HTTP에서 HTTPS로 변경됩니다. 사용자는 자동 인증서 갱신을 보장하기 위해 매일 확인을 수행하는 cron 작업을 설정해야 합니다. Certbot은 자동 인증서 갱신을 위한 스크립트를 제공합니다. 사용자는 cron 작업을 설정하기 전에 다음 명령을 사용하여 연습 실행으로 스크립트를 테스트해야 합니다.

sudo certbot renew --dry-run

성공적인 테스트 실행을 확인한 후 사용자는 cron 작업을 설정하여 인증서 갱신 프로세스를 자동화할 수 있습니다. 이를 위해 사용자는 다음 명령을 사용할 수 있습니다.

sudo crontab -e

이 명령은 사용자의 cron 테이블을 편집 모드로 엽니다. 다음으로 사용자는 파일 끝에 다음 줄을 추가하여 오전 2시 30분에 매일 갱신 확인을 예약할 수 있습니다.

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

사용자가 파일을 저장하고 종료하면 cron은 자동으로 매일 인증서를 확인하고 필요한 경우 갱신합니다.

Jellyfin 미디어 서버 업데이트

Jellyfin 미디어 서버를 업데이트하려면 시스템의 다른 패키지와 마찬가지로 표준 apt 명령을 사용하면 됩니다. 이렇게 하면 Jellyfin 업데이트가 간단해집니다.

업데이트를 확인하려면 다음 명령을 실행하십시오.

sudo apt update

사용 가능한 업데이트가 있으면 업그레이드 명령을 실행하십시오.

sudo apt upgrade

Jellyfin 미디어 서버 제거

시스템에서 Jellyfin을 제거하려면 다음 명령을 사용할 수 있습니다:

sudo remove install jellyfin

마지막으로, 나중에 실수로 Jellyfin을 다시 설치하는 것을 방지하려면 시스템에서 Jellyfin 저장소를 제거하는 것이 좋습니다.

제거하려면 다음 명령을 실행하십시오.

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

이 명령은 source.list.d 디렉터리에서 Jellyfin의 저장소 파일을 제거하여 향후 Jellyfin 업데이트나 설치를 방지합니다.

결론

Linux Mint 시스템에 Jellyfin을 성공적으로 설치하면 미디어 컬렉션을 효율적으로 관리하고 스트리밍할 수 있습니다. Jellyfin의 공식 APT 저장소를 사용하면 최신 안정 및 개발 빌드를 최신 상태로 유지하고 최신 기능과 개선 사항에 액세스할 수 있습니다. Jellyfin이 미디어 서버 솔루션으로 제공하는 유연성과 강력한 기능을 즐겨보세요.

Joshua James

"How to Install Jellyfin Media Server on Linux Mint 22, 21 or 20"에 대한 1 생각

코멘트를 남겨주세요