如何在 Ubuntu 22.04 上安装 Emby 媒体服务器
在此页面上
- 先决条件
- 通过 DEB 文件安装 Emby
- 安装 Nginx 作为反向代理
- 设置UFW防火墙
- 使用 SSL/TLS 证书保护 Emby
- 安比安装
- 结论
Emby 是 Plex 媒体服务器的开源替代品。 Emby 支持多种操作系统,例如 Linux、FreeBSD、Windows 和 MacOS。至于客户端,它支持几乎所有设备,从智能手机到台式机。这意味着您几乎可以在任何地方访问您的媒体文件。
本指南将向您展示如何在 Ubuntu 22.04 服务器上安装 Emby Media Server。您将使用 Nginx 作为反向代理运行 Emby,并通过 Letsencrypt 通过 SSL/TLS 证书保护 Emby。
先决条件
在安装 Emby 之前,请确保您已准备好以下内容:
- Ubuntu 22.04 服务器
- 具有管理员权限的非 root 用户。
- 域名指向服务器IP地址。
通过 DEB 文件安装 Emby
Emby 是一款免费的媒体服务器,可以安装在大多数操作系统上,从类 Unix 操作系统到 Windows。对于Ubuntu系统,Emby提供了可供安装的DEB文件,您可以通过dpkg命令轻松下载并安装它。
在下载 Eby 之前,请将您的 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
您将看到 EmbyServer 程序使用端口 8096,如下所示:
安装 Nginx 作为反向代理
安装 Emby 后,让我们安装 Nginx 并将其配置为 Emby 安装的反向代理。因此,在端口 8096 上运行的 emby 将在默认 HTTP 和 HTTPS 端口上的 Nginx 后面运行。
使用以下命令将 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 语法是否有错误。确保您获得输出语法正确。
sudo nginx -t
最后,使用以下命令重新启动 Nginx Web 服务器。然后,验证 Nginx 以确保其正在运行。
sudo systemctl restart nginx
sudo systemctl status nginx
运行时,您将看到如下输出活动(正在运行):
设置UFW防火墙
在本部分中,您将通过 UFW 打开 HTTP 和 HTTPS 端口,以允许访问您的 Emby 安装。在 Ubuntu 系统上,ufw 默认可用,因此请确保它正在运行并启用。
添加“Nginx Full”配置文件以打开 HTTP 和 HTTPS 端口并允许访问您的 Emby 安装。如果成功,您将获得添加的输出规则。
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 -d emby.howtoforge.local
完成后,您的 SSL/TLS 证书应在 /etc/letsencrypt/live/domain.com 目录中可用,并且您的 Emby 安装应使用 HTTPS 进行保护。
安比安装
打开 Web 浏览器并访问 Emby 安装的域名,例如 https://emby.howtoforge.local/。如果安装成功,您应该会收到一条消息,例如“欢迎来到 Emby”。
选择您首选的 Emby 语言,然后单击下一步。
现在为您的 Emby 安装创建一个新用户并输入详细的用户和密码。单击下一步进行确认。
创建管理员用户后,系统会要求您为 Emby 创建一个新的库。您可以稍后配置库,因此再次单击下一步继续。
选择元数据的语言,然后单击下一步。
选中“启用自动端口映射”选项,然后单击下一步。
对于使用条款,选择“我接受使用条款”选项,然后单击下一步确认。
安装完成后,您将看到消息“您已完成!”。单击完成完成安装。
现在,您将被重定向到 Emby 登录页面,输入您的管理员用户和密码,然后单击登录。
登录后,您将看到 Emby 仪表板,如下所示:
结论
恭喜!您已在 Ubuntu 22.04 服务器上安装 Emby 媒体服务器。 Emby 现在使用 Nginx 作为反向代理运行,并使用 Letsencrypt 的 SSL/TLS 证书进行保护。您现在可以开始上传媒体文件以从任何设备进行访问。