Plex Media Server 是一个强大的家庭媒体解决方案平台。对于 Debian 用户来说,它提供了媒体管理体验。本指南将解释如何在 Debian 12 Bookworm、Debian 11 Bullseye 或 Debian 10 Buster 上安装 Plex Media Server,为您提供满足娱乐需求的一体化媒体中心。
Plex 媒体服务器的值得注意的功能:
- 综合媒体库:Plex 无缝融合电影、电视节目、音乐、照片等,并将它们呈现在统一的库中,无需在各个平台之间跳转。
- 智能组织和搜索:Plex 具有自动获取元数据的能力,可以使用封面、描述和评级来丰富您的内容,而其强大的搜索功能可确保您立即找到所需内容。
- 简洁的用户界面:Plex 拥有引人注目的视觉界面,可增强用户体验并使内容发现变得令人愉快。
- Plex Pass 福利:Plex Pass 订阅可提升您的媒体体验,提供直播电视和 DVR、移动同步、家长控制等功能。
- 广泛的设备支持:Plex 确保您可以在多种设备上欣赏媒体,从智能手机和平板电脑到智能电视和游戏机。
- 随处访问:使用 Plex,您的媒体库始终触手可及,可从任何具有互联网连接的位置访问。
- 内容共享:Plex 允许您与亲朋好友分享您的媒体珍品,促进共享娱乐体验。
- 可通过插件扩展:Plex 社区提供了大量插件,使用户能够进一步增强服务器的功能并集成新功能。
在重点介绍了 Plex Media Server 的诸多优势之后,本指南的以下部分将介绍 Debian 系统上的安装过程,为您带来无与伦比的媒体体验。
在安装 Plex 之前更新 Debian 系统
首先更新您的 Debian 系统,以确保安装过程顺利进行。这可确保所有现有软件包都是最新的:
sudo apt update && sudo apt upgrade
安装 Plex 所需的初始软件包
Plex 安装需要一些额外的软件包。通过运行以下命令安装它们:
sudo apt install dirmngr ca-certificates software-properties-common apt-transport-https curl -y
这些软件包将提供处理 Plex 存储库的工具,包括安全连接和 GPG 密钥管理。
导入 Plex APT 存储库
将 Plex 存储库添加到您的 Debian 系统,以便从官方来源安装 Plex。这可确保您使用 APT 包管理器直接从官方存储库安装和更新软件。
首先,打开终端并使用以下命令导入 Plex GPG 密钥:
curl -fsSL https://downloads.plex.tv/plex-keys/PlexSign.key | gpg --dearmor | sudo tee /usr/share/keyrings/plex.gpg > /dev/null
此命令下载 Plex GPG 密钥,用于验证来自存储库的包的真实性。
接下来,将 Plex 存储库添加到您的系统:
echo "deb [signed-by=/usr/share/keyrings/plex.gpg] https://downloads.plex.tv/repo/deb public main" | sudo tee /etc/apt/sources.list.d/plexmediaserver.list
此命令在 sources.list.d
包含有关 Plex 存储库必要信息的目录。
通过 APT 命令安装 Plex Media Server
在安装 Plex 之前,请更新您的软件包索引以包含新添加的 Plex 存储库:
sudo apt update
现在您可以使用以下命令在 Debian 上安装 Plex Media Server:
sudo apt install plexmediaserver
在安装过程中,您可能会看到一个提示,询问您是否要用 Plex 替换导入的存储库列表。输入 “N” 继续安装。您不想替换导入的存储库列表,因为正确的签名 GPG 密钥已经到位。
验证 Plex 媒体服务器安装
默认情况下,Plex Media 服务应自动启动。要验证这一点,请使用以下命令 systemctl
命令检查状态:
systemctl status plexmediaserver
如果服务未激活,请使用以下命令启动 Plex Media Server:
sudo systemctl start plexmediaserver
要确保 Plex Media Server 在系统启动时自动启动,请使用以下命令启用该服务:
sudo systemctl enable plexmediaserver
如果您由于任何原因需要重新启动 Plex Media Server 服务,请使用以下命令:
sudo systemctl restart plexmediaserver
为 Plex 媒体服务器配置 UFW 防火墙
笔记: 此部分是可选的,取决于您的网络设置。但是,如果您是 Linux 新手或不确定网络安全,强烈建议将基本 UFW 防火墙规则与 Plex Media Server 结合使用。
保护您的 Plex 媒体服务器至关重要,尤其是当您计划远程访问它或允许其他人访问它时。UFW(简单防火墙)是保护您的服务器的好方法。
启用 UFW 防火墙
首先,检查你的系统上是否安装了 UFW。如果没有,请使用以下命令安装它:
sudo apt install ufw -y
接下来,使用以下命令启用 UFW:
sudo ufw enable
添加 Plex 媒体服务器端口规则
将默认的 Plex Media Server 端口 (32400) 添加到 UFW 规则中。您可以根据需要稍后自定义端口。如果您更改了 Plex Media Server 仪表板端口,请删除此规则并添加新规则。
sudo ufw allow 32400
Plex 的其他 UFW 规则
Plex Media Server 使用多个附加端口来提供不同的服务和连接。要允许它们通过 UFW 防火墙,请使用以下命令:
sudo ufw allow 1900/udp
sudo ufw allow 3005/tcp
sudo ufw allow 5353/udp
sudo ufw allow 8324/tcp
sudo ufw allow 32410:32414/udp
以下是这些端口及其用途的简要说明:
- 1900/UDP: 用于客户端通过网络发现 Plex Media Server。
- 3005/TCP: Plex Companion 所需功能可让您从移动设备控制 Plex 播放。
- 5353/UDP: 用于 mDNS(多播域名系统)帮助 Plex 发现本地网络上的设备。
- 8324/TCP: Plex DLNA 服务器所需。
- 32410:32414/udp: 用于向客户端流式传输媒体。
如果您自定义了上述任何端口,请调整您的 UFW 规则。为您的 Plex Media Server 配置 UFW 防火墙可以确保您的 Debian 系统在面对公共连接时获得更安全、更受保护的媒体中心体验。
为 Plex 媒体服务器配置 SSH
笔记: 此部分是可选的,仅当您使用 SSH 登录远程 Debian 桌面或服务器时才有用。
如果您在远程无头服务器或其他不总是具有本地访问权限的 Debian 桌面上安装了 Plex Media Server,则需要在本地计算机上设置 SSH 隧道以进行初始设置。这允许外部连接访问 Plex 服务器。
设置 SSH 隧道
代替 {server-ip-address}
您的服务器的实际 IP 地址,例如, 192.168.50.1
.
例子:
ssh {server-ip-address} -L 8888:localhost:32400
如果您是 SSH 新手并且尚未安装它,则可以使用以下命令进行安装:
sudo apt install openssh-server -y
sudo systemctl enable ssh --now
通过 SSH 隧道访问 Plex 媒体服务器
现在,您可以通过在 Web 浏览器中打开以下地址来访问 Plex 媒体服务器:
http://localhost:8888/web
如果上述地址不起作用,请使用备用地址:
https://localhost:8888/web/index.html#!/setup
HTTP 请求将被重定向到 http://localhost:32400/web
通过 SSH 隧道在远程服务器上。
远程访问 Plex 媒体服务器
完成初始设置后,您可以使用远程服务器的 IP 地址访问 Plex 媒体服务器:
http://{server-ip-address}:32400
在 WebUI 中配置 Plex 媒体服务器
现在 Plex 已安装在您的系统上,您必须通过 WebUI 配置并完成设置。WebUI 使您能够管理媒体库并自定义服务器设置。按照以下步骤在 WebUI 中访问和配置 Plex 媒体服务器:
步骤 1:访问 WebUI
要访问 WebUI,请打开您喜欢的互联网浏览器并导航到以下地址之一:
http://127.0.0.1:32400/web
或者
http://localhost:32400/web
如果这两个不起作用,请尝试使用以下地址:
http://localhost:32400/web/index.html#!/setup
现在,您可以使用上面列出的现有社交媒体帐户登录,或者如果您是 Plex 的新用户,可以使用您的电子邮件注册新帐户。登录后,您将开始初始配置设置。
第 2 步:了解 Plex
第一个配置页面简要介绍了 Plex 及其工作原理。根据互联网浏览器的不同,Firefox 用户可能会看到一条消息,提示他们启用 DRM。这个选择是必要的;如果没有它,Plex WebUI 可能无法正常工作。
点击 知道了! 继续。
步骤 3:可选 Plex 通行证
接下来,系统会提示您升级到 Plex Pass,这是可选的。Plex Pass 提供 HDR 选项和访问测试版等福利。
如果您想跳过此步骤,请点击 X 在右上角。您可以稍后再进行设置。
步骤4:服务器设置
配置您的服务器名称,可以是任何您想要的名称。您还可以选择禁用 允许我在家外访问我的媒体。默认情况下,访问外部媒体是启用的;如果您不打算这样做,请取消选中该功能。
配置完成后,点击 下一个 按钮。
第 5 步:媒体库
媒体库页面为您提供预先添加媒体目录的选项。
如果您已准备好媒体驱动器或文件夹,请单击 添加图书馆 按钮。
现在选择要将文件夹组织成的媒体类型,例如电视节目、电影、音乐等。单击 下一个 按钮继续添加文件夹。
点击 浏览媒体文件夹 按钮并选择媒体目录。添加文件夹后,将出现高级选项,您可以在其中进一步自定义 Plex 以满足您的喜好。
完成后,点击 添加图书馆 继续至“完成”选项卡。
步骤 6:完成
接下来,点击 下一个 按钮完成初始设置,无论是否添加媒体库。下一个屏幕会通知您一切就绪。
点击 完毕 按钮进入 Plex 仪表板。
配置文件和文件夹权限
您可能已经注意到,在初始设置期间您的媒体没有出现。您可能在添加不会被拾取的内容时遇到问题,因为 Plex 拒绝在您现有的内部和外部辅助硬盘上找到内容。这部分是由于 Plex 创建了一个名为 plex
,这需要您对媒体目录的读取和执行权限。
Debian 权限可以使用以下方式设置 chown
或者 setfacl
;两者都有效。下面是如何应用这些命令以确保正确访问的一些示例。
选项 1:使用 setfacl 设置权限
使用以下方式设置权限 setfacl
,执行以下命令,替换 /media/yourfolder/
媒体目录的路径为:
sudo setfacl -R -m u:plex:rx /media/yourfolder/
sudo setfacl -R -m u:plex:rx /media/yourfolder/tv
sudo setfacl -R -m u:plex:rx /media/yourfolder/movies
如果上述命令不起作用,您可能需要重新安装 ACL 包(如果您的系统缺少该包):
sudo apt install acl -y
选项 2:使用 chown 设置权限
使用以下方式设置权限 chown
,执行以下命令,替换 /media/yourfolder/
媒体目录的路径为:
sudo chown -R plex:plex /media/yourfolder/
或者,如果存在您不想让 Plex 访问的其他文件夹,请为硬盘中的单个文件设置权限:
sudo chown -R plex:plex /media/yourfolder/tv
sudo chown -R plex:plex /media/yourfolder/movies
为 Plex 媒体服务器设置 Nginx 反向代理
笔记: 如果您不打算通过反向代理设置使用 Plex,则可以跳过此部分。
设置反向代理可让您从远程计算机或网络访问 Plex Media Server。在此示例中,我们将设置 Nginx 代理服务器。
安装Nginx进行反向代理设置
首先,使用以下命令安装 Nginx:
sudo apt install nginx -y
默认情况下,Nginx 应该已启用。如果未激活,请使用以下命令:
sudo systemctl start nginx
现在检查确保 Nginx 已激活并且没有错误:
sudo systemctl enable nginx
现在检查确保 Nginx 已激活并且没有错误:
systemctl status nginx
创建 Plex Nginx 服务器块
创建一个新的服务器块,如下所示:
sudo nano /etc/nginx/conf.d/plex.conf
您将需要一个活动域名并需要创建一个子域。完成后,将以下内容添加到服务器块文件中:
server {
listen 80;
server_name plex.example.com;
location / {
proxy_pass http://127.0.0.1:32400;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#upgrade to WebSocket protocol when requested
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
}
保存文件(CTRL+O),然后退出(CTRL+X)。
测试 Nginx 配置
执行试运行以确保 Nginx 配置或服务器块中没有错误:
sudo nginx -t
如果一切正常,示例输出应为:
nginx:配置文件/etc/nginx/nginx.conf语法正常 nginx:配置文件/etc/nginx/nginx.conf测试成功
重新加载 Nginx 以使更改生效:
sudo systemctl reload nginx
如果您已将域和 DNS 记录设置为指向服务器 IP,则现在可以通过以下网址访问 Plex 媒体服务器: plex.example.com
.
使用 Let's Encrypt SSL 免费证书保护 Nginx 反向代理
建议使用 SSL 证书在 HTTPS 上运行 Nginx。您可以使用 Let's Encrypt,这是一个由非营利性互联网安全研究小组 (ISRG) 运营的免费、自动化、开放的证书颁发机构。
首先,安装 certbot 包,如下所示:
sudo apt install python3-certbot-nginx -y
安装后,运行以下命令开始创建证书:
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d www.example.com
此设置包括强制 HTTPS 301 重定向、Strict-Transport-Security 标头和 OCSP Stapling。请确保根据您的要求调整电子邮件和域名。
现在你的 URL 将是 https://plex.example.com
代替 http://plex.example.com
。如果您使用旧的 HTTP URL,它将自动重定向到 HTTPS。
设置Nginx自动SSL证书更新
您也可以选择设置一个 cron 作业来自动更新证书。Certbot 提供了一个可以自动执行此操作的脚本。首先,通过执行试运行来测试以确保一切正常:
sudo certbot renew --dry-run
如果一切正常,请使用以下终端命令打开您的 crontab 窗口:
sudo crontab -e
接下来,指定证书自动更新的时间。应至少每天检查一次,如果需要更新,脚本将更新证书。
将以下行添加到您的 crontab:
00 00 */1 * * /usr/sbin/certbot-auto renew
此命令将在每天午夜检查证书是否更新。如果证书需要更新,它将自动更新。这可确保您的 SSL 证书保持最新状态,并且您的反向代理保持安全。
Plex 媒体服务器的附加命令
更新 Plex 媒体服务器
保持 Plex Media Server 为最新状态,以确保您拥有最新的功能、错误修复和安全补丁。
要检查更新,请运行以下命令:
sudo apt update
如果有可用更新,请使用 upgrade
更新 Plex Media Server 的命令:
sudo apt upgrade plexmediaserver
或者一次性更新所有软件包以及 Plex Media Server:
sudo apt upgrade
删除 Plex 媒体服务器
如果您不再希望使用 Plex 并希望将其从 Debian 系统中删除,请按照以下步骤操作。
卸载 Plex 媒体服务器
执行以下命令从系统中删除 Plex Media Server:
sudo apt remove plexmediaserver
禁用 Nginx 反向代理(如果适用)
如果您安装了 Nginx 反向代理,请记住禁用它,并在必要时删除与您的域关联的配置文件。
要禁用 Nginx 反向代理,请运行以下命令:
sudo systemctl disable nginx --now
要删除配置文件,请使用以下命令:
sudo rm /etc/apt/sources.list.d/plexmediaserver.list
最后,重新加载 Nginx 以应用更改:
sudo rm usr/share/keyrings/plex.gpg
结论
总之,在 Debian 12、11 或 10 Linux 上安装 Plex Media Server 非常简单。这允许您为您的家庭或组织创建强大而灵活的媒体服务器。按照本指南中的步骤,您可以快速启动并运行功能齐全的 Plex Media Server。请记住保持服务器更新和维护以获得最佳性能和安全性。