Koel è un server di streaming audio personale semplice, gratuito, open source e basato sul Web scritto in PHP e JavaScript. Utilizza Laravel sul lato server e Vue sul lato client. Koel ti consente di riprodurre in streaming la tua musica e accedervi da qualsiasi luogo tramite Internet. Supporta molti formati multimediali, inclusi AAC, OGG, WMA, FLAC e APE, e può riprodurre musica in streaming su HTTP/HTTPS.
In questo tutorial spiegheremo come installare il server Koel Audio Streaming su Ubuntu 20.04.
Prerequisiti
- Un nuovo VPS Ubuntu 20.04 sulla piattaforma Atlantic.Net Cloud
- Una password di root configurata sul tuo server
Fase 1:crea un server cloud Atlantic.Net
Per prima cosa, accedi al tuo server Atlantic.Net Cloud. Crea un nuovo server, scegliendo Ubuntu 20.04 come sistema operativo con almeno 4 GB di RAM. Collegati al tuo Cloud Server tramite SSH e accedi utilizzando le credenziali evidenziate in alto nella pagina.
Dopo aver effettuato l'accesso al tuo server Ubuntu 20.04, esegui il comando seguente per aggiornare il tuo sistema di base con gli ultimi pacchetti disponibili.
apt-get update -y
Passaggio 2:installazione delle dipendenze richieste
Innanzitutto, dovrai installare alcune dipendenze richieste per Koel. Puoi installarli tutti con il seguente comando:
apt-get install git unzip curl build-essential libpng-dev gcc make ffmpeg -y
Una volta installate tutte le dipendenze, puoi procedere al passaggio successivo.
Fase 3 – Installa il server LEMP
Successivamente, dovrai installare Nginx, MariaDB, PHP e altre estensioni PHP nel tuo sistema. Puoi installarli tutti con il seguente comando:
apt-get install nginx mariadb-server 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
Nota :Se ricevi un errore all'avvio automatico di Apache2, consulta questa procedura.
Dopo aver installato i pacchetti di cui sopra, il pacchetto Apache verrà installato automaticamente con PHP. Qui useremo il server web Nginx, quindi rimuovi il pacchetto Apache con il seguente comando:
systemctl stop apache2 apt-get purge apache2 -y
Quindi, modifica il file php.ini e modifica alcune impostazioni desiderate:
nano /etc/php/7.4/fpm/php.ini
Modifica le seguenti righe:
memory_limit = 512M date.timezone = Asia/Kolkata
Salva e chiudi il file quando hai finito.
Fase 4 – Installa Composer
Composer è un gestore delle dipendenze utilizzato per la gestione delle dipendenze PHP. Puoi installarlo con il seguente comando:
curl -sS https://getcomposer.org/installer -o composer-setup.php php composer-setup.php --install-dir=/usr/local/bin --filename=composer
Dovresti ottenere il seguente output:
All settings correct for using Composer Downloading... Composer (version 1.10.10) successfully installed to: /usr/local/bin/composer Use it: php /usr/local/bin/composer
Quindi, verifica la versione installata di Composer utilizzando il comando seguente:
composer -V
Dovresti ottenere il seguente output:
Composer version 1.10.10 2020-08-03 11:35:19
Fase 5:crea un database per Koel
Successivamente, dovrai creare un database e un utente per Koel.
Innanzitutto, accedi a MariaDB con il seguente comando:
mysql
Una volta effettuato l'accesso, creare un database e un utente con il seguente comando:
CREATE DATABASE koeldb; CREATE USER 'koeluser'@'localhost' IDENTIFIED BY 'password';
Quindi, concedi tutti i privilegi al database Koel con il seguente comando:
GRANT ALL PRIVILEGES ON koeldb.* TO 'koeluser'@'localhost';
Quindi, svuota i privilegi ed esci dalla shell MariaDB con il seguente comando:
FLUSH PRIVILEGES; EXIT;
Passaggio 6 – Installa Node.js
Dovrai anche installare il pacchetto Node.js nel tuo server. Per impostazione predefinita, Node.js non è disponibile nel repository predefinito di Ubuntu 20.04, quindi aggiungi il repository Node.js con il seguente comando:
curl -sL https://deb.nodesource.com/setup_12.x | bash -
Quindi, installa il server Node.js con il seguente comando:
apt-get install nodejs -y
Dopo aver installato Node.js, aggiungi la chiave e il repository Yarn GPG con il seguente comando:
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
Quindi, aggiorna il repository e installa il pacchetto Yarn con il seguente comando:
apt-get update -y apt install --no-install-recommends yarn
Passaggio 7:installa Koel
Per prima cosa, cambia la directory nella directory radice di Nginx e installa le dipendenze di Laravel usando il seguente comando:
cd /var/www/html composer global require laravel/installer
Quindi, scarica l'ultima versione di Koel con il seguente comando:
git clone https://github.com/koel/koel.git --recursive
Una volta scaricato, cambia la directory in Koel e installa le dipendenze di Node con il seguente comando:
cd koel npm install npm audit fix npm audit fix --force
Infine, installa le dipendenze PHP usando il seguente comando:
composer install
Quindi, modifica il file .env e definisci il tuo database e altre impostazioni:
nano .env
Modifica le seguenti righe:
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=koeldb DB_USERNAME=koeluser DB_PASSWORD=password ADMIN_NAME="admin" [email protected] ADMIN_PASSWORD=adminpassword MEMORY_LIMIT=512 FFMPEG_PATH=/usr/bin/ffmpeg
Salvare e chiudere il file, quindi inizializzare il database con il seguente comando:
php artisan koel:init --no-interaction
Dovresti ottenere il seguente output:
Done in 156.20s. 🎆 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! 🤘
Successivamente, inizializza nuovamente il database con il seguente comando:
php artisan koel:init
Dovresti vedere il seguente output:
Attempting to install or upgrade Koel. Remember, you can always install/upgrade manually following the guide here: 📙 https://docs.koel.dev Generating app key JWT secret exists -- skipping Migrating database Data seeded -- skipping The absolute path to your media directory. If this is skipped (left blank) now, you can set it later via the web interface. Media path []: > Now to front-end stuff ├── Installing Node modules in resources/assets directory
Quindi, crea una directory di log e fornisci le autorizzazioni e la proprietà necessarie con il comando seguente:
mkdir /var/www/html/koel/storage/logs chown -R www-data:www-data /var/www/html/koel chmod -R 755 /var/www/html/koel
Passaggio 8 – Configura Nginx per Koel
Ora, crea un file di configurazione dell'host virtuale Nginx per servire Koel.
nano /etc/nginx/sites-available/koel.conf
Aggiungi le seguenti righe:
server { listen 80 default_server; server_name koel.example.com; root /var/www/html/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)(/.+)$; } }
Salva e chiudi il file, quindi attiva il file host virtuale Nginx con il seguente comando:
ln -s /etc/nginx/sites-available/koel.conf /etc/nginx/sites-enabled/
Quindi, riavvia i servizi Nginx e PHP-FPM per applicare le modifiche:
systemctl restart nginx systemctl restart php7.4-fpm
Passaggio 9:accedi all'interfaccia utente Web di Koel
Ora apri il tuo browser web e accedi all'interfaccia utente di Koel utilizzando l'URL http://koel.example.com. Verrai reindirizzato alla pagina di accesso di Koel:
Fornisci l'e-mail e la password dell'amministratore che hai impostato nel file .env, quindi fai clic sul Registro In pulsante. Dovresti vedere la dashboard predefinita di Koel nella pagina seguente:
Conclusione
Congratulazioni! Hai installato e configurato correttamente un server di streaming audio Koel su Ubuntu 20.04. Ora puoi ospitare il tuo server di streaming musicale e accedervi tramite Internet. Prova Koel su VPS Hosting da Atlantic.Net usando il tutorial qui sopra!