使用Koel设置个人音频流服务器

这是续集。
您可以通过以下链接以PDF格式下载本文,以为我们提供支持。

以PDF格式下载指南


这是续集。

这是续集。
这是续集。

引入自己的媒体流服务器的潜力肯定是有希望的。得益于开源的出色工作和世界各地伟大人士的不懈努力,您可以使用自己的媒体流服务器制作出色的音乐。 Koel是您应该检阅和支持的出色的开源媒体流服务器之一。

Koel(用小写的kel形式化为koel)是一种简单的基于Web的个人音频流服务,用客户端Vue和服务器端Laravel编写。 Koel使用针对Web开发人员的一些最新Web技术,包括CSS网格,音频和拖放API。资源: (可乐

“那些听舞曲的人被那些听不到音乐的人认为是疯了。”-弗里德里希·尼采

服务器要求

Koel对于舒适的解决方案具有以下要求:

  • Laravel的所有要求-PHP,OpenSSL,
  • 组成
  • PHP> = 7.1.3
  • BCMath,Ctype,JSON,Mbstring,OpenSSL,PDO,令牌生成器,XML PHP扩展
  • 如果您的库很大,请考虑将PHP的memory_limit设置为适当的值(512M或更高)。
  • MySQL,MariaDB,PostgresSQL或SQLite。实际上,Laravel支持的任何DBMS都可以使用。
  • NodeJS最新稳定线程

步骤1:更新并安装重要工具

在新的Ubuntu服务器的终端中,更新服务器以安装在安装过程中使用的关键工具。

sudo apt update && sudo apt upgrade
sudo apt install vim git unzip nginx curl build-essential libpng-dev gcc make ffmpeg -y

步骤2:数据库安装和设置

使用MariaDB进行此设置。幸运的是,我们已经有了安装MariaDB 10.5的详细指南。了解如何在Ubuntu 20.04(Focal Fossa)上安装MariaDB 10。

安装数据库后,下一步是为流服务器创建数据库和用户。因此,如下所示。您可以自由更改数据库和用户的名称,并使用安全密码。

$ mysql -u root -p
Enter password: 

MariaDB [(none)]> CREATE DATABASE koeldb;
MariaDB [(none)]> CREATE USER 'koeluser'@'localhost' IDENTIFIED BY 'StrongPassword';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON koeldb . * TO 'koeluser'@'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit;

步骤3:安装PHP并配置您的Web服务器

需要Web服务器来提供Koel网页。在这里,您可以自由选择Apache或Nginx。本指南使用Nginx。另外,正如您在需求中看到的那样,Koel需要PHP,因此您还需要配置PHP。

sudo apt install php php-cli php-fpm php-json php-common php-mysql php-zip php-gd  php-mbstring php-curl php-xml php-pear php-bcmath php-tokenizer openssl php-json -y

有关更多详细信息,请参阅完整的指南,内容涉及在Ubuntu 20.04上安装Nginx和PHP-FPM。

添加推荐的PHP设置

打开php-fpm ini文件,然后添加/编辑如下所示的详细信息。包含时区和内存限制设置。添加date.timezone并将memory_limit更改为512MB或更大。

$ sudo vim /etc/php/7.4/fpm/php.ini

memory_limit = 512M

[Date]
date.timezone = Africa/Nairobi

安装作曲家

需要Composer来安装Koel依赖项。要设置Composer,请执行以下步骤

cd ~
curl -sS https://getcomposer.org/installer -o composer-setup.php
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

运行composer version命令以测试composer是否已成功安装。

$ composer -V
Composer version 1.10.9 2020-07-16 12:57:00

步骤4:安装线程和节点

在此步骤中,您将启用官方的Yarn存储库,导入存储库的GPG密钥并安装所需的软件包。发出以下命令以导入存储库GPG密钥并将Yarn APT存储库添加到您的系统。

安装Node.js

使用以下命令安装节点

curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
sudo apt install nodejs

安装纱

也使用以下命令安装Yarn

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list

成功导入后,以下命令将更新软件包列表并安装yarn。

sudo apt update
sudo apt install --no-install-recommends yarn

步骤5:准备Koel项目

根目录是Web服务器检出Koel文件并根据请求提供文件的文件夹。您可以根据需要创建另一个。创建根目录后,从Git克隆Koel文件,并分别使用Yarn和Composer安装所有节点和PHP依赖项。

cd ~
composer global require laravel/installer
git clone https://github.com/koel/koel.git  --recursive
cd koel
npm install
npm audit fix
npm audit fix --force ## If there are vulnerabilities remaining
composer install

上面的命令将花费一些时间来完成。

编辑 .env 包含数据库详细信息的文件

$ vim .env

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=koeldb
DB_USERNAME=koeluser
DB_PASSWORD=StrongPassword

ADMIN_NAME="Koel Admin"
[email protected]
ADMIN_PASSWORD=StrongPassword

MEMORY_LIMIT=512

The full path of ffmpeg binary.
FFMPEG_PATH=/usr/bin/ffmpeg

完成文件编辑后,初始化数据库并开始为您的站点提供服务。

$ php artisan koel:init --no-interaction

##You should see the message below when it ends
🎆  Success! Koel can now be run from localhost with `php artisan serve`.
Again, visit 📙 https://docs.koel.dev for the official documentation.
Feeling generous and want to support Koel's development? Check out https://github.com/users/phanan/sponsorship 🤗
Thanks for using Koel. You rock! 🤘

$ php artisan serve --host 0.0.0.0

##You will see a message like:
Laravel development server started: 

此时,您可以从浏览器加载Koel服务器。应该加载。在浏览器中 HTTP:// server-ip:8000 将显示以下登录屏幕。输入您在上面的.env文件中设置的电子邮件和密码。如果一切顺利,则测试成功,因此请建立Koel进行生产。

问题 Ctrl + c 在终端中退出koel测试。

创建一个新目录用作文档|将koel的webroot以及Koel文件和文件夹复制到其中。

sudo mkdir /var/www/html/streaming/
sudo mv ~/koel /var/www/html/streaming/

配置Nginx

我们需要通过向Koel添加所需的详细信息来对Nginx配置默认值进行一些更改。进行站点感知的更改,备份默认文件,并使用新配置创建一个新文件。

cd /etc/nginx/sites-enabled/
sudo mv default /tmp

创建一个新文件并添加如下所示的详细信息。如果您有FQDN,请用FQDN替换example.com。

$ sudo vim /etc/nginx/sites-enabled/koel.conf

server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        server_name  example.com;
        root         /var/www/html/streaming/koel;
        index index.html index.htm index.php;

        location / {
                try_files $uri /index.php$is_args$args;
        }

        location ~ .php$ {
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        fastcgi_index index.php;
        fastcgi_read_timeout 240;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
        fastcgi_split_path_info ^(.+.php)(/.+)$;
        }
    }

更改Koel文件权限

为了使Nginx读取文件,您需要授予适当的权限和适当的权限。发出以下命令以运行它。

sudo mkdir /var/www/html/streaming/koel/storage/logs
sudo chown -R www-data:www-data /var/www/html/streaming/
sudo chmod -R 755 /var/www/html/streaming/
sudo systemctl restart nginx php7.4-fpm

第6步:访问Koel的Web界面

要完成Koel Media Streaming Server的配置,请将浏览器指向提供文件的Web服务器的IP或域名。[[[[http://[ip-or-domain-name]..您应该会看到一个页面,该页面看起来与您之前互动过的页面完全一样,类似于重新输入您在上面的.env文件中设置的电子邮件和密码。

使用Koel设置个人音频流服务器

正确验证后,将显示仪表板。

使用Koel设置个人音频流服务器

步骤7:设置媒体目录

请注意,流服务器没有媒体目录。在此示例中,创建一个〜/ Music目录,Koel将在该目录中获取媒体。 ”音乐我将一些音乐文件(mp3,m4a等)复制到该目录。

$ mkdir ~/Music

# Copy music/any media into this directory

完成后,再次登录Koel Server,然后组态单击,将创建的目录设置为媒体路径,然后单击。扫描

使用Koel设置个人音频流服务器

您的音乐文件应充分利用自己的身心。

使用Koel设置个人音频流服务器

您也可以将此命令添加为cron作业。例如,如果您将音乐文件不断添加到媒体路径中,则每天晚上在午夜运行以同步它们。

0 0 * * * cd /var/www/html/streaming/koel/ && /usr/bin/php artisan koel:sync >/dev/null 2>&1

而我们有。 Koel的客户端界面看起来像Spotify。因此,您将有宾至如归的感觉,可以搜索,排序,查看,创建播放列表,对歌曲进行评分以及按艺术家或专辑对歌曲进行评分,以及创建其他可以共享果汁的人。

结局

流音乐时,还需要执行其他设置来微调和优化服务器。例如,Apache mod_xsendfile 模块和Nginx X-Accel模块 以获得更好的流媒体体验。有关Koel Media Streaming的更多信息,请访问 官方文件 获取用于构建流服务器的所有功能。

请通过以下指南来满足您的好奇心。

在CentOS 8 / CentOS 7上安装Plex Media Server

如何在Debian 10(Buster)上安装VLC Media Player

在Fedora上安装Kodi Media Server

如何在Ubuntu和Arch Linux上安装Plex Media Server

这是续集。
您可以通过以下链接以PDF格式下载本文,以为我们提供支持。

以PDF格式下载指南


这是续集。

这是续集。
这是续集。

Sidebar