如何在CentOS 7上安装Airsonic媒体服务器


介绍

Airsonic是一个基于Web的开源媒体服务器,允许用户管理、流式传输和共享其音频和视频文件。它是一个多功能且强大的工具,支持各种媒体格式,并与Last.fm和Tidal等第三方服务集成。在本文中,我们将指导您完成在CentOS 7系统上安装Airsonic的过程。

前提条件

在开始之前,请确保您拥有:

  • 具有root或sudo访问权限的CentOS 7系统。

  • 稳定的互联网连接。

  • 基本的命令行知识。

步骤1:更新您的系统

首先,运行以下命令将您的CentOS 7系统更新到最新版本:

sudo yum update
sudo yum upgrade

步骤2:安装Java

Airsonic需要Java才能运行,因此我们首先需要安装它。运行以下命令安装OpenJDK 11软件包:

sudo yum install java-11-openjdk

要确认Java已安装,请运行以下命令:

java -version

步骤3:为Airsonic创建一个专用用户

出于安全考虑,建议创建一个单独的用户来运行Airsonic服务。使用以下命令创建一个名为“airsonic”的新用户:

sudo useradd -r -m -U -d /opt/airsonic -s /sbin/nologin airsonic

步骤4:下载和配置Airsonic

从官方GitHub仓库下载最新的Airsonic独立WAR文件:

sudo wget https://github.com/airsonic/airsonic/releases/download/v10.6.2/airsonic.war -P /opt/airsonic

调整下载文件的权限:

sudo chown airsonic: /opt/airsonic/airsonic.war

为Airsonic创建一个新的systemd服务文件:

sudo nano /etc/systemd/system/airsonic.service

将以下内容粘贴到文件中:

[Unit]
Description=Airsonic Media Server
After=remote-fs.target network.target

[Service]
User=airsonic
Group=airsonic
Environment="JAVA_OPTS=-Xmx700m"
ExecStart=/usr/bin/java $JAVA_OPTS -Dairsonic.home=/opt/airsonic -Dserver.context-path=/airsonic -Dserver.port=8080 -jar /opt/airsonic/airsonic.war
SuccessExitStatus=143

[Install]
WantedBy=multi-user.target

保存文件并退出文本编辑器。

步骤5:启动和启用Airsonic服务

使用以下命令启动Airsonic服务:

sudo systemctl start airsonic

启用Airsonic在启动时启动:

sudo systemctl enable airsonic

步骤6:配置防火墙

如果您的系统启用了防火墙,请添加一条规则以允许在默认Airsonic端口(8080)上接收传入流量:

sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload

步骤7:访问Airsonic Web界面

打开您的Web浏览器并导航到http://your_server_IP:8080/airsonic。您将看到Airsonic登录页面。使用默认用户名“admin”和密码“admin”登录。首次登录后,务必立即更改默认密码以确保安全。

步骤8:配置Airsonic

登录后,您将看到Airsonic仪表板。在这里,您可以自定义设置、添加媒体文件夹和配置转码选项。

要添加媒体文件夹,请转到“设置”>“媒体文件夹”,然后单击“添加媒体文件夹”按钮。提供媒体文件夹的路径并选择文件夹类型(音乐或视频)。单击“保存”以添加文件夹。

要配置转码选项,请转到“设置”>“转码”。Airsonic附带了针对各种媒体格式的预配置转码设置,但您可以根据需要自定义它们。

根据需要调整媒体扫描程序、网络和安全设置。进行任何更改后,请务必单击“保存”。

步骤9:享受您的Airsonic媒体服务器

完成所有设置后,您现在可以使用Airsonic来流式传输、管理和共享您的媒体文件。您可以从任何具有Web浏览器的设备访问您的Airsonic服务器,包括智能手机、平板电脑和计算机。

步骤10:配置反向代理(可选)

如果您想使用域名或子域名访问Airsonic,您可以使用Nginx或Apache等Web服务器设置反向代理。在此示例中,我们将使用Nginx。

安装Nginx

sudo yum install epel-release
sudo yum install nginx

启动并启用Nginx

sudo systemctl start nginx
sudo systemctl enable nginx

创建一个新的Nginx服务器块配置文件

sudo nano /etc/nginx/conf.d/airsonic.conf

将以下内容粘贴到文件中,将yourdomain.com替换为您的域名或子域名:

server {
   listen 80;
   server_name yourdomain.com;

   location / {
      proxy_pass https://:8080/airsonic/;
      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;
   }
}

保存文件并退出文本编辑器。

重新加载Nginx以应用更改

sudo systemctl reload nginx

更新您的DNS设置以将您的域名或子域名指向您的服务器的IP地址。

步骤11:使用SSL保护您的Airsonic服务器(可选)

为了保护您的数据并增强Airsonic服务器的安全性,强烈建议使用HTTPS。一种实现此目的的方法是从Let's Encrypt获取免费的SSL证书。

安装Certbot和Nginx插件

sudo yum install certbot python2-certbot-nginx

运行Certbot以获取和安装SSL证书

sudo certbot --nginx -d yourdomain.com

按照屏幕上的说明完成SSL证书设置。完成后,您可以通过HTTPS访问您的Airsonic服务器。

步骤12:启用自动SSL续订(可选)

Let's Encrypt SSL证书有效期为90天。为了自动化续订过程,请创建一个cron作业以定期运行Certbot续订命令。

打开crontab文件

sudo crontab -e

将以下行添加到文件中:

0 2 * * * /usr/bin/certbot renew --quiet

这将在每天凌晨2点运行续订命令。如果证书即将过期,Certbot将自动续订它。

通过执行这些附加步骤,您可以进一步增强Airsonic媒体服务器的功能和安全性。使用反向代理、SSL证书和自动证书续订,您可以在流式传输和共享媒体文件时获得更安全和用户友好的体验。

步骤13:安装和配置数据库(可选)

默认情况下,Airsonic使用嵌入式H2数据库来存储其数据。但是,您可以通过使用PostgreSQL或MySQL/MariaDB等外部数据库来提高Airsonic服务器的性能和可靠性。在此示例中,我们将安装和配置PostgreSQL。

安装PostgreSQL

sudo yum install postgresql-server postgresql-contrib

初始化PostgreSQL数据库

sudo postgresql-setup initdb

启动并启用PostgreSQL服务

sudo systemctl start postgresql
sudo systemctl enable postgresql

为Airsonic创建一个新的PostgreSQL用户和数据库

sudo -i -u postgres
createuser airsonic
createdb -O airsonic airsonicdb
exit

编辑PostgreSQL配置文件以允许本地连接

sudo nano /var/lib/pgsql/data/pg_hba.conf

查找以下行:

host    all    all      127.0.0.1/32      ident
host    all    all      ::1/128           ident

将ident替换为md5:

host    all    all      127.0.0.1/32      md5
host    all    all      ::1/128           md5

保存文件并退出文本编辑器。

重新启动PostgreSQL服务

sudo systemctl restart postgresql

更新Airsonic服务文件以使用PostgreSQL数据库:

sudo nano /etc/systemd/system/airsonic.service

修改Environment和ExecStart行如下:

Environment="JAVA_OPTS=-Xmx700m -Dspring.datasource.url=jdbc:postgresql://:5432/airsonicdb -Dspring.datasource.username=airsonic -Dspring.datasource.password=your_password"
ExecStart=/usr/bin/java $JAVA_OPTS -Dairsonic.home=/opt/airsonic -Dserver.context-path=/airsonic -Dserver.port=8080 -Dspring.profiles.active=legacy -jar /opt/airsonic/airsonic.war

将your_password替换为Airsonic PostgreSQL用户的强密码。

保存文件并退出文本编辑器。

重新启动Airsonic服务

sudo systemctl restart airsonic

步骤14:配置第三方集成(可选)

Airsonic支持与Last.fm、Tidal和Google Drive等各种第三方服务的集成。要配置这些集成,请按照以下步骤操作:

  • **Last.fm** - 转到“设置”>“个人”,并在“Last.fm Scrobbling”部分输入您的Last.fm用户名和密码。单击“保存”以启用scrobbling。

  • **Tidal** - 转到“设置”>“网络”,并在“Tidal设置”部分输入您的Tidal API令牌。单击“保存”以启用Tidal集成。

  • **Google Drive** - 转到“设置”>“媒体文件夹”,然后单击“添加媒体文件夹”按钮。选择“Google Drive”作为文件夹类型,然后按照屏幕上的说明进行身份验证并授权访问您的Google Drive帐户。

通过这些附加步骤,您可以进一步增强Airsonic媒体服务器的功能。通过使用外部数据库,您可以提高性能和可靠性,而第三方集成允许您将服务器连接到Last.fm、Tidal和Google Drive等流行服务。

结论

在本文中,我们指导您完成了在CentOS 7上安装和配置Airsonic媒体服务器的过程。使用Airsonic,您可以轻松流式传输您的音乐和视频,与朋友和家人共享您的媒体库,并在任何设备上欣赏您的内容。

更新于:2023年5月10日

236 次浏览

开启您的职业生涯

完成课程,获得认证

开始
广告
© . All rights reserved.