注:本教程在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
修改防火墙规则以允许入站 SSH
, HTTP
和 HTTPS
交通
设置用于运行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