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 Vultr Ubuntu 18.04 LTS Vultr.
Exigences
- PHP version 5.6.4 ou supérieure et les extensions suivantes:
- OpenSSL
- AOP
- Mbstring
- Tokenizer
- XML
- MySQL
- NodeJS LTS avec
yarn
- Compositeur
Avant que tu commences
Vérifiez la version d'Ubuntu.
lsb_release -ds
# Ubuntu 18.04 LTS
Créez un nouveau compte utilisateur non root avec sudo
accès et basculez vers celui-ci.
adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe
REMARQUE : remplacez johndoe
par votre nom d'utilisateur .
Configurez le fuseau horaire.
sudo dpkg-reconfigure tzdata
Assurez-vous que votre système est à jour.
sudo apt update && sudo apt upgrade -y
Installez le build-essential
package.
sudo apt install -y build-essential
Installer PHP
Installez PHP 7.2 et les extensions PHP requises.
sudo apt install -y php7.2 php7.2-cli php7.2-fpm php7.2-common php7.2-mbstring php7.2-xml php7.2-mysql php7.2-curl php7.2-zip
Vérifiez la version.
php --version
# PHP 7.2.7-0ubuntu0.18.04.2 (cli) (built: Jul 4 2018 16:55:24) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.2.7-0ubuntu0.18.04.2, Copyright (c) 1999-2018, by Zend Technologies
Installez MySQL
Installez MySQL.
sudo apt install -y mysql-server
Vérifiez la version.
mysql --version
# mysql Ver 14.14 Distrib 5.7.22, for Linux (x86_64) using EditLine wrapper
Exécutez le mysql_secure installation
script pour améliorer la sécurité et définissez le mot de passe de l' root
utilisateur MySQL .
sudo mysql_secure_installation
Connectez-vous au shell MySQL en tant qu'utilisateur root.
sudo mysql -u root -p
# Enter password
Créez une base de données MySQL 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.14.0 (Ubuntu)
Exécutez sudo vim /etc/nginx/sites-available/koel.conf
et 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.2-fpm.sock;
fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_intercept_errors on;
include fastcgi_params;
}
}
Activez la nouvelle koel.conf
configuration en liant le fichier au sites-enabled
ré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/koel
utilisateur 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:init
commande pour configurer la base de données et le compte administrateur.
php artisan koel:init
Exécutez vim .env
et définissez APP_URL
votre URL.
APP_URL=http://example.com
Exécutez yarn install
pour compiler et installer les dépendances frontales.
yarn install
Changez la propriété du /var/www/koel
ré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.