本文介绍在Ubuntu 18.04操作系统上安装Subsonic媒体服务器的方法,包括在Subsonic中更改用户及设置Nginx反向代理。
简介 Subsonic是一个免费且基于Web的媒体流媒体,用Java编写,适用于Linux、MacOS和Windows平台。使用Subsonic,你可以从家用计算机或任何面向公众的计算机流式传输音乐,并通过网络浏览器随时随地聆听音乐,因此你无需将音乐与弹性同步或Syncthing(参考:在Ubuntu 18.04上安装和使用Syncthing的方法)等文件同步应用程序同步。
Subsonic功能: 支持MP3、OGG、AAC以及通过HTTP流式传输的任何其他音频或视频格式。 适用于任何支持网络的媒体播放器,如Winamp、iTunes、XMMS、VLC、MusicMatch和Windows Media Player。 专辑艺术展示,即时播放列表,即时转码。 适用于Mac、Windows、Android、iPhone、Windows Phone和桌面应用的移动应用,Android应用支持离线播放。 收听播客,分配评级,添加评论和创建播放列表。 与朋友和家人分享音乐。 流视频(高级功能)。
在Ubuntu 18.04上安装Subsonic 它是用Java编写的,因此需要安装Java环境来运行它,使用以下命令安装openjdk 8: sudo apt update sudo apt install openjdk-8-jre 参考:在Ubuntu 18.04/16.04系统上安装Java 8的两种方法。 当前Subsonic版本与Java 11不兼容,如果之前在Ubuntu 18.04上安装了Java 11,那么需要运行以下命令来选择默认的Java版本,参考在Ubuntu/Debian系统上设置默认Java版本的方法: sudo update-alternatives --config java 输入一个数字以选择Java 8作为默认版本:
接下来,使用以下命令下载Subsonic deb软件包,该命令将下载6.1.5版,可以在Subsonic网站的下载页面上查看最新版本,如果有新版本,只需将6.1.5替换为新版本号即可: wget https://s3-eu-west-1.amazonaws.com/subsonic-public/download/subsonic-6.1.5.deb 用dpkg安装它: sudo dpkg -i subsonic-6.1.5.deb 安装后,Subsonic守护程序将自动启动,可以通过以下命令检查其状态: systemctl status subsonic
如果它没有运行,那么你可以手动启动它: sudo systemctl start subsonic 并在系统启动时启用自动启动: sudo systemctl enable subsonic 默认情况下,subsonic侦听0.0.0.0:4040,这意味着它接受来自本地网络和Internet的请求。 如果在本地Ubuntu计算机上安装了Subsonic,请在浏览器中输入以下地址以访问Subsonic Web界面: http://localhost:4040 如果在面向Internet的Ubuntu服务器上安装了Subsonic,请在浏览器中输入以下地址以访问Subsonic Web界面: http://your-server-ip:4040
如果在Ubuntu上使用Java 11,将看到HTTP ERROR: 503错误,解决方案是使用Java 8:
请注意,如果在家庭服务器上安装Subsonic媒体服务器并且想要从外部网络访问它,则需要在路由器中配置端口转发,如果拥有ISP提供的动态IP地址,则还应设置动态DNS。 默认用户名和密码是admin,登录后,应该转到设置>用户更改管理员密码,如下所示:
还可以在设置页面中添加媒体文件夹,然后单击“保存”按钮,请注意,用户必须可以访问该文件夹,添加文件夹后,单击“立即扫描媒体文件夹”按钮,将可以在“索引”页面中收听音乐:
在Subsonic中更改用户 默认情况下,Subsonic进程以root用户身份运行,出于安全原因,应该将其更改为普通用户,这可以通过编辑/etc/default/subsonic文件来完成: sudo nano /etc/default/subsonic 找到以下行: SUBSONIC_USER=root 将root更改为自己的用户帐户,如ywnz: SUBSONIC_USER=ywnz 保存并关闭文件,然后重新启动subsonic守护程序以使更改生效: sudo systemctl restart subsonic
为Subsonic设置Nginx反向代理 如果要为Subsonic Web界面使用域名,则可以设置Nginx反向代理,使用以下命令在Ubuntu 18.04系统上安装Nginx: sudo apt install nginx 然后为代理创建服务器块文件: sudo nano /etc/nginx/conf.d/subsonic-proxy.conf 将以下文本放入文件中,将subsonic.your-domain.com替换为你自己的域名,位置{...}块将向Subsonic守护程序发出Nginx代理请求,不要忘记为子域设置A记录: server { listen 80; server_name subsonic.your-domain.com; location / { proxy_pass http://127.0.0.1:4040; proxy_set_header Host $http_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; } } 保存并关闭文件,然后测试Nginx配置: sudo nginx -t 如果测试成功,则重新加载Nginx以使新配置生效: sudo systemctl reload nginx 现在可以使用域名访问Subsonic Web UI了(请替换subsonic.your-domain.com)。如果你需要配置成HTTPS访问,请参考网站从HTTP升级成HTTPS完全配置教程。
相关主题 |