Làm cách nào để thiết lập Jellyfin Media Server trong Debian

Tác giả Security+, T.Hai 19, 2024, 10:22:55 SÁNG

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Làm cách nào để thiết lập Jellyfin Media Server trong Debian


Jellyfin là một phần mềm miễn phí để thiết lập máy chủ phương tiện. Nó cho phép bạn thu thập, quản lý và truyền phát các tệp phương tiện của mình từ nhiều thiết bị hoặc ứng dụng khách. Jellyfin là một ứng dụng miễn phí và tự lưu trữ có thể được cài đặt trên máy chủ của bạn. Điều này cho phép bạn thiết lập máy chủ phương tiện của riêng mình trong môi trường cục bộ, ví dụ như ở nhà, sau đó cấp cho nhiều khách hàng và thiết bị quyền truy cập vào tất cả các tệp phương tiện của bạn.

Jellyfin là một máy chủ tệp phương tiện thay thế cho các nhà cung cấp độc quyền như Emby và Plex. Nó cho phép bạn quản lý các tập tin media từ mọi thiết bị và từ mọi nơi.

Trong bài viết này, bạn sẽ tìm hiểu cách cài đặt và định cấu hình Jellyfin Media Server trên máy chủ Ubuntu 22.04 cũng như cách thiết lập cài đặt cơ bản của Jellyfin. Chúng tôi cũng sẽ giải thích cách thiết lập Apache2 làm proxy ngược cho ứng dụng Jellyfin bằng HTTPS/SSL an toàn.

1. Điều kiện tiên quyết

Đối với hướng dẫn này, bạn cần có các điều kiện tiên quyết sau:

  • Một phiên bản máy chủ Debian 11. Máy chủ này phải có người dùng không phải root với đặc quyền sudo/quản trị viên.
  • Một tên miền trỏ đến máy chủ Debian. Tên miền này sẽ được sử dụng làm miền chính cho quá trình cài đặt Jellyfin.

2. Thêm kho lưu trữ Jellyfin

Jellyfin cung cấp các gói nhị phân cho một số bản phân phối Linux như Debian, Ubuntu và CentOS. Tại thời điểm viết bài, Jellyfin cung cấp kho lưu trữ cho hai phiên bản Debian, Debian Butser 10 và Debian Bullseye 11.

Trước khi thêm kho lưu trữ Jellyfin, hãy cài đặt các gói phụ thuộc bằng lệnh "apt install " bên dưới. Gõ Y để xác nhận cài đặt và nhấn ENTER để bắt đầu cài đặt.

Mã nguồn [Chọn]
sudo apt install apt-transport-https gnupg lsb-release

Bây giờ hãy chạy lệnh sau để thêm khóa và kho lưu trữ Jellyfin GPG vào máy chủ Debian của bạn.

Mã nguồn [Chọn]
curl -fsSL https://repo.jellyfin.org/debian/jellyfin_team.gpg.key | gpg --dearmor -o /etc/apt/trusted.gpg.d/debian-jellyfin.gpg
echo "deb [arch=$( dpkg --print-architecture )] https://repo.jellyfin.org/debian $( lsb_release -c -s ) main" | sudo tee /etc/apt/sources.list.d/jellyfin.list

Cuối cùng, cập nhật chỉ mục gói trên máy chủ của bạn bằng lệnh "apt update " để áp dụng kho lưu trữ Jellyfin mới.

Mã nguồn [Chọn]
sudo apt update

3. Cài đặt máy chủ truyền thông Jellyfin

Tại thời điểm viết bài, phiên bản 10.8 của Jellyfin Media Server đã có sẵn trong kho Jellyfin chính thức.

Để kiểm tra gói Jellyfin Media Server, hãy chạy lệnh "apt info ". Lệnh này sẽ hiển thị cho bạn thông tin chi tiết về gói Jellyfin, chẳng hạn như phiên bản, phần phụ thuộc, kho lưu trữ và mô tả mã nguồn APT.

Mã nguồn [Chọn]
sudo apt info jellyfin

Để cài đặt Jellyfin Media Server, hãy chạy lệnh "apt install". Nhập Y để xác nhận cài đặt và nhấn ENTER để bắt đầu cài đặt Jellyfin.

Mã nguồn [Chọn]
sudo apt install jellyfin

Đảm bảo dịch vụ Jellyfin đang chạy bằng cách chạy lệnh "systemctl ". Bạn sẽ thấy đầu ra "enabled ", có nghĩa là dịch vụ Jellyfin được khởi động tự động khi khởi động hệ thống. Ngoài ra, trạng thái hiện tại của dịch vụ Jellyfin là "đang chạy ".

Mã nguồn [Chọn]
sudo systemctl is-enabled jellyfin
sudo systemctl status jellyfin


Theo mặc định, Jellyfin chạy trên cổng TCP "8096 ", được sử dụng bởi ứng dụng web Jellyfin cung cấp giao diện người dùng cho Jellyfin Media Server. Vì bạn sẽ sử dụng proxy ngược Apache2 cho ứng dụng Jellyfin nên bạn không cần phải mở cổng Jellyfin mặc định.

4. Tạo SSL Letsencrypt

Để bảo mật quá trình cài đặt Jellyfin Media Server, bạn sẽ sử dụng proxy ngược Apache2 và kết nối HTTPS/SSL an toàn. Tuy nhiên, trước khi thiết lập proxy ngược Apache2, bạn cần tạo chứng chỉ SSL từ Letsencrypt. Bạn cũng cần đảm bảo rằng tên miền cài đặt Jellyfin trỏ đến địa chỉ IP của máy chủ Debian.

Nếu bạn đang chạy máy chủ Debian có bật tường lửa UFW, bạn nên mở các cổng HTTP và HTTPS trong cấu hình tường lửa của mình. Thực hiện lệnh "ufw " bên dưới để cho phép các cổng HTTP và HTTPS.

Mã nguồn [Chọn]
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

Để tạo SSL Letsencrypt, bạn cần cài đặt công cụ máy khách trên máy chủ của mình. Cài đặt công cụ certbot Letsencrypt bằng lệnh "apt install" bên dưới. Nhập Y để xác nhận cài đặt và nhấn ENTER.

Mã nguồn [Chọn]
sudo apt install certbot
Tiếp theo, chạy lệnh "certbot" bên dưới để tạo chứng chỉ SSL miễn phí từ Letsencrypt. Đừng quên thay đổi địa chỉ email và tên miền.

Mã nguồn [Chọn]
sudo certbot certonly --standalone --noninteractive --agree-tos --email [email protected] -d jellyfin.hwdomain.io
Khi quá trình certbot hoàn tất, chứng chỉ SSL của bạn sẽ có sẵn trong thư mục "/etc/letsencrypt/live/jellyfin.hwdomain.io/". Bạn có thể sử dụng tệp "fullchain.pem" làm khóa chung và tệp "privkey.pem" làm khóa SSL riêng.

5. Thiết lập Apache2 làm proxy ngược

Sau khi bạn đã tạo SSL Letsencrypt, hãy cài đặt và thiết lập máy chủ web Apache2 làm proxy ngược cho Jellyfin Media Server chạy trên cổng mặc định "8096". Proxy ngược Apache2 sẽ chạy trên các cổng HTTP và HTTPS phía trước Máy chủ truyền thông Jellyfin.

Để cài đặt máy chủ web Apache2, hãy chạy lệnh "apt install ". Xác nhận bằng Y và nhấn ENTER để tiếp tục, sau đó quá trình cài đặt sẽ bắt đầu.

Mã nguồn [Chọn]
sudo apt install apache2

Sau khi quá trình cài đặt Apache hoàn tất, hãy chạy lệnh sau để kích hoạt một số mô-đun Apache2. Các mô-đun này được yêu cầu để thiết lập proxy ngược Apache2.

Mã nguồn [Chọn]
sudo a2enmod proxy proxy_http ssl proxy_wstunnel remoteip http2

Tiếp theo, tạo tệp cấu hình máy chủ ảo Apache2 mới "/etc/apache2/sites-available/jellyfin.conf" bằng lệnh sau.

Mã nguồn [Chọn]
sudo nano /etc/apache2/sites-available/jellyfin.conf
Thêm cấu hình sau vào tập tin. Đừng quên thay đổi tên miền và đường dẫn của chứng chỉ SSL.

Mã nguồn [Chọn]
<VirtualHost *:80>
    ServerName jellyfin.hwdomain.io
# Comment to prevent HTTP to HTTPS redirect
Redirect permanent / https://jellyfin.hwdomain.io

ErrorLog /var/log/apache2/jellyfin.hwdomain.io-error.log
CustomLog /var/log/apache2/jellyfin.hwdomain.io-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 jellyfin.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/" "!"

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

ProxyPass "/" "http://192.168.5.10:8096/"
ProxyPassReverse "/" "http://192.168.5.10:8096/"

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

# Enable only strong encryption ciphers and prefer versions with forwarding 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/jellyfin.hwdomain.io-error.log
CustomLog /var/log/apache2/jellyfin.hwdomain.io-access.log combined
</VirtualHost>
</IfModule>

Lưu và đóng tập tin khi bạn hoàn tất.

Tiếp theo, kích hoạt tệp cấu hình máy chủ ảo "jellyfin.conf " bằng lệnh sau. Kiểm tra và xác minh cấu hình Apache2 bằng lệnh "apachectl ". Lệnh đầu tiên tạo một tệp lối tắt mới của "jellyfin.conf" tới thư mục Máy chủ ảo Apache "sites-enabled " và lệnh thứ hai sẽ kiểm tra tất cả các tệp cấu hình Apache. Nếu các tệp cấu hình Apache của bạn đúng, bạn sẽ thấy thông báo "Cú pháp OK ".

Mã nguồn [Chọn]
sudo a2ensite jellyfin.conf
sudo apachectl configtest

Cuối cùng, khởi động lại dịch vụ Apache2 để áp dụng tệp máy chủ ảo mới "jellyfin.conf" bằng lệnh "systemctl " bên dưới.

Mã nguồn [Chọn]
sudo systemctl restart apache2

6. Cài đặt và cấu hình Jellyfin

Quá trình cài đặt Jellyfin Media Server với Proxy ngược Apache2 và SSL Letsencrypt hiện đã hoàn tất. Bây giờ là lúc thiết lập cài đặt Jellyfin Media Server của bạn.

Mở trình duyệt web của bạn và truy cập tên miền cài đặt Jellyfin Media Server của bạn (ví dụ:   Đăng nhập để xem liên kết).

Trên màn hình đầu tiên của trình hướng dẫn cài đặt, chọn ngôn ngữ cho Jellyfin Media Server của bạn. Sau đó bấm vào "Tiếp theo ".


Nhập người dùng quản trị mới và mật khẩu. Sau đó bấm vào " Tiếp theo ". Người dùng này sẽ được sử dụng làm quản trị viên mặc định cho Jellyfin Media Server.


Nhấp vào nút "Thêm thư viện phương tiện " để thêm thư viện mới cho các tệp phương tiện của bạn. Bạn có thể thêm nhiều thư viện cùng một lúc. Bạn cũng có thể thực hiện một số cài đặt bổ sung cho thư viện của mình.


Chọn 'Loại nội dung ' của thư viện phương tiện của bạn. Sau đó nhập tên thư viện. Sau đó nhấp vào nút ' +' để thêm đường dẫn vào thư viện phương tiện của bạn. Bây giờ xác nhận với "OK ".

Trong bản demo này, chúng tôi sẽ tạo một thư viện phương tiện mới thuộc loại "Âm nhạc " với tên "Âm nhạc " và đường dẫn của các tệp thư viện sẽ nằm trong thư mục "/mnt/media/Musics ".


Nhấp vào nút "Tiếp theo " để tiếp tục.


Đối với "Ngôn ngữ siêu dữ liệu ", bạn có thể để nó ở cài đặt mặc định và nhấp vào "Tiếp theo ".


Để cho phép truy cập từ xa, hãy chọn tùy chọn "Cho phép kết nối từ xa với máy chủ Jellyfin này". Sau đó nhấp vào "Tiếp theo " một lần nữa. Tùy chọn này hữu ích nếu bạn có các máy khách từ xa như điện thoại thông minh hoặc SmartTV.


Sau khi quá trình cài đặt hoàn tất, bạn sẽ thấy trang có thông báo "Bạn đã hoàn tất! ". Nhấp vào nút "Hoàn tất ".


Bây giờ bạn sẽ thấy trang đăng nhập cho Jellyfin Media Server. Nhập người dùng và mật khẩu quản trị viên của bạn và nhấp vào nút "Đăng nhập ". Bây giờ bạn sẽ thấy bảng điều khiển quản trị của Jellyfin Media Server.



Chúc mừng! Bạn đã cài đặt Jellyfin Media Server trên Debian 11 Bullseye. Bạn cũng đã bảo đảm việc cài đặt Jellyfin Media Server bằng Proxy ngược Apache2 và HTTPS/SSL từ Letsencrypt. Bây giờ bạn có thể thêm các tệp phương tiện như nhạc, video, hình ảnh và các tệp khác vào Jellyfin Media Server của mình. Sau đó, bạn có thể cài đặt ứng dụng khách trên điện thoại hoặc sử dụng trình duyệt web nếu bạn đang sử dụng máy tính.