Koel est une simple application de streaming audio personnel basée sur le Web écrite en Vue côté client et Laravel côté serveur. Le code source de Koel est hébergé sur Github . Ce guide vous montrera comment installer Koel sur une nouvelle instance de Debian 9 Vultr.
Exigences
- PHP version 5.6.4 ou supérieure, avec les extensions suivantes:
- OpenSSL
- AOP
- Mbstring
- Tokenizer
- XML
- MariaDB
- NodeJS LTS avec
yarn
- Compositeur
Avant que tu commences
Vérifiez la version Debian.
lsb_release -ds
# Debian GNU/Linux 9.5 (stretch)
Assurez-vous que votre système est à jour.
apt update && apt upgrade -y
Installez les packages nécessaires.
apt install -y build-essential sudo dirmngr wget curl vim git
Créez un nouveau compte utilisateur non root avec sudoaccès et basculez vers celui-ci.
adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe
REMARQUE : remplacez johndoepar votre nom d'utilisateur .
Configurez le fuseau horaire.
sudo dpkg-reconfigure tzdata
Installer PHP
Installez PHP et les extensions PHP requises.
sudo apt install -y php7.0 php7.0-cli php7.0-fpm php7.0-common php7.0-mbstring php7.0-xml php7.0-mysql php7.0-curl php7.0-zip
Vérifiez la version.
php --version
# PHP 7.0.30-0+deb9u1 (cli) (built: Jun 14 2018 13:50:25) ( NTS )
# Copyright (c) 1997-2017 The PHP Group
# Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
# with Zend OPcache v7.0.30-0+deb9u1, Copyright (c) 1999-2017, by Zend Technologies
Installer MariaDB
Installez MariaDB.
sudo apt install -y mariadb-server
Vérifiez la version.
mysql --version
# mysql Ver 15.1 Distrib 10.1.26-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
Exécutez le mysql_secure installationscript pour améliorer la sécurité et définissez le mot de passe de l' rootutilisateur MariaDB .
sudo mysql_secure_installation
Connectez-vous au shell MariaDB en tant qu'utilisateur root.
sudo mysql -u root -p
# Enter password
Créez une base de données MariaDB vide et un utilisateur pour Koel, et souvenez-vous des informations d'identification.
CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
EXIT;
Installer Nginx
Installez Nginx.
sudo apt install -y nginx
Vérifiez la version.
sudo nginx -v
# nginx version: nginx/1.10.3
Exécutez sudo vim /etc/nginx/sites-available/koel.confet configurez Nginx pour Koel.
server {
listen 80;
server_name example.com;
root /var/www/koel;
index index.php;
# Whitelist only index.php, robots.txt, and those start with public/ or api/ or remote
if ($request_uri !~ ^/$|index\.php|robots\.txt|api/|public/|remote) {
return 404;
}
location /media/ {
internal;
# A 'X-Media-Root' should be set to media_path settings from upstream
alias $upstream_http_x_media_root;
}
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
try_files $uri $uri/ /index.php?$args;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_intercept_errors on;
include fastcgi_params;
}
}
Activez la nouvelle koel.confconfiguration en liant le fichier au sites-enabledrépertoire.
sudo ln -s /etc/nginx/sites-available/koel.conf /etc/nginx/sites-enabled/
Testez la configuration Nginx.
sudo nginx -t
Recharger Nginx.
sudo systemctl reload nginx.service
Installez Node.js
Installez Node.js.
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt install -y nodejs
Vérifiez la version.
node --version
# v8.11.3
Installer le fil
Installez le gestionnaire de packages 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
sudo apt update && sudo apt install -y yarn
Vérifiez la version.
yarn --version
# 1.7.0
Installer Composer
Installez Composer.
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '93b54496392c062774670ac18b134c3b3a95e5a5e5c8f1a9f115f203b75bf9a129d5daa8ba6a13e2cc8a1da0806388a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composer
Vérifiez la version.
composer --version
# Composer version 1.6.5 2018-05-04 11:44:59
Installer Koel
Créez un dossier racine de document vide dans lequel Koel sera installé.
sudo mkdir -p /var/www/koel
Accédez au dossier racine du document.
cd /var/www/koel
Changez la propriété de l' /var/www/koelutilisateur johndoe.
sudo chown -R johndoe:johndoe /var/www/koel
Clonez-y le référentiel Koel, extrayez la dernière version balisée et installez ses dépendances.
git clone https://github.com/phanan/koel.git .
git checkout v3.7.2
composer install
Exécutez la php artisan koel:initcommande pour configurer la base de données et le compte administrateur.
php artisan koel:init
Exécutez vim .envet définissez APP_URLvotre URL.
APP_URL=http://example.com
Exécutez yarn installpour compiler et installer les dépendances frontales.
yarn install
Changez la propriété du /var/www/koelrépertoire en www-data.
sudo chown -R www-data:www-data /var/www/koel
La configuration est maintenant terminée. Pour continuer, ouvrez votre domaine dans un navigateur Web et vous verrez une page de connexion. Ensuite, connectez-vous en entrant les informations d'identification de votre compte administrateur que vous avez créées précédemment.