本页目录
- 前提条件
- 通过 DEB 文件安装 Emby
- 安装 Nginx 作为反向代理
- 配置 UFW 防火墙
- 使用 SSL/TLS 证书保护 Emby
- Emby 安装配置
- 结语
Emby 是 Plex Media Server 的开源替代方案。Emby 支持多种操作系统,例如 Linux、FreeBSD、Windows 和 MacOS。在客户端方面,它几乎支持所有设备,从智能手机到台式机。这意味着你几乎可以在任何地方访问自己的媒体文件。
本指南将向你展示如何在 Ubuntu 22.04 服务器上安装 Emby 媒体服务器。你将使用 Nginx 作为反向代理来运行 Emby,并通过 Letsencrypt 的 SSL/TLS 证书来保护 Emby。
前提条件
在安装 Emby 之前,请确保你已经准备好以下条件:
- 一台 Ubuntu 22.04 服务器
- 一个具有管理员权限的非 root 用户。
- 一个已指向服务器 IP 地址的域名。
通过 DEB 文件安装 Emby
Emby 是一款免费媒体服务器,可安装在大多数操作系统上,从类 Unix 操作系统到 Windows。对于 Ubuntu 系统,Emby 提供了可直接安装的 DEB 文件,你可以使用 dpkg 命令轻松下载并安装它。
在下载 Emby 之前,请将你的 Ubuntu 软件包更新并升级到最新版本。
sudo apt update && sudo apt upgrade
完成后,使用下面的 wget 命令下载 Emby 的 DEB 文件。请查看 Emby 下载页面以获取最新下载链接。
wget https://github.com/MediaBrowser/Emby.Releases/releases/download/4.8.3.0/emby-server-deb_4.8.3.0_amd64.deb
通过 DEB 文件安装 Emby 媒体服务器,然后使用下面的 apt 命令安装缺失的依赖。
sudo dpkg -i emby-server-deb_4.8.3.0_amd64.deb
sudo apt install -f
输入 Y 以确认并安装缺失的依赖。

安装完成后,使用以下命令启动并验证 emby-server 服务。默认情况下,Emby 提供了一个名为 emby-server 的服务文件,因此你可以轻松地通过命令行管理 Emby。
sudo systemctl start emby-server
sudo systemctl status my-server
如果 Emby 正在运行,你将看到类似以下的输出:

默认的 Emby 服务将运行在 8096 端口,使用下面的命令检查系统中的开放端口。
ss -tulpn
你将看到 8096 端口被 EmbyServer 程序占用,如下图所示:

安装 Nginx 作为反向代理
Emby 安装完成后,接下来安装 Nginx 并将其配置为 Emby 安装的反向代理。这样运行在 8096 端口的 Emby 将位于 Nginx 之后,使用默认的 HTTP 和 HTTPS 端口。
使用以下命令将 Nginx Web 服务器安装到你的 Ubuntu 系统。输入 Y 以确认并接受安装。
sudo apt install nginx

安装完成后,创建一个新的服务器块配置文件 /etc/nginx/sites-available/emby,它将用作 Emby 的反向代理。
sudo nano /etc/nginx/sites-available/emby
插入以下配置,并确保将 server_name 选项修改为你自己的 Emby 域名。你可以使用本地或公网域名。
server {
listen 80;
server_name emby.howtoforge.local; #your subdomain.domainname.com here
proxy_hide_header X-Powered-By;
add_header X-Xss-Protection "1; mode=block" always;
add_header X-Content-Type-Options "nosniff" always;
add_header Strict-Transport-Security "max-age=2592000; includeSubdomains" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header 'Referrer-Policy' 'no-referrer';
add_header Content-Security-Policy "frame-ancestors mydomain.com emby.mydomain.com;"; #add your domainname and all subdomains listed on your cert
location / {
proxy_pass http://127.0.0.1:8096; # Local emby ip and non SSL port
proxy_hide_header X-Powered-By;
proxy_set_header Range $http_range;
proxy_set_header If-Range $http_if_range;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#Next three lines allow websockets
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
保存文件并退出。
现在运行以下命令,通过创建指向 /etc/nginx/sites-enabled/ 目录的符号链接来激活 Emby 服务器块。
sudo ln -s /etc/nginx/sites-available/emby /etc/nginx/sites-enabled/
使用以下命令检查 Nginx 语法是否有错误。确保你得到 syntax is ok 的输出。
sudo nginx -t

最后,使用以下命令重启 Nginx Web 服务器。然后验证 Nginx 以确保它正在运行。
sudo systemctl restart nginx
sudo systemctl status nginx
运行后,你将看到类似 active (running) 的输出,如下图所示:

配置 UFW 防火墙
在本节中,你将通过 UFW 开放 HTTP 和 HTTPS 端口,以允许访问你的 Emby 安装。在 Ubuntu 系统上,ufw 默认可用,因此请确保它正在运行并已启用。
添加 `Nginx Full` 配置文件以开放 HTTP 和 HTTPS 端口,并允许访问你的 Emby 安装。如果成功,你将得到 Rule added 的输出。
sudo ufw allow 'Nginx Full'
现在使用以下命令验证 UFW 上已启用的规则列表。你将看到 'Nginx Full' 规则已启用。
sudo ufw status

使用 SSL/TLS 证书保护 Emby
在本指南中,你将通过 Certbot 和 Letsencrypt 使用 SSL/TLS 证书保护 Emby。因此,现在你将安装 Certbot 并使用 certbot 命令生成 SSL/TLS 证书。
首先,运行以下命令将 Certbot 及 Certbot Nginx 插件安装到你的 Ubuntu 系统。输入 y 以确认安装。
sudo apt install certbot python3-certbot-nginx
安装完成后,运行以下 certbot 命令为你的 Emby 安装生成 SSL/TLS 证书。请确保将域名和邮箱地址的详细信息修改为你自己的信息。
sudo certbot certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email
[email protected]
-d emby.howtoforge.local
完成后,你的 SSL/TLS 证书应位于 /etc/letsencrypt/live/domain.com 目录中,你的 Emby 安装应通过 HTTPS 受到保护。
Emby 安装配置
打开你的 Web 浏览器并访问你的 Emby 安装域名,例如 https://emby.howtoforge.local/。如果安装成功,你应该会看到类似 'Welcome to Emby' 的提示。
选择你偏好的 Emby 语言,然后点击 Next(下一步)。

现在为你的 Emby 安装创建一个新用户,并输入详细的用户名和密码。点击 Next 确认。

管理员用户创建后,系统会要求你为 Emby 创建一个新媒体库(Library)。你可以稍后配置媒体库,因此再次点击 Next 继续。

选择你的元数据(Metadata)语言,然后点击 Next。

勾选 'Enable automatic port mapping'(启用自动端口映射)选项,然后点击 Next。

对于使用条款,选择 'I accept the terms of use'(我接受使用条款)选项,然后点击 Next Confirm(下一步确认)。

安装完成后,你将看到 `You're Done!`(大功告成!)的消息。点击 Finish 完成安装。

现在,你将被重定向到 Emby 登录页面,输入你的管理员用户名和密码,然后点击 Sign In(登录)。

登录后,你将看到类似以下的 Emby 仪表盘:
结语
恭喜!你已在 Ubuntu 22.04 服务器上安装了 Emby 媒体服务器。Emby 现在以 Nginx 作为反向代理运行,并通过 Letsencrypt 的 SSL/TLS 证书进行了保护。你现在可以开始上传媒体文件,以便从任何设备访问。