如果你正在寻找一个功能强大且易于使用的媒体流解决方案,那么Subsonic是一个绝佳的选择,它可以让用户远程访问自己的音乐库,与朋友分享自己的收藏,甚至进行视频流媒体播放。
Subsonic可以让用户随时随地完全控制自己的媒体,并且它功能丰富,还提供适用于Android和iOS的应用,使其成为一个多功能的媒体服务器。
在本文中,小编将简单介绍在Ubuntu和Debian系统上安装、配置和优化Subsonic的大致过程,并分享最佳实践设置,以提高安全性和性能。
为什么选择Subsonic?
Subsonic是一款功能丰富的基于Web的媒体服务器,它具有诸多特色功能,主要包括:
- 从任何支持浏览器的设备访问整个媒体库。
- 兼容MP3、AAC、FLAC、OGG、WMA等多种格式。
- 在Android、iOS和智能电视上控制并流式播放媒体。
- 自动转换音频/视频格式以提高兼容性。
- 创建具有不同访问级别的多个用户。
- 直接通过界面收听播客和网络电台。
步骤1:在Ubuntu和Debian上安装Subsonic
在安装Subsonic之前,请确保已经更新系统,以防止错误并确保兼容性:
sudo apt update && sudo apt upgrade -y
接下来,安装所需的依赖项,例如Java(用于运行)和FFmpeg(用于音频/视频流):
sudo apt install openjdk-8-jre ffmpeg curl -y
注意:在较新的Debian版本(如Debian 11、12)中,可能无法直接通过默认仓库安装该版本的OpenJDK。在这种情况下,可能需要手动安装OpenJDK 8,或者使用系统默认提供的较新版本(如 OpenJDK 11),但这可能需要验证与Subsonic的兼容性。
安装所需的依赖项后,从官方网站下载最新的Subsonic .deb
包或使用以下wget命令直接在终端上下载:
wget https://sourceforge.net/projects/subsonic/files/subsonic-6.1.6.deb
下载之后,使用以下命令安装.deb
包:
sudo dpkg -i subsonic-6.1.6.deb sudo apt-get -f install
安装后,Subsonic应该处于运行状态,命令如下所示:
systemctl restart subsonic systemctl status subsonic
这个时候可以打开浏览器并访问以下地址:
http://localhost:4040 或者 http://服务器IP:4040
首次登录时,出于安全原因,系统会提示你更改默认密码:
步骤2:配置媒体文件夹
Subsonic需要知道你的音乐和视频存储在哪里,因此请按照以下步骤添加你的媒体文件夹:
- 前往“Settings” > “Media Folders”
- 在ADD MEDIA FOLDER下面指定音乐和视频库的路径。
例子:
- 以音乐为例:
/home/ravi/music
- 视频示例:
/home/ravi/videos
单击“Save”, Subsonic将自动扫描文件夹并将你的媒体添加到其库中。
步骤3:启用转码以实现媒体兼容性
Subsonic支持实时转码,确保各种文件格式的流畅播放。要启用转码,请安装以下步骤操作:
- 前往“Settings” > “Transcoding”
- 为不同的格式添加必要的转码命令
ffmpeg -i %s -map 0:0 -b:a 128k -v 0 -f mp3 -
单击“Save”以应用更改。
步骤4:将Nginx/Apache配置为Subsonic的反向代理
反向代理将传入的HTTP/HTTPS请求转发到运行在端口4040
的Subsonic后端,这不仅提高了安全性,还使你能够使用自定义域名通过HTTPS访问Subsonic。
选项1:将Nginx配置为Subsonic的反向代理
如果尚未安装Nginx,请使用以下命令安装:
sudo apt install nginx -y
在/etc/nginx/sites-available/subsonic.conf
中创建一个新的配置文件:
sudo nano /etc/nginx/sites-available/subsonic.conf
添加以下内容(将idccoupon.com替换成自己的主域名):
server { listen 80; server_name idccoupon.com.com www.idccoupon.com; location / { proxy_pass http://127.0.0.1:4040/; 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; # Websocket support proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } # Enable Gzip for better performance gzip on; gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; }
接下来,启用配置并重新启动nginx:
sudo ln -s /etc/nginx/sites-available/subsonic.conf /etc/nginx/sites-enabled/ sudo systemctl restart nginx
选项2:将Apache配置为Subsonic的反向代理
如果尚未安装Apache ,请运行以下命令安装:
sudo apt install apache2 -y
要将Apache配置为反向代理,请启用所需的模块:
sudo a2enmod proxy sudo a2enmod proxy_http sudo a2enmod ssl
在/etc/apache2/sites-available/subsonic.conf
中创建一个新的配置文件:
sudo nano /etc/apache2/sites-available/subsonic.conf
添加以下内容(将idccoupon.com替换成自己的主域名):
<VirtualHost *:80> ServerName idccoupon.com ServerAlias www.idccoupon.com ProxyRequests Off ProxyPass / http://127.0.0.1:4040/ ProxyPassReverse / http://127.0.0.1:4040/ <Proxy *> Order deny,allow Allow from all </Proxy> ErrorLog ${APACHE_LOG_DIR}/subsonic_error.log CustomLog ${APACHE_LOG_DIR}/subsonic_access.log combined </VirtualHost>
接下来,启用Subsonic配置并重新启动Apache:
sudo a2ensite subsonic.conf sudo systemctl restart apache2
步骤5:使用HTTPS保护Subsonic
默认情况下,Subsonic在HTTP上运行,这对于通过互联网发送数据并不安全。为了保护你的连接,应该使用Let’s Encrypt和Certbot启用HTTPS(SSL/TLS加密)。
sudo apt update sudo apt install certbot python3-certbot-nginx python3-certbot-apache -y
一旦安装,certbot将为你的域名创建一个证书(替换idccoupon.com
为你的实际域名)。
sudo certbot --nginx -d idccoupon.com -d www.idccoupon.com 或者 sudo certbot --apache -d idccoupon.com -d www.idccoupon.com
现在按照提示进行操作(需要输入电子邮件以接收续订提醒),你的证书将保存在/etc/letsencrypt/live/idccoupon.com/
中。
配置后可以通过以下方式安全地访问Subsonic,例如:
https://idccoupon.com
步骤6:从移动设备访问 Subsonic
Subsonic提供专用的移动应用程序,可以让用户随时随地无缝播放媒体。这些应用程序提供流畅直观的界面,让你可以随时随地播放音乐和视频。
- Android:可在Google Play商店中获取
- iOS:可在Apple App Store上获取
总结
Subsonic提供了一个功能强大的替代方案,相比传统的流媒体平台,它更加全面。无论是音频还是视频,Subsonic都能提供安全、用户友好的体验,同时具备优秀的媒体管理、转码以及远程访问能力。
此外,使用Subsonic,你可以随时随地畅享喜爱的媒体,使其成为家庭和企业的理想媒体服务器,感兴趣的朋友可以了解看看。