本页目录

  • 前提条件
  • 通过 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 以确认并安装缺失的依赖。

在 Ubuntu 22.04 上安装并配置 Emby 媒体服务器

安装完成后,使用以下命令启动并验证 emby-server 服务。默认情况下,Emby 提供了一个名为 emby-server 的服务文件,因此你可以轻松地通过命令行管理 Emby。

sudo systemctl start emby-server
sudo systemctl status my-server

如果 Emby 正在运行,你将看到类似以下的输出:

在 Ubuntu 22.04 上安装并配置 Emby 媒体服务器

默认的 Emby 服务将运行在 8096 端口,使用下面的命令检查系统中的开放端口。

ss -tulpn

你将看到 8096 端口被 EmbyServer 程序占用,如下图所示:

在 Ubuntu 22.04 上安装并配置 Emby 媒体服务器

安装 Nginx 作为反向代理

Emby 安装完成后,接下来安装 Nginx 并将其配置为 Emby 安装的反向代理。这样运行在 8096 端口的 Emby 将位于 Nginx 之后,使用默认的 HTTP 和 HTTPS 端口。

使用以下命令将 Nginx Web 服务器安装到你的 Ubuntu 系统。输入 Y 以确认并接受安装。

sudo apt install nginx

在 Ubuntu 22.04 上安装并配置 Emby 媒体服务器

安装完成后,创建一个新的服务器块配置文件 /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

在 Ubuntu 22.04 上安装并配置 Emby 媒体服务器

最后,使用以下命令重启 Nginx Web 服务器。然后验证 Nginx 以确保它正在运行。

sudo systemctl restart nginx
sudo systemctl status nginx

运行后,你将看到类似 active (running) 的输出,如下图所示:

在 Ubuntu 22.04 上安装并配置 Emby 媒体服务器

配置 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

在 Ubuntu 22.04 上安装并配置 Emby 媒体服务器

使用 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(下一步)。

在 Ubuntu 22.04 上安装并配置 Emby 媒体服务器

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

在 Ubuntu 22.04 上安装并配置 Emby 媒体服务器

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

在 Ubuntu 22.04 上安装并配置 Emby 媒体服务器

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

在 Ubuntu 22.04 上安装并配置 Emby 媒体服务器

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

在 Ubuntu 22.04 上安装并配置 Emby 媒体服务器

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

在 Ubuntu 22.04 上安装并配置 Emby 媒体服务器

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

在 Ubuntu 22.04 上安装并配置 Emby 媒体服务器

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

在 Ubuntu 22.04 上安装并配置 Emby 媒体服务器

登录后,你将看到类似以下的 Emby 仪表盘:

结语

恭喜!你已在 Ubuntu 22.04 服务器上安装了 Emby 媒体服务器。Emby 现在以 Nginx 作为反向代理运行,并通过 Letsencrypt 的 SSL/TLS 证书进行了保护。你现在可以开始上传媒体文件,以便从任何设备访问。