如何在ubuntu18.04 LTS上安装AirSonic

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

先决条件

一个新部署的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)

正确地为计算机设置主机名和FQDN是使用SSL加密证书启用HTTPS安全性所必需的。

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

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

结果如下:

hostnamehostname -f

修改防火墙规则以允许入站SSH、HTTP和HTTPS通信

设置UFW防火墙规则运行一个AirSonic服务器:

sudo ufw allow OpenSSHsudo ufw allow httpsudo ufw allow httpssudo ufw enable

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

更新系统

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

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

在升级过程中,可能会通知您,当前安装的grub配置文件已在本地修改。由于我们实际上并不负责修改,所以使用up箭头高亮install the package maintainer's version选项,然后按回车键。

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

步骤2:安装OpenJDK Java运行时环境(JRE) 8

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

sudo apt install -y openjdk-8-jre-headlessjava -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/profilesource /etc/profile

第三步:安装AirSonic

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

创建一个专用用户和一个专用组,都叫airsonic:

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

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

cd /var/airsonicsudo wget https://github.com/airsonic/airsonic/releases/download/v10.1.2/airsonic.warsudo 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.servicesudo wget https://raw.githubusercontent.com/airsonic/airsonic/master/contrib/airsonic-systemd-env -O /etc/default/airsonicsudo systemctl daemon-reloadsudo systemctl start airsonic.servicesudo systemctl enable airsonic.service

注意:您可能需要在自己的机器上检查和定制两个AirSonic systemd单元文件。

步骤4:测试安装

AirSonic将会启动并运行,在8080端口收听。您可以使用以下命令来确认这是事实:

ps -ef|grep airsonic

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

sudo ufw allow in 8080/tcp

接下来,将您最喜欢的web浏览器指向http://203.0.113.1:8080/airsonic,然后使用下面列出的默认凭证登录:

用户名:admin

密码:admin

出于安全考虑,您应该在登录后立即更改管理员的密码。

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

sudo ufw deny in 8080/tcp

步骤5:获得一个让我们为您的AirSonic站点加密SSL证书

出于安全考虑,建议在每个新创建的网站上启用HTTPS安全性。最方便的实践是部署一个Let’s Encrypt证书,方法如下。

安装Certbot实用程序:

sudo apt updatesudo apt install -y software-properties-commonsudo add-apt-repository -y ppa:certbot/certbotsudo apt updatesudo apt install -y certbot

使用Certbot申请域名为airsonic.example.com加密SSL证书:

sudo certbot certonly --standalone --agree-tos --no-eff-email -m admin@example.com -d airsonic.example.com

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

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

密钥文件将保存在这里:

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

Let's Encrypt SSL证书的有效期是3个月。您可以设置一个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加密证书。

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

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

使用APT安装Nginx:

sudo apt install -y nginx

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

cat <<EOF | sudo tee /etc/nginx/sites-available/airsonic.conf# Redirect HTTP to HTTPSserver {    listen      80;    server_name airsonic.example.com;    return      301 https://\$server_name\$request_uri;} server {     # Setup HTTPS certificates    listen       443 default ssl;    server_name  airsonic.example.com;    ssl_certificate      /etc/letsencrypt/live/airsonic.example.com/fullchain.pem;    ssl_certificate_key  /etc/letsencrypt/live/airsonic.example.com/privkey.pem;     # Proxy to the Airsonic server    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://;    }}EOF

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

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

重新启动Nginx,使你的配置生效:

sudo systemctl restart nginx.servicesudo systemctl enable nginx.service

最后,将您最喜欢的web浏览器指向http://airsonic.example.com/airsonic或https://airsonic.example.com/airsonic,开始探索您的AirSonic网站。

未经允许不得转载:便宜VPS网 » 如何在ubuntu18.04 LTS上安装AirSonic