1. 安装Jellyfin
首先确保Ubuntu系统已更新,然后通过官方仓库安装Jellyfin(推荐方式,保证软件安全性和及时更新):
sudo apt update && sudo apt upgrade -y
sudo apt install apt-transport-https ca-certificates curl gnupg -y
mkdir -p /etc/apt/keyrings
curl -fsSL https://repo.jellyfin.org/jellyfin_team.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/jellyfin.gpg
echo "deb [signed-by=/etc/apt/keyrings/jellyfin.gpg] https://repo.jellyfin.org/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/jellyfin.list
sudo apt update
sudo apt install jellyfin -y
安装完成后,Jellyfin会自动启动,可通过http://服务器局域网IP:8096访问Web配置界面。
2. 配置Jellyfin允许远程访问
编辑Jellyfin的主配置文件,修改监听地址和端口:
sudo nano /etc/default/jellyfin
找到以下两行(默认可能被注释),取消注释并修改:
JELLYFIN_ADDRESS=0.0.0.0 # 允许所有IP地址访问(若需限制特定IP,可替换为具体IP)
JELLYFIN_PORT=8096 # 默认端口(可自定义,如8080,需与后续配置一致)
保存文件后,重启Jellyfin服务使更改生效:
sudo systemctl restart jellyfin
```。
**3. 配置防火墙放行端口**
若服务器启用了`ufw`防火墙(Ubuntu默认防火墙工具),需允许Jellyfin端口通过:
```bash
sudo ufw allow 8096/tcp # 若修改了端口,替换为实际端口
sudo ufw enable # 若未启用防火墙,执行此命令开启
sudo ufw status # 查看防火墙规则,确认端口已放行
```。
**4. 配置端口转发(非局域网环境必备)**
若服务器位于路由器后方(如家庭宽带),需在路由器中设置端口转发,将外部请求转发到服务器内部IP:
- 获取服务器局域网IP(通过`ip a`或`ifconfig`命令查看,如`192.168.1.100`);
- 登录路由器管理界面(通常在浏览器输入`192.168.1.1`),找到“端口转发”“虚拟服务器”或类似选项;
- 添加新规则:**外部端口**(如8888,自定义且未被占用)、**内部IP**(服务器局域网IP)、**内部端口**(Jellyfin端口,如8096);
- 保存规则并重启路由器。
**5. (可选但推荐)配置反向代理(提升安全性与易用性)**
反向代理可通过Nginx或Apache将外部HTTPS请求转发到Jellyfin的HTTP服务,实现加密访问(避免直接暴露8096端口)。以Nginx为例:
- 安装Nginx:
```bash
sudo apt install nginx -y
sudo systemctl start nginx && sudo systemctl enable nginx
/etc/nginx/sites-available/jellyfin文件,添加以下内容(替换your_domain.com为你的域名或公网IP):server {
listen 80;
server_name your_domain.com;
return 301 https://$host$request_uri; # 强制跳转HTTPS
}
server {
listen 443 ssl;
server_name your_domain.com;
# SSL证书路径(需提前通过Certbot获取,见下一步)
ssl_certificate /etc/letsencrypt/live/your_domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/your_domain.com/privkey.pem;
location / {
proxy_pass http://localhost:8096; # 转发到Jellyfin服务
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
sudo ln -s /etc/nginx/sites-available/jellyfin /etc/nginx/sites-enabled/
sudo nginx -t # 测试配置语法
sudo systemctl restart nginx
```。
6. (可选)配置SSL证书(启用HTTPS)
为避免数据传输被窃取,建议为Jellyfin配置SSL证书(通过Let’s Encrypt免费获取)。使用Certbot工具自动安装:
sudo apt install certbot python3-certbot-nginx -y # 若使用Nginx反向代理
sudo certbot --nginx -d your_domain.com # 替换为你的域名
Certbot会自动配置Nginx的SSL证书,并设置自动续期(无需手动操作)。
7. 测试远程访问
完成上述配置后,从远程设备(如手机、电脑)的浏览器输入以下地址访问:
https://your_domain.comhttps://服务器公网IP:外部端口(如https://123.45.67.89:8888)输入Jellyfin管理员账号密码即可登录,正常显示媒体库即表示远程访问成功。
注意事项