Cách cài đặt Plex Media Server trên Debian 12

theanh

Administrator
Nhân viên
Plex Media Server là giải pháp phát trực tuyến DIY cho môi trường cục bộ của bạn. Nó cho phép bạn lưu trữ các loại tệp phương tiện khác nhau ở một vị trí tập trung, sau đó bạn có thể phát trực tuyến tất cả các tệp phương tiện của mình từ nhiều vị trí và thiết bị, chẳng hạn như TV, điện thoại thông minh, v.v.

Hướng dẫn này sẽ chỉ cho bạn cách cài đặt Plex Media Server trên máy chủ Debian 12. Bạn sẽ cài đặt Plex với UFW (Tường lửa đơn giản) và Nginx làm proxy ngược.

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

Để bắt đầu với hướng dẫn này, hãy đảm bảo bạn có những điều sau:
  • Máy chủ Debian 12.
  • Người dùng không phải root có quyền quản trị viên.
  • Tên miền trỏ đến địa chỉ IP của máy chủ.

Cài đặt các phụ thuộc​

Trước khi cài đặt, hãy cài đặt các phụ thuộc cần thiết vào máy Debian của bạn.

Trước tiên, hãy chạy lệnh bên dưới để cập nhật Debian của bạn kho lưu trữ.
Mã:
sudo apt update

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22142%22%3E%3C/svg%3E


Sau đó, cài đặt các phần phụ thuộc vào hệ thống Debian của bạn bằng lệnh bên dưới. Nhập y khi được yêu cầu, sau đó nhấn ENTER để tiếp tục.
Mã:
sudo apt install curl unzip socat libexpat1 apt-transport-https wget software-properties-common

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22297%22%3E%3C/svg%3E

Cài đặt Plex Media Server trên Debian​

Sau khi cài đặt xong các phần phụ thuộc, bạn đã sẵn sàng để cài đặt Plex Media Repository. Nhưng trước tiên, bạn phải thêm kho lưu trữ Plex vào hệ thống Debian của mình.

Chạy lệnh bên dưới để thêm kho lưu trữ Plex vào máy Debian của bạn.
Mã:
echo deb https://downloads.plex.tv/repo/deb public main | sudo tee /etc/apt/sources.list.d/plexmediaserver.list
Sau đó, thêm khóa GPG cho kho lưu trữ Plex bằng lệnh sau.
Mã:
curl https://downloads.plex.tv/plex-keys/PlexSign.key | sudo apt-key add -
Sau khi kho lưu trữ và khóa GPG được thêm vào, hãy cập nhật và làm mới kho lưu trữ Debian của bạn bằng lệnh sau lệnh.
Mã:
sudo apt update

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22236%22%3E%3C/svg%3E


Bây giờ kho lưu trữ đã được cập nhật, bạn có thể cài đặt gói plexmediaserver bằng lệnh bên dưới.
Mã:
sudo apt install plexmediaserver

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22183%22%3E%3C/svg%3E


Sau khi cài đặt hoàn tất, hãy chạy lệnh systemctl sau để khởi động và kích hoạt plexmediaserver dịch vụ.
Mã:
sudo systemctl start plexmediaserver
sudo systemctl enable plexmediaserver
Plexmediaserver phải chạy trên máy Debian của bạn. Bây giờ hãy xác minh bằng lệnh bên dưới.
Mã:
sudo systemctl is-enabled plexmediaserver
sudo systemctl status plexmediaserver
Nếu mọi thứ diễn ra tốt đẹp, bạn sẽ thấy plexmediaserver có trạng thái hoạt động (đang chạy).


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22311%22%3E%3C/svg%3E

Thiết lập UFW Trong hướng dẫn này, bạn sẽ sử dụng UFW để bảo vệ Plex Media Server. Vì vậy, trước tiên bạn phải cài đặt UFW vào máy chủ Debian của mình, sau đó bật cấu hình OpenSSH và thêm cổng chính cho Plex Media Server.​

Cài đặt UFW vào hệ thống Debian của bạn bằng lệnh sau.
Mã:
sudo apt install ufw -y
Sau khi cài đặt, hãy thêm cấu hình OpenSSH để cho phép lưu lượng SSH và mở cổng 32400 cho Plex.
Mã:
sudo ufw allow OpenSSH
sudo ufw allow 32400
Bây giờ hãy chạy lệnh bên dưới để bắt đầu và kích hoạt UFW. Khi được nhắc, hãy nhập y để xác nhận.
Mã:
sudo ufw enable
Cuối cùng, hãy xác minh trạng thái UFW và danh sách các quy tắc đã kích hoạt bằng lệnh bên dưới. Đảm bảo rằng UFW đang chạy với trạng thái Hoạt động và cả OpenSSH và cổng 32400 đều được bật.
Mã:
sudo ufw status

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22503%22%20height=%22379%22%3E%3C/svg%3E

Cài đặt và Cấu hình Nginx làm Proxy ngược​

Lúc này, bạn đã cài đặt Plex và cấu hình UFW. Bây giờ, hãy cài đặt Nginx và cấu hình nó làm proxy ngược cho cài đặt Plex Media Server của bạn.

Cài đặt máy chủ web Nginx vào máy Debian của bạn bằng lệnh bên dưới. Nhập y khi được nhắc, sau đó nhấn ENTER để tiếp tục.
Mã:
sudo apt install nginx

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22684%22%20height=%22314%22%3E%3C/svg%3E


Sau khi Nginx được cài đặt, hãy chạy lệnh sau để xác minh dịch vụ Nginx. Đảm bảo dịch vụ Nginx đang chạy và được bật.
Mã:
sudo systemctl is-enabled nginx
sudo systemctl status nginx
Nếu được bật, bạn sẽ nhận được kết quả như đã bật. Khi chạy, bạn sẽ thấy đầu ra đang hoạt động (đang chạy).


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22306%22%3E%3C/svg%3E


Khi Nginx đang chạy, hãy chạy lệnh ufw bên dưới để mở cả cổng HTTP và HTTPS cho lưu lượng truy cập Plex. Theo mặc định, UFW cung cấp một hồ sơ ứng dụng 'WWW Full' để mở cả HTTP và HTTPS.

Chạy lệnh bên dưới để bật hồ sơ 'Nginx Full', sau đó tải lại UFW để áp dụng.
Mã:
sudo ufw allow 'Nginx Full'
sudo ufw reload

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22493%22%20height=%22391%22%3E%3C/svg%3E


Tiếp theo, tạo cấu hình khối máy chủ mới /etc/nginx/sites-available/plex bằng lệnh nano editor bên dưới. Lệnh này sẽ được sử dụng làm proxy ngược cho quá trình cài đặt Plex Media Server.
Mã:
vim /etc/nginx/sites-available/plex
Thêm cấu hình bên dưới và đảm bảo thay đổi tên miền bằng tên miền Plex của bạn. Tại đây, bạn cũng có thể sử dụng miền cục bộ cho môi trường cục bộ.
Mã:
upstream plex_backend {
 server 127.0.0.1:32400;
 keepalive 32;
}

server {
 listen 80;
 server_name plex.howtoforge.local;

 send_timeout 100m; #Some players don't reopen a socket and playback stops totally instead of resuming after an extended pause (e.g. Ch$

 #Plex has A LOT of javascript, xml, and html. This helps a lot, but if it causes playback issues with devices turn it off. (Haven't enc$
 gzip on;
 gzip_vary on;
 gzip_min_length 1000;
 gzip_proxied any;
 gzip_types text/plain text/css text/xml application/xml text/javascript application/x-javascript image/svg+xml;
 gzip_disable "MSIE [1-6]\.";

 #Nginx default client_max_body_size is 1MB, which breaks the Camera Upload feature from the phones.
 #Increasing the limit fixes the issue. Anyhow, if 4K videos are expected to be uploaded, the size might need to be increased even more
 client_max_body_size 100M;

 #Forward real ip and host to Plex
 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 Sec-WebSocket-Extensions $http_sec_websocket_extensions;
 proxy_set_header Sec-WebSocket-Key $http_sec_websocket_key;
 proxy_set_header Sec-WebSocket-Version $http_sec_websocket_version;
 #Websockets
 proxy_http_version 1.1;
 proxy_set_header Upgrade $http_upgrade;
 proxy_set_header Connection "Upgrade";

 #Buffering off is sent to the client as soon as the data is received from Plex.
 proxy_redirect off;
 proxy_buffering off;

 location / {
 proxy_pass http://plex_backend;
 }
}
Lưu tệp và thoát khỏi trình chỉnh sửa.

Tiếp theo, chạy lệnh bên dưới để kích hoạt khối máy chủ/etc/nginx/sites-available/plexvà xác minh cú pháp Nginx của bạn.
Mã:
sudo ln -s /etc/nginx/sites-available/plex /etc/nginx/sites-enabled
sudo nginx -t
Đảm bảo bạn không gặp lỗi nào và hãy chắc chắn rằng bạn nhận được kết quả đầu ra 'cú pháp là OK - thử nghiệm thành công'.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22172%22%3E%3C/svg%3E


Cuối cùng, hãy chạy lệnh bên dưới để khởi động lại dịch vụ Nginx và áp dụng các thay đổi của bạn vào Nginx. Với điều này, Plex Media Server của bạn sẽ có thể truy cập được qua các cổng HTTP và HTTPS, được xử lý bởi máy chủ web Nginx.
Mã:
sudo systemctl restart nginx

Bảo mật Plex Media Server bằng Chứng chỉ SSL/TLS​

Trong hướng dẫn này, bạn sẽ bảo mật cài đặt Plex của mình thông qua chứng chỉ SSL/TLS. Đối với người dùng miền cục bộ, bạn có thể tạo chứng chỉ tự ký và bật HTTPS theo cách thủ công trên khối máy chủ Nginx. Nếu bạn đang sử dụng miền công cộng, hãy sử dụng Certbot và Letsencrypt để tạo chứng chỉ SSL/TLS.

Chạy lệnh bên dưới để cài đặt plugin certbot và certbot Nginx.
Mã:
sudo apt install certbot python3-certbot-nginx
Sau khi cài đặt hoàn tất, hãy chạy lệnh certbot bên dưới để tạo chứng chỉ SSL/TLS cho tên miền Plex của bạn. Ngoài ra, hãy nhớ thay đổi địa chỉ email và tên miền bằng thông tin của bạn.
Mã:
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [emailprotected] -d plex.howtoforge.local
Sau khi quá trình hoàn tất, khối máy chủ Nginx của bạn sẽ tự động được cấu hình bằng HTTPS. Và chứng chỉ SSL/TLS của bạn có thể được tìm thấy trong thư mục /etc/letsencrypt/live/domain.com.

Cấu hình máy chủ Plex Media​

Mở trình duyệt web của bạn và truy cập tên miền Plex của bạn (ví dụ: https://plex.howtoforge.local/). Bạn sẽ được chuyển hướng đến trang web plex.tv để đăng ký tài khoản Plex. Bạn có thể đăng ký qua Facebook/Gmail/Apple hoặc có thể đăng ký qua địa chỉ email.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22744%22%20height=%22750%22%3E%3C/svg%3E


Sau khi đăng ký, hãy mở một tab mới và truy cập tên miền Plex của bạn. Nếu cài đặt thành công, bạn sẽ nhận được bảng điều khiển Plex Media Server như sau:


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22511%22%3E%3C/svg%3E

Kết luận​

Xin chúc mừng! Bây giờ bạn đã cài đặt Plex Media Server trên máy chủ Debian 12. Bạn cũng đã cấu hình UFW trên Debian để bảo mật cài đặt Plex. Ngoài ra, bạn cũng đã cấu hình Nginx làm proxy ngược cho Plex Media Server và bảo mật Plex thông qua chứng chỉ SSL.TLS từ Letsencrypt.
 
Back
Bên trên