如何在Ubuntu 18.04 LTS上安装AirSonic

注:本教程在Vultr VPS上测试通过,如需部署请前往Vultr.com

AirSonic是免费的开源媒体流服务器。在本教程中,我将指导您完成在Ubuntu 18.04 LTS服务器实例上从头开始部署AirSonic服务器实例的过程。

先决条件

新部署的Vultr Ubuntu 18.04 LTS服务器实例,至少具有2GB内存。说它有一个IPv4地址 203.0.113.1
sudo用户。
airsonic.example.com 指向上面提到的服务器实例。

步骤1:基本系统配置

创建一个交换文件

为了获得更好的系统性能,建议在具有2GB内存的计算机上创建2GB(2048M)交换文件:

sudo dd if=/dev/zero of=/swapfile count=2048 bs=1M
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile   none    swap    sw    0   0' | sudo tee -a /etc/fstab
free -m

注意: 如果使用其他服务器大小,则交换分区的合适大小可能会有所不同。

设置机器的主机名和标准域名(FQDN)

为使用Let’s Encrypt SSL证书启用HTTPS安全性,需要正确设置机器的主机名和FQDN。

以下命令将设置主机名 airsonic 和FQDN airsonic.example.com 对于机器:

sudo hostnamectl set-hostname airsonic
sudo sed -i 's/^127.0.1.1.*$/127.0.1.1 airsonic.example.com airsonic/g' /etc/hosts

可以通过以下方式确认结果:

hostname
hostname -f

修改防火墙规则以允许入站 SSHHTTPHTTPS 交通

设置用于运行AirSonic服务器的UFW防火墙规则:

sudo ufw allow OpenSSH
sudo ufw allow http
sudo ufw allow https
sudo ufw enable

当您看到提示时 Command may disrupt existing ssh connections. Proceed with operation (y|n)?,输入 y 然后按ENTER键。

更新系统

为了安全和性能起见,有必要将Ubuntu 18.04 LTS系统更新到最新状态:

sudo apt update
sudo apt upgrade -y && sudo shutdown -r now

在升级过程中,系统可能会通知您当前已安装的grub配置文件版本已在本地修改。由于我们实际上不负责修改,因此请使用UP箭头突出显示 install the package maintainer's version 选项,然后按Enter。

系统重启后,以相同的sudo用户身份登录以继续。

步骤2:安装OpenJDK Java Runtime Environment(JRE)8

安装OpenJDK JRE 8,然后确认结果:

sudo apt install -y openjdk-8-jre-headless
java -version

第二个命令的输出将类似于以下内容:

openjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-8u181-b13-0ubuntu0.18.04.1-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)

此外,您需要设置 JAVA_HOME 环境变量如下:

echo "JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")" | sudo tee -a /etc/profile
source /etc/profile

步骤3:安装AirSonic

可以使用多种方法来部署AirSonic。在本教程中,我们将使用AirSonic WAR软件包安装AirSonic。

创建一个专用用户和一个专用组,均名为 airsonic

sudo groupadd airsonic
sudo mkdir /var/airsonic
sudo useradd -s /bin/nologin -g airsonic -d /var/airsonic -M airsonic

下载最新的AirSonic WAR软件包AirSonic v10.1.2:

cd /var/airsonic
sudo wget https://github.com/airsonic/airsonic/releases/download/v10.1.2/airsonic.war
sudo chown -R airsonic:airsonic /var/airsonic

下载预定义的AirSonic systemd 单位文件,然后启动AirSonic服务:

sudo wget https://raw.githubusercontent.com/airsonic/airsonic/master/contrib/airsonic.service -O /etc/systemd/system/airsonic.service
sudo wget https://raw.githubusercontent.com/airsonic/airsonic/master/contrib/airsonic-systemd-env -O /etc/default/airsonic
sudo systemctl daemon-reload
sudo systemctl start airsonic.service
sudo systemctl enable airsonic.service

注意: 您可能需要查看和自定义两个AirSonic systemd 单元文件放在您自己的计算机上。

步骤4:测试安装

AirSonic现在将启动并运行,在端口上监听 8080。您可以使用以下命令来确认是这种情况:

ps -ef|grep airsonic

您也可以直接访问AirSonic网站,但是您需要先临时修改防火墙规则:

sudo ufw allow in 8080/tcp

接下来,将您喜欢的网络浏览器指向 https://203.0.113.1:8080/airsonic,然后使用下面列出的默认凭据登录:

用户名: admin
密码: admin

为了安全起见,登录后应立即更改管理员密码。

确认结果后,限制对端口的访问 8080 再次:

sudo ufw deny in 8080/tcp

步骤5:为您的AirSonic网站获取“让我们加密SSL”证书

为了安全起见,建议在每个新创建的网站上启用HTTPS安全性。为此,最方便的做法是按以下方式部署“让我们加密SSL”证书。

安装Certbot实用程序:

sudo apt update
sudo apt install -y software-properties-common
sudo add-apt-repository -y ppa:certbot/certbot
sudo apt update
sudo apt install -y certbot

使用Certbot申请域的“加密我们的SSL”证书 airsonic.example.com

sudo certbot certonly --standalone --agree-tos --no-eff-email -m [email protected] -d airsonic.example.com

证书和链将保存在以下位置:

/etc/letsencrypt/live/airsonic.example.com/fullchain.pem

密钥文件将保存在这里:

/etc/letsencrypt/live/airsonic.example.com/privkey.pem

我们加密SSL证书的设计期限为三个月。您可以设置cron作业以自动更新证书:

sudo crontab -e

当提示您选择编辑器时,输入 2 然后按ENTER选择 /usr/bin/vim.basic

接下来,按O,然后添加新行,如下所示:

0 0,12 * * * python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew

保存并退出:

:wq!

此Cron作业将尝试每天中午更新“ Let’s Encrypt”证书。

步骤6:安装Nginx作为反向代理

在Nginx的帮助下,您都可以方便访问者访问,(这样他们就不再需要输入 8080 端口号),然后在您的AirSonic网站上启用HTTPS安全性。

使用APT安装Nginx:

sudo apt install -y nginx

接下来,为AirSonic创建一个配置文件:

cat <

创建一个指向新创建的AirSonic Nginx配置文件的符号链接:

sudo ln -s /etc/nginx/sites-available/airsonic.conf /etc/nginx/sites-enabled/

重新启动Nginx为了使您的配置生效:

sudo systemctl restart nginx.service
sudo systemctl enable nginx.service

最后,将您喜欢的网络浏览器指向 https://airsonic.example.com/airsonic 要么 https://airsonic.example.com/airsonic 开始浏览您的AirSonic网站。

注:本教程在Vultr VPS上测试通过,如需部署请前往Vultr.com