如何在Ubuntu 18.04 LTS上安装Airsonic Media Server
Airsonic是免费的开源媒体服务器。 它是一个自我托管的基于网络的媒体流媒体,可以无处不在地访问您的音乐,可以轻松地与朋友分享您的音乐或在工作时聆听您的音乐。 Airsonic创建时使用Java作为Subsonic的完整分支,旨在处理非常大的音乐集合并针对MP3流进行优化。 Airsonic适用于任何可以通过HTTP协议传输的音频或视频格式,包括WMA,FLAC,APE等。
在本教程中,我将逐步向您展示如何在Ubuntu 18.04上安装Airsonic。 我们将向您展示如何使用.WAR包部署独立的Airsonic安装,运行Airsonic作为服务,然后将Nginx Web服务器配置为Airsonic的反向代理。
先决条件
- Ubuntu 18.04
- Root权限
我们将要做什么?
- 安装Java OpenJDK
- 安装和配置AirSonic
- 生成新的SSL Letsencrypt证书
- 将Nginx配置为反向代理
- 配置UFW防火墙
- 测试
第1步 - 安装Java OpenJDK
Airsonic是一个基于Java的应用软件,因此我们需要在服务器上安装Java,它需要安装OpenJDK 1.8x系列。 在第一步中,我们将从PPA存储库webupd8team安装Java OpenJDK。
安装'software-properties-common'软件包,然后添加Java OpenJDK PPA存储库。
运行以下apt命令。
sudo apt install software-properties-common apt-transport-https -y
sudo add-apt-repository ppa:webupd8team/java -y
现在安装Java OpenJDK。
sudo apt install oracle-java8-installer -y
安装完成后,请检查Java OpenJDK版本。
java -version
现在您将在Ubuntu 18.04系统上安装Java OpenJDK 1.8系列。
第2步 - 安装和配置Airsonic
Airsonic提供不同的安装包,对于本指南,我们将使用“独立WAR安装”。
创建一个名为'airsonic'的新用户,并创建一个新目录'/ opt / airsonic'。
useradd airsonic
mkdir -p /opt/airsonic
现在转到'/ opt / airsonic'目录并使用wget下载Airsonic'.WAR'包文件。
cd /opt/airsonic
wget https://github.com/airsonic/airsonic/releases/download/v10.1.1/airsonic.war
并将'/ opt / airsonic'目录的所有者更改为'airsonic'用户和组。
chown -R airsonic:airsonic /opt/airsonic
已下载Airsonic'.WAR'二进制包。
接下来,我们需要为Airsonic创建一个新的服务文件,转到'/ etc / systemd / system'目录并创建一个新的服务文件'airsonic.service'。
cd /etc/systemd/system/
vim airsonic.service
在那里粘贴以下Airsonic服务配置。
[Unit] Description=Airsonic Media Server After=remote-fs.target network.target AssertPathExists=/opt/airsonic [Service] Type=simple Environment="JAVA_JAR=/opt/airsonic/airsonic.war" Environment="JAVA_OPTS=-Xmx700m" Environment="AIRSONIC_HOME=/opt/airsonic" Environment="PORT=8080" Environment="CONTEXT_PATH=/airsonic" Environment="JAVA_ARGS=" EnvironmentFile=-/etc/sysconfig/airsonic ExecStart=/usr/bin/java \ $JAVA_OPTS \ -Dairsonic.home=${AIRSONIC_HOME} \ -Dserver.context-path=${CONTEXT_PATH} \ -Dserver.port=${PORT} \ -jar ${JAVA_JAR} $JAVA_ARGS User=airsonic Group=airsonic [Install] WantedBy=multi-user.target
保存并退出。
重新加载systemd系统并在'/ etc / default'目录中创建一个新的airsonic默认配置文件。
sudo systemctl daemon-reload
vim /etc/default/airsonic
在那里粘贴以下默认的空中配置。
# Set the location of the standalone war to use JAVA_JAR=/opt/airsonic/airsonic.war # Set any java opts separated by spaces JAVA_OPTS=-Xmx700m # Set a different location for the airsonic home. # If this path is /opt/libresonic or even contains "libresonic", # the data from a previous libresonic can be used as is (i.e. without # renaming libresonic.properties,db/libresonic*, etc AIRSONIC_HOME=/opt/airsonic # Change the port to listen on PORT=8080 # Change the path that is listened to on CONTEXT_PATH=/airsonic # Add any java args. These are different than JAVA_OPTS in that # they are passed directly to the program. The default is empty: #JAVA_ARGS= # Note that there are several settings for spring boot, not explicitly listed # here, but can be used in either JAVA_OPTS or JAVA_ARGS. The full list # can be found here: # https://docs.spring.io/spring-boot/docs/1.4.5.RELEASE/reference/htmlsingle/#common-application-properties # For example to set debug across the board: #JAVA_ARGS=--debug # Or to change the IP address that is listened to: JAVA_ARGS=--server.address=127.0.0.1
保存并退出。
现在启动Airsonic服务并使其在系统启动时每次启动。
systemctl start airsonic
systemctl enable airsonic
airsonic“独立”安装已完成,现在它已启动并运行,请使用netstat命令进行检查。
netstat -plntu
并且您将获得Java Airsonic服务使用的'LISTEN'状态的默认端口Airsonic'8080'。
第3步 - 生成新的SSL Letsencrypt证书
在本教程中,我们将在Nginx反向代理的HTTPS连接下使用域名“music.hakase-labs.io”部署Airsonic。
对于此步骤,我们将从Letsencrypt生成SSL证书。 使用以下apt命令安装Letsencrypt工具。
sudo apt install letsencrypt -y
已安装Letsencrypt工具。
接下来,我们需要使用以下命令为'music.hakase-labs.io'域生成新的SSL证书。
certbot certonly --standalone -d music.hakase-labs.io
系统会要求您输入电子邮件地址,并将其用于续订通知。 对于Letsencrypt TOS协议,输入“A”表示同意,对于共享电子邮件地址,您可以键入“N”表示否。
完成所有操作后,您将得到如下所示的结果。
已生成用于'music.hakase-labs.io'域的SSL Letsencrypt,所有证书都位于'/ etc / letsencrypt / live / domain'目录中。
第4步 - 安装和配置Nginx作为反向代理
在此步骤中,我们将安装Nginx Web服务器并将其配置为端口8080上Airsonic软件的反向代理。
使用以下apt命令安装Nginx Web服务器。
sudo apt install nginx -y
现在转到'/ etc / nginx'目录并创建一个新的虚拟主机文件'airsonic'。
cd /etc/nginx/
vim sites-available/airsonic
在那里粘贴以下配置。
server { listen 80; listen [::]:80; server_name music.hakase-labs.io; # enforce https return 301 https://$server_name$request_uri; } server { listen 443 ssl; server_name music.hakase-labs.io; ssl_certificate /etc/letsencrypt/live/music.hakase-labs.io/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/music.hakase-labs.io/privkey.pem; location /airsonic { 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 https; proxy_set_header X-Forwarded-Host $http_host; proxy_set_header Host $http_host; proxy_max_temp_file_size 0; proxy_pass http://127.0.0.1:8080; proxy_redirect http:// https://; } }
保存并退出。
激活'airsonic'虚拟主机文件并测试配置。
ln -s /etc/nginx/sites-available/airsonic /etc/nginx/sites-enabled/
nginx -t
确保没有错误,然后重新启动nginx服务并使其在系统引导时每次启动。
systemctl restart nginx
systemctl enable nginx
Nginx Web服务器现在作为端口8080上的Airsonic的反向代理运行,并且它在https安全连接下运行。
使用下面的netstat命令检查它。
netstat -plntu
第5步 - 配置UFW防火墙
在本教程中,我们将打开防火墙,我们将使用UFW防火墙进行Ubuntu。
通过运行以下命令,在UFW防火墙列表上打开SSH,HTTP和HTTPS服务。
ufw allow ssh
ufw allow http
ufw allow https
现在启用ufw防火墙。
ufw enable
输入“y”并按Enter键启动并启用UFW防火墙。
并且已启用ufw防火墙。
第6步 - 测试
打开Web浏览器,在地址栏中键入Airsonic安装URL。 我的是:
https://music.hakase-labs.io/airsonic/
现在,您将看到Airsonic登录页面。
以密码“admin”的默认用户“admin”身份登录,然后按“登录”按钮。
当您登录时,您将看到Airsonic Dashboard。
- 更改默认密码
单击“更改管理员密码”按钮。
现在选择“admin”用户并在“更改密码”上添加标记,然后输入新的管理员密码并单击“保存”。
Airsonic的默认管理员密码已更改。
- 设置媒体文件夹
返回终端shell服务器,手动创建新的媒体文件夹,并将媒体文件夹目录的所有者更改为“airsonic”用户。
mkdir -p /var/music
chown -R airsonic:airsonic /var/music
现在,在Airsonic管理仪表板上,单击“设置”按钮,然后单击“媒体文件夹”选项卡。
确保已启用默认的“音乐”媒体文件夹,然后单击“保存”按钮。
现在转到“用户”标签,选择“管理员”用户并检查“音乐”媒体文件夹,如下所示。
默认的“音乐”媒体文件夹已启用,“admin”用户现在可以访问媒体文件夹。
在进行一些更改后,下面是我的Airsonic仪表板。
在Nbux作为Ubuntu 18.04上的反向代理的Airsonic媒体流媒体安装已成功完成。