5

Koel 搭建个人电台

 2 years ago
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.
neoserver,ios ssh client

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 中有详细说明,这里复读一遍指令

  1. 添加源
    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
    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
  2. 安装 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 的必要组件

  3. 更改 PHP 内存限制
    • Keol官方建议设置为 512M
    • 打开 /etc/php/7.4/cli/php.ini,修改 memory_limit 字段Snipaste_2020-09-08_15-30-41-768x484.png

安装 Composer

  1. 执行指令
    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');"
    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 文件

    Snipaste_2020-09-08_15-40-39-768x163.png

  2. 将 composer.phar 移动到 PATH 下以便使用 composer 指令
    mv ./composer.phar /usr/local/bin/composer
    mv ./composer.phar /usr/local/bin/composer

安装 Laravel

执行指令(过程可能漫长)

composer global require laravel/installer
composer global require laravel/installer

安装 MySQL 并新建数据库

详见 Set up MediaWiki with PHP7.4, nginx and MySQL,这里复读一遍指令(以下指令将安装 MySQL 8)

  1. 添加源
    wget https://dev.mysql.com/get/mysql-apt-config_0.8.15-1_all.deb
    dpkg -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
  2. 安装 MySQL
    apt install mysql-server
    apt install mysql-server
  3. 登录 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

  1. 安装 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
  2. 安装 yarn
    npm install -g yarn
    npm install -g yarn

获取 Koel

  1. 下载源码
    git clone --recurse-submodules https://github.com/phanan/koel.git
    git clone --recurse-submodules https://github.com/phanan/koel.git
  2. 切换到最新发布版本
    cd koel
    git checkout v4.4.0
    cd koel
    git checkout v4.4.0

    最新版本号在 Github 发布页面查看

  3. 安装 Koel 以及相关组件
    composer install
    composer install

    开始下载互联网,警告无视之,附图 : )Snipaste_2020-09-08_17-59-43-768x482.png

  4. 配置环境变量
    • 打开 Koel 根目录的 .env 文件更改以下内容(数据库、域名)Snipaste_2020-09-08_18-13-27-768x482.png由于没有使用域名,APP_URL 的设定如图Snipaste_2020-09-08_19-34-03-768x482.png
  5. Koel 初始化
    php artisan koel:init
    php artisan koel:init

    初始化过程中会提示设置管理员账户的名称、邮箱、密码以及存储音乐的路径,后续登录时需要邮箱和密码,音乐路径可以之后更改Snipaste_2020-09-08_18-15-17-768x482.png之后继续下载互联网开始下载node组件,警告无视之,附图 : )Snipaste_2020-09-08_18-21-01-768x482.png

  6. 测试 Koel
    • 运行 Koel
      php artisan serve --host 0.0.0.0
      php artisan serve --host 0.0.0.0
    • 浏览器访问 [IP]:8000,显示登录页面代表 Koel安装完成,输入邮箱和密码即可登录Snipaste_2020-09-08_19-40-16-768x430.png

配置 Nginx

Nginx 直接使用包管理安装

Koel 提供了名为 nginx.conf.example 的 Nginx 的配置文件,位于 Koel 根目录

  1. 导入示例配置文件
    cd koel
    cp ./nginx.conf.example /etc/nginx/sites-available/koel
    cd koel 
    cp ./nginx.conf.example /etc/nginx/sites-available/koel
  2. 修改 Koel 目录权限
    • 将 Koel 目录的所有者更改为 www-data(Nginx 用户)
      chown -R www-data:www-data koel
      chown -R www-data:www-data koel

      注意:将 Koel 放入可以被 Nginx 访问的路径下,例如 /var/www,否则造成 500 内部错误

  3.  修改配置文件
    • 打开配置文件,修改监听端口、服务器名称、根目录和 fastcgi_passSnipaste_2020-09-08_19-46-20-768x482.pngSnipaste_2020-09-08_18-45-06-768x482.png
  4. 重载 Nginx
    # 测试配置文件
    nginx -t
    # 无误则重新载入
    nginx -s reload
    # 测试配置文件
    nginx -t
    # 无误则重新载入
    nginx -s reload
  5. 浏览器访问 [IP]:[你的端口] 即可开始使用 Koel
    • 在 Settings 中可以重新指定音乐存储路径

效果Snipaste_2020-09-08_18-40-06-768x483.pngSnipaste_2020-09-08_18-56-44-768x407.png

所有koel

发表评论 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注

评论

显示名称 *

电子邮箱地址 *

网站地址

通过邮件通知我后续评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK