云网牛站
所在位置:首页 > Linux云服务器 > 在Ubuntu 16.04上安装和设置Plex Media Server的方法

在Ubuntu 16.04上安装和设置Plex Media Server的方法

2019-03-18 11:37:33作者:魏承戈稿源:云网牛站

本文介绍在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版本:

在Ubuntu 16.04上安装和设置Plex Media Server的方法

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

默认情况下,其内容已注释掉,取消注释最后一行(删除开头#符号):

在Ubuntu 16.04上安装和设置Plex Media Server的方法

然后保存并关闭该文件,要在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:

在Ubuntu 16.04上安装和设置Plex Media Server的方法

基于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帐户登录:

在Ubuntu 16.04上安装和设置Plex Media Server的方法

请注意,如果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进行初始设置:

在Ubuntu 16.04上安装和设置Plex Media Server的方法

在下一个页面上,输入Plex服务器的名称,确保允许能正常访问,然后单击下一步:

在Ubuntu 16.04上安装和设置Plex Media Server的方法

现在可以添加库,单击添加库按钮:

在Ubuntu 16.04上安装和设置Plex Media Server的方法

选择库类型,然后单击“浏览媒体文件夹(browse for media folder)”按钮以添加媒体文件夹:

在Ubuntu 16.04上安装和设置Plex Media Server的方法

请注意,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 Media Server的方法

 

在Ubuntu 16.04上升级Plex的方法

当出现新版本的Plex media server时,可以通过执行以下命令对其进行升级:

sudo apt update

sudo apt upgrade

然后重启Plex:

sudo systemctl restart plexmediaserver

 

相关主题

Plex Media Server能使用Snap来安装在Ubuntu系统上

精选文章
热门文章