本文介绍在Ubuntu 16.04服务器或桌面上安装和设置Plex Media Server(Plex媒体服务器)的方法,包括启用Plex存储库、初始设置及创建Nginx反向代理操作,参考在Ubuntu 18.04和Arch Linux上安装Plex Media Server的方法。
在Ubuntu 16.04上安装Plex Media Server 首先,转到Plex网站的下载页面,选择Linux并选择Ubuntu (16.04+) / Debian (8+) - Intel/AMD 64-bit版本:
使用wget从命令行下载Plex,如下所示: wget https://downloads.plex.tv/plex-media-server-new/1.15.1.791-8bec0f76c/debian/plexmediaserver_1.15.1.791-8bec0f76c_amd64.deb 下载Plex deb软件包后,cd到下载目录,例如,我的Plex被下载到Home下的Downloads目录中,因此我运行以下命令,(~)表示主目录。 cd ~/Downloads 在基于Debian的Linux发行版(Ubuntu、Linux Mint等)上,dpkg是安装deb软件包的标准命令行工具,因此,请运行以下命令来安装Plex deb软件包: sudo dpkg -i plexmediaserver*.deb 或sudo dpkg -i plexmediaserver_1.15.1.791-8bec0f76c_amd64.deb -i是--install的缩写,请注意,输入以下内容时 sudo dpkg -i plex 你可以按Tab键,它将自动完成文件名。 现在安装了Plex media server,我们可以查看其状态: systemctl status plexmediaserver 正常情况下都能顺利运行,如果Plex media server未运行,可以使用以下命令启动它: sudo systemctl start plexmediaserver
启用Plex存储库 通过启用官方Plex存储库,可以使用apt包管理器在Ubuntu上更新Plex,Plex deb软件包附带源列表文件,要查看从程序包安装的文件列表,请使用-L选项运行dpkg: dpkg -L plexmediaserver 使用以下命令打开此文件: sudo nano /etc/apt/sources.list.d/plexmediaserver.list 默认情况下,其内容已注释掉,取消注释最后一行(删除开头#符号):
然后保存并关闭该文件,要在Nano文本编辑器中保存文件,请按Ctrl+O,然后按Enter确认,要退出,请按Ctrl+X,之后运行以下命令将Plex公钥导入apt包管理器: wget -q https://downloads.plex.tv/plex-keys/PlexSign.key -O - | sudo apt-key add - 现在更新软件存储库索引: sudo apt update
Plex Media Server初始设置 如果运行以下命令: sudo netstat -lnpt | grep Plex 可以看到Plex Media Server正在侦听0.0.0.0:32400和127.0.0.1:32401:
基于Web的管理界面位于端口32400,首次配置Plex时,必须通过127.0.0.1:32400/web或localhost:32400/web访问Plex,如果在Ubuntu 16.04桌面上安装了Plex,则可以在应用程序菜单中搜索Plex Media Manager,它将带你进入Plex Web界面,同时将带你到https://app.plex.tv,因为你需要使用plex.tv帐户登录:
请注意,如果Plex安装在远程Ubuntu 16.04服务器上,则需要通过在本地计算机上执行以下命令来设置SSH隧道,将12.34.56.78替换为远程Ubuntu服务器的IP地址: ssh root@12.34.56.78 -L 8888:localhost:32400 然后,可以通过以下URL访问Plex Web界面: http://localhost:8888/web 此HTTP请求将通过SSH隧道重定向到远程服务器上的http://localhost:32400/web,只有初始设置才需要此SSH隧道,初始设置后,可以通过server-ip-address:32400访问Plex Web界面,将server-ip-address替换为你的真实服务器IP地址。 登录后,将被重定向到localhost:32400进行初始设置:
在下一个页面上,输入Plex服务器的名称,确保允许能正常访问,然后单击下一步:
现在可以添加库,单击添加库按钮:
选择库类型,然后单击“浏览媒体文件夹(browse for media folder)”按钮以添加媒体文件夹:
请注意,plex用户需要具有对媒体目录的读取和执行权限,例如,我的2T外置硬盘安装在/media/ywnz/下,由root拥有,不在组root中的用户无法访问它,因此我运行以下命令为用户提供plex读取和执行权限(我不建议使用chown或chgrp命令更改所有权,使用setfacl命令就足够了): sudo setfacl -m u:plex:rx /media/ywnz/ 参考:setfacl命令_Linux setfacl命令使用详解:设置文件访问控制列表。 你可能还需要为各个媒体目录分配权限,如下所示: sudo setfacl -m u:plex:rx /media/ywnz/directory-name 可能很容易添加递归标志(-R),它为驱动器上的每个文件和子目录提供plex读取和执行权限: sudo setfacl -R -m u:plex:rx /media/ywnz/ 如果外部硬盘驱动器仅用于存储媒体文件,则可以这样做,但如果外部硬盘驱动器上有敏感文件,请不要这样做。 添加完媒体文件夹后,单击“下一步”,然后单击“完成”,以后可以随时添加更多库。
重做初始设置 如果在初始设置中出错,可以删除Preferences.xml文件并重新启动它: sudo rm /var/lib/plexmediaserver/Library/Application\ Support/Plex\ Media\ Server/Preferences.xml sudo systemctl restart plexmediaserver 现在再次访问localhost:32400/web,Plex会告诉你有一个无人认领的服务器,点击立即声明。
创建Nginx反向代理 如果你更喜欢使用域名而不是输入http://localhost:32400来访问Plex media server,则需要设置反向代理,我们可以将Nginx用于此目的,从默认的Ubuntu软件存储库安装Nginx: sudo apt install nginx 然后为Plex创建服务器块文件: sudo nano /etc/nginx/conf.d/plex.conf 将以下行放入文件中,将plex.example.com替换为你自己的域名,请记住在DNS管理器中为子域创建A记录(如果你的ISP为你提供动态IP地址而不是静态IP地址,则需要设置动态DNS和端口转发,或使用PageKite): 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; } } 保存并关闭此文件,然后测试Nginx配置: sudo nginx -t 如果测试成功,请重新加载Nginx以使更改生效: sudo systemctl reload nginx 现在,可以通过plex.example.com访问Plex媒体服务器了。
启用HTTPS 要从外部访问Plex服务器时加密HTTP流量,我们可以通过安装从Let's Encrypt发出的免费TLS证书来启用HTTPS,在Ubuntu 16.04上安装Let的加密客户端certbot(参考使用Certbot:在Linux上安装letsencrypt的最简单方法https://ywnz.com/linuxyffq/4483.html),Python3-certbot-nginx是Nginx插件: sudo apt install software-properties-common sudo add-apt-repository ppa:certbot/certbot sudo apt update sudo apt install certbot python3-certbot-nginx 然后运行以下命令以获取并安装TLS证书: sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d plex.example.com 说明: --nginx:使用nginx插件。 --agree-tos:同意服务条款。 --redirect:通过301重定向强制HTTPS。 --hsts:将Strict-Transport-Security标头添加到每个HTTP响应中,强制浏览器始终对域使用TLS。防御SSL/TLS剥离。 --staple-ocsp:启用OCSP Stapling,将有效的OCSP响应装订到服务器在TLS期间提供的证书。 现在应该获取并自动安装证书了,就可以通过HTTPS访问Plex Web界面:
在Ubuntu 16.04上升级Plex的方法 当出现新版本的Plex media server时,可以通过执行以下命令对其进行升级: sudo apt update sudo apt upgrade 然后重启Plex: sudo systemctl restart plexmediaserver
相关主题 |