如何在 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 http://localhost: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 证书设置。完成后,您的 Airsonic 服务器将可通过 HTTPS 访问。
步骤 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://localhost: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 用户名和密码。单击“保存”以启用乱码。
Tidal - 转到“设置”>“网络”,然后在“Tidal 设置”部分输入您的 Tidal API 令牌。单击“保存”以启用潮汐集成。
Google 云端硬盘 - 转到“设置”>“媒体文件夹”,然后单击“添加媒体文件夹”按钮。选择“Google 云端硬盘”作为文件夹类型,然后按照屏幕上的说明进行身份验证并授权访问您的 Google 云端硬盘帐户。
通过这些附加步骤,您可以进一步增强 Airsonic 媒体服务器的功能。通过使用外部数据库,您可以提高性能和可靠性,而第三方集成允许您将服务器连接到 Last.fm、Tidal 和 Google Drive 等流行服务。
结论
在本文中,我们向您介绍了在 CentOS 7 上安装和配置 Airsonic 媒体服务器的过程。使用 Airsonic,您可以轻松流式传输音乐和视频、与朋友和家人共享媒体库,并在任何设备上欣赏您的内容。