温馨提示×

jellyfin在centos上如何实现多用户访问

小樊
46
2025-09-28 12:29:26
栏目: 智能运维

1. 安装Jellyfin
在CentOS上安装Jellyfin是实现多用户访问的基础。首先添加EPEL仓库,再通过YUM包管理器安装:

sudo yum install -y epel-release
sudo yum install -y jellyfin

安装完成后,启动Jellyfin服务并设置开机自启:

sudo systemctl start jellyfin
sudo systemctl enable jellyfin

2. 配置数据库(可选但推荐)
默认情况下,Jellyfin使用SQLite数据库,适合单用户场景。若需支持多用户并发访问,建议切换至MySQL或PostgreSQL:

  • 安装MySQL
    sudo yum install -y mysql-server
    sudo systemctl start mysqld
    sudo systemctl enable mysqld
    
    登录MySQL并创建专用数据库及用户:
    CREATE DATABASE jellyfin;
    CREATE USER 'jellyfin'@'localhost' IDENTIFIED BY 'your_secure_password';
    GRANT ALL PRIVILEGES ON jellyfin.* TO 'jellyfin'@'localhost';
    FLUSH PRIVILEGES;
    
  • 配置Jellyfin使用MySQL
    编辑配置文件/etc/jellyfin/config/config.db.json,修改数据库设置:
    {
      "Database": {
        "Engine": "mysql",
        "Host": "localhost",
        "Port": 3306,
        "DatabaseName": "jellyfin",
        "Username": "jellyfin",
        "Password": "your_secure_password"
      }
    }
    
  • PostgreSQL配置:流程类似,安装PostgreSQL后创建数据库和用户,修改配置文件中的Enginepostgresql即可。

3. 启用多用户会话
Jellyfin默认允许单用户会话,需修改配置文件开启多用户同时登录:
编辑/etc/jellyfin/config/system.config,找到[General]部分,将allow_multiple_sessions设置为true

[General]
allow_multiple_sessions = true

保存后重启Jellyfin服务使配置生效:

sudo systemctl restart jellyfin

4. 通过Web界面创建用户
最便捷的方式是通过Jellyfin Web界面管理用户:

  • 打开浏览器,访问http://your_server_ip:8096(若配置了反向代理则用域名)。
  • 使用管理员账户登录(首次安装时设置的账号)。
  • 点击右上角头像→“用户管理”→“创建用户”,填写用户名、密码、邮箱等信息,点击“保存”。

5. 配置用户权限与共享
创建用户后,需为其分配权限以控制媒体访问范围:

  • 进入“用户管理”,选择目标用户,点击“编辑”。
  • 权限设置:在“权限”选项卡中,可配置用户对媒体库的访问权限(如播放、下载、上传)、设备限制等。
  • 共享设置:在“共享”选项卡中,可设置用户是否有权分享媒体内容给其他用户或外部设备。

6. 配置反向代理(可选但推荐)
为提升安全性与访问便利性,建议使用Nginx作为反向代理并绑定域名:

  • 安装Nginx
    sudo yum install -y nginx
    sudo systemctl start nginx
    sudo systemctl enable nginx
    
  • 配置Nginx代理
    编辑/etc/nginx/conf.d/jellyfin.conf,添加以下内容(替换your_domain.com为你的域名):
    server {
      listen 80;
      server_name your_domain.com;
      return 301 https://$host$request_uri;
    }
    
    server {
      listen 443 ssl;
      server_name your_domain.com;
      ssl_certificate /etc/letsencrypt/live/your_domain.com/fullchain.pem;
      ssl_certificate_key /etc/letsencrypt/live/your_domain.com/privkey.pem;
      include /etc/letsencrypt/options-ssl-nginx.conf;
      ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
    
      location / {
        proxy_pass http://localhost:8096;
        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;
      }
    }
    
  • 获取SSL证书:使用Certbot获取免费Let’s Encrypt证书:
    sudo yum install -y certbot python3-certbot-nginx
    sudo certbot --nginx -d your_domain.com
    
  • 重启Nginx
    sudo systemctl restart nginx
    

完成后,用户可通过https://your_domain.com访问Jellyfin,享受更安全的HTTPS连接。

7. 安全加固

  • 防火墙配置:允许HTTP(80)和HTTPS(443)流量通过:
    sudo firewall-cmd --permanent --zone=public --add-service=http
    sudo firewall-cmd --permanent --zone=public --add-service=https
    sudo firewall-cmd --reload
    
  • 定期更新:保持Jellyfin及相关依赖(如Nginx、数据库)为最新版本,修复安全漏洞。

0