Koel 搭建个人电台
source link: https://azhuge233.com/koel-%e6%90%ad%e5%bb%ba%e4%b8%aa%e4%ba%ba%e7%94%b5%e5%8f%b0/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Koel 搭建个人电台Skip to content
Koel (also styled as koel, with a lowercase k) is a web-based personal audio streaming service written in Vue at the client side and Laravel on the server side. Targeting web developers, Koel embraces some of the more modern web technologies – flexbox, audio and drag-and-drop API to name a few – to do its job.
本文将展示如何搭建 Koel,实现个人音乐串流
过 程 漫 长 警 告(composer + nodejs 下载整个互联网)
- Debian 10
- PHP (conposer + Laravel)
- MySQL
- Node.js
- Nginx
安装 PHP 以及相关组件
安装 PHP
在 Set up MediaWiki with PHP7.4, nginx and MySQL 中有详细说明,这里复读一遍指令
- 添加源
apt -y install lsb-release apt-transport-https ca-certificateswget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpgecho "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php.listapt update
apt -y install lsb-release apt-transport-https ca-certificates wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php.list apt update
- 安装 PHP 以及 Koel 必要组件
apt install unzip php7.4 php7.4-fpm php-bcmath php-json php-mbstring openssl libssl-dev php-mysql php-tokenizer php-xml php-zip php-dev php-curl
apt install unzip php7.4 php7.4-fpm php-bcmath php-json php-mbstring openssl libssl-dev php-mysql php-tokenizer php-xml php-zip php-dev php-curl
其中
php-bcmath、php-json、php-mbstring、openssl、libssl-dev、php-mysql、php-tokenizer、php-xml 为 Laravel 所需组件
unzip、php-zip 为 composer 安装 Laravel 时所需组件
php-dev、php-curl 为安装 Koel 的必要组件 - 更改 PHP 内存限制
- Keol官方建议设置为 512M
- 打开 /etc/php/7.4/cli/php.ini,修改 memory_limit 字段
安装 Composer
- 执行指令
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"php -r "if (hash_file('sha384', 'composer-setup.php') === '8a6138e2a05a8c28539c9f0fb361159823655d7ad2deecb371b04a83966c61223adc522b0189079e3e9e277cd72b8897') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"php composer-setup.phpphp -r "unlink('composer-setup.php');"
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" php -r "if (hash_file('sha384', 'composer-setup.php') === '8a6138e2a05a8c28539c9f0fb361159823655d7ad2deecb371b04a83966c61223adc522b0189079e3e9e277cd72b8897') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" php composer-setup.php php -r "unlink('composer-setup.php');"
安装完毕后会在当前目录生成 composer.phar 文件
- 将 composer.phar 移动到 PATH 下以便使用 composer 指令
mv ./composer.phar /usr/local/bin/composer
mv ./composer.phar /usr/local/bin/composer
安装 Laravel
执行指令(过程可能漫长)
composer global require laravel/installer
安装 MySQL 并新建数据库
详见 Set up MediaWiki with PHP7.4, nginx and MySQL,这里复读一遍指令(以下指令将安装 MySQL 8)
- 添加源
wget https://dev.mysql.com/get/mysql-apt-config_0.8.15-1_all.debdpkg -i mysql-apt-config*apt update
wget https://dev.mysql.com/get/mysql-apt-config_0.8.15-1_all.deb dpkg -i mysql-apt-config* apt update
- 安装 MySQL
apt install mysql-server
apt install mysql-server
- 登录 MySQL 并新建 Koel 所需数据库
CREATE DATABASE koel;CREATE USER 'koel_user'@'localhost' IDENTIFIED BY 'verystrongpassword';GRANT ALL PRIVILEGES ON koel.* TO 'koel_user'@'localhost' WITH GRANT OPTION;exit;
CREATE DATABASE koel; CREATE USER 'koel_user'@'localhost' IDENTIFIED BY 'verystrongpassword'; GRANT ALL PRIVILEGES ON koel.* TO 'koel_user'@'localhost' WITH GRANT OPTION; exit;
以上指令将新建一个名称为 koel 的数据库, 以及一个名为 koel_user 的 koel 数据库管理员,其密码为 verystrongpassword
安装 Node.js 以及相关组件
Koel 支持最新版 Node.js 14
- 安装 Node.js
curl -sL https://deb.nodesource.com/setup_14.x | bash -apt-get install -y nodejs
curl -sL https://deb.nodesource.com/setup_14.x | bash - apt-get install -y nodejs
- 安装 yarn
npm install -g yarn
npm install -g yarn
获取 Koel
- 下载源码
git clone --recurse-submodules https://github.com/phanan/koel.git
git clone --recurse-submodules https://github.com/phanan/koel.git
- 切换到最新发布版本
cd koelgit checkout v4.4.0
cd koel git checkout v4.4.0
最新版本号在 Github 发布页面查看
- 安装 Koel 以及相关组件
composer install
composer install
开始下载互联网,警告无视之,附图 : )
- 配置环境变量
- 打开 Koel 根目录的 .env 文件更改以下内容(数据库、域名)由于没有使用域名,APP_URL 的设定如图
- Koel 初始化
php artisan koel:init
php artisan koel:init
初始化过程中会提示设置管理员账户的名称、邮箱、密码以及存储音乐的路径,后续登录时需要邮箱和密码,音乐路径可以之后更改之后继续下载互联网开始下载node组件,警告无视之,附图 : )
- 测试 Koel
- 运行 Koel
php artisan serve --host 0.0.0.0
php artisan serve --host 0.0.0.0
- 浏览器访问 [IP]:8000,显示登录页面代表 Koel安装完成,输入邮箱和密码即可登录
- 运行 Koel
配置 Nginx
Nginx 直接使用包管理安装
Koel 提供了名为 nginx.conf.example 的 Nginx 的配置文件,位于 Koel 根目录
- 导入示例配置文件
cd koelcp ./nginx.conf.example /etc/nginx/sites-available/koel
cd koel cp ./nginx.conf.example /etc/nginx/sites-available/koel
- 修改 Koel 目录权限
- 将 Koel 目录的所有者更改为 www-data(Nginx 用户)
chown -R www-data:www-data koel
chown -R www-data:www-data koel
注意:将 Koel 放入可以被 Nginx 访问的路径下,例如 /var/www,否则造成 500 内部错误
- 将 Koel 目录的所有者更改为 www-data(Nginx 用户)
- 修改配置文件
- 打开配置文件,修改监听端口、服务器名称、根目录和 fastcgi_pass
- 重载 Nginx
# 测试配置文件nginx -t# 无误则重新载入nginx -s reload
# 测试配置文件 nginx -t # 无误则重新载入 nginx -s reload
- 浏览器访问 [IP]:[你的端口] 即可开始使用 Koel
- 在 Settings 中可以重新指定音乐存储路径
效果
此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据。
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK