GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare Koel Music Streaming Server su Ubuntu 18.04

Koel è un'app di streaming audio personale basata sul Web scritta in Vue.js sul lato client e Laravel sul lato server. Questo tutorial tratterà come installare Koel su un server basato su Ubuntu 18.04.

Prerequisiti

  • Un server che esegue Ubuntu 18.04.

  • Un utente sudo non root.

  • Assicurati che tutto sia aggiornato.

    $ sudo apt update &&sudo apt upgrade
  • Pochi pacchetti di cui il tuo sistema ha bisogno.

    $ sudo apt install ca-certificates curl unzip build-essential libpng-dev gnupg2 lsb-release ufw -y

    Alcuni di questi pacchetti potrebbero essere già installati sul tuo sistema.

Configura Firewall

Il primo passo è configurare il firewall. Prima di abilitare il firewall, dobbiamo consentire le porte SSH, altrimenti verremo bloccati dal nostro server.

$ sudo ufw consente OpenSSH

Abilita il firewall.

$ sudo ufw abilitato

Consenti porte HTTP e HTTPS.

$ sudo ufw consenti http
$ sudo ufw consenti https

Controlla lo stato del firewall.

Stato $ sudo ufw

Dovresti vedere un output simile.

 Stato:attivo 
all'azione da
------- ----
OpenSsh Consenti ovunque
80 /TCP Consenti ovunque
443 /TCP Consenti ovunque
opensssh (V6) consentire ovunque (V6)
80 /TCP (V6) consentire ovunque (V6)
443 /TCP (V6) consentire ovunque (V6)

Installa Git

Inizieremo installando Git.

$ sudo apt install git -y
$ git config --global user.name "Il tuo nome"
$ git config --global user.email "[email protected]"

Installa Node.js

Installeremo il Nodo 10.x invece dell'ultimo 12.x perché Koel impacchetta alcune librerie obsolete che non sono compatibili con il Nodo 12.

curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt install -y nodejs

Controlla se Node è installato correttamente.

$ nodo --versione

Dovresti vedere un output simile.

v10.17.0

Installa il filato

Installa il gestore di pacchetti di filati.

$ 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

Controlla se il filato funziona correttamente.

$ filato --versione

Dovresti vedere un output simile.

1.19.1

Installa PHP

Installa PHP 7.2 con tutte le estensioni richieste.

$ sudo apt install -y php7.2-fpm php7.2-mbstring php7.2-bcmath php7.2-xml php7.2-mysql php7.2-curl php7.2-zip

Controlla se PHP funziona correttamente.

$ php --versione

Dovresti vedere un output simile.

PHP 7.2.24-1+ubuntu18.04.1+deb.sury.org+1 (cli) (costruito:24 ottobre 2019 18:29:11) ( NTS )
Copyright (c) 1997-2018 Il gruppo PHP
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
  con Zend OPcache v7.2.24-1+ubuntu18.04.1+deb.sury.org+1, Copyright (c ) 1999-2018, di Zend Technologies

Installa MariaDB

MariaDB è un sostituto drop-in di MySQL, il che significa che i comandi per eseguire e far funzionare MariaDB sono gli stessi di MySQL. Per installare MariaDB emettere i seguenti comandi.

$ sudo apt install mariadb-server

Verifica se MariaDB è stata installata correttamente.

$ mysql --versione

Dovresti vedere il seguente output.

mysql Ver 15.1 Distrib 10.1.41-MariaDB, per debian-linux-gnu (x86_64) usando readline 5.2

Eseguire il comando seguente per eseguire la configurazione predefinita, ad esempio fornire una password di root, rimuovere utenti anonimi, impedire l'accesso come root in remoto e eliminare le tabelle di test. Inserisci per tutto e imposta una password di root.

$ sudo mysql_secure_installation

C'è un avvertimento con l'impostazione della password di root. MariaDB per impostazione predefinita consente agli utenti root del sistema di accedere a MariaDB senza password. Ma se hai intenzione di utilizzare un'applicazione di terze parti per accedere tramite root, una password è un must altrimenti app come PHPMyAdmin falliranno. Per questo, è necessario disabilitare l'autenticazione basata su plug-in che è l'opzione predefinita su MariaDB.

Per disabilitare l'autenticazione del plug-in e ripristinare la password di root, immettere prima il prompt di MySQL utilizzando il comando seguente.

$ sudo mysql -u root

Ora inserisci i seguenti comandi per disabilitare l'autenticazione del plugin.

usa mysql;
update user set plugin='' where User='root';
flush privilegi;
exit

Dopodiché, riavvia il tuo servizio MariaDB.

$ sudo systemctl riavvia mariadb.service

Questo è tutto. La prossima volta che vuoi accedere a MySQL, usa il seguente comando

$ sudo mysql -u root -p

Inserisci la tua password di root quando richiesto.

Configura MariaDB per Koel

Ora dobbiamo configurare un database da utilizzare per l'applicazione Koel. Per farlo, accedi al prompt di MySQL. Assumiamo che tu stia utilizzando il metodo di autenticazione predefinito di MariaDB (cioè senza usare la password di root) per il resto del tutorial.

$ sudo mysql -u root

Una volta al prompt, inserisci i seguenti comandi che imposteranno un database chiamato koelmusic e un utente del database chiamato koeluser e concedigli l'accesso al database.

mysql> CREA DATABASE koelmusic;
mysql> CREA UTENTE 'koeluser'@'localhost' IDENTIFICATO DA 'yourpassword';
mysql> CONCEDI TUTTI I PRIVILEGI SU koelmusic.* A 'koeluser'@'localhost ';
mysql> PRIVILEGI FLUSH;
mysql> esci

Installa Nginx

Installa il server Nginx.

$ sudo apt install nginx

Controlla se funziona correttamente.

$ nginx -v

Dovresti vedere il seguente output.

versione nginx:nginx/1.14.0 (Ubuntu)

Esegui il comando seguente per aggiungere un file di configurazione per Koel.

$ sudo nano /etc/nginx/sites-available/koel.conf

Incolla il codice seguente nell'editor.

server {
 listen         *:80;
 server_name     koel.example.com;
 root           /var/www/koel;
 index           index.php;

 gzip           on;
 gzip_types     text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript application/json;
 gzip_comp_level 9;

 # Whitelist solo index.php, robots.txt e alcuni percorsi speciali
 if ($request_uri !~ ^/$|index\.php|robots\.txt|(public|api) /|remote|api-docs|sw\.js) {
   return 404;
}

 location /media/ {
   internal;

   alias       $upstream_http_x_media_root;

   access_log /var/log/nginx/koel.access.log;
   error_log /var/log/nginx/koel.error.log;
}

 posizione / {
   try_files   $uri $uri/ /index.php?$args;
}

 posizione ~ \.php$ {
   file_prova $uri $uri/ /index.php?$args;
   fastcgi_param PATH_INFO $fastcgi_pat h_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;
}
}

Questo file presuppone che installeremo Koel nel dominio koel.example.com e nella directory /var/www/koel .

Attiva questo file di configurazione collegandolo a sites-enabled directory.

$ sudo ln -s /etc/nginx/sites-available/koel.conf /etc/nginx/sites-enabled/

Testare la configurazione.

$ sudo nginx -t

Dovresti vedere il seguente output che indica che la tua configurazione è corretta.

nginx:la sintassi del file di configurazione /etc/nginx/nginx.conf è ok
nginx:il test del file di configurazione /etc/nginx/nginx.conf è riuscito

Ricarica il servizio Nginx.

$ sudo systemctl ricarica nginx

Installa il compositore

Questa è l'ultima cosa di cui abbiamo bisogno prima di procedere con l'installazione.

Immettere i seguenti comandi per installare Composer.

$ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
$ php composer-setup.php
$ php - r "unlink('composer-setup.php');"
$ sudo mv composer.phar /usr/local/bin/composer

Controlla se funziona correttamente.

$ compositore --version

Dovresti vedere il seguente output.

Versione del compositore 1.9.1 2019-11-01 17:20:17

Installa Koel

Crea una cartella radice del documento vuota per Koel.

$ sudo mkdir -p /var/www/koel

Il -p argomento assicura che le directory padre var e www vengono creati automaticamente se non esistono.

Vai alla cartella principale del documento.

$ cd /var/www/koel

Cambia la proprietà della radice del documento in user che è l'utente non root che abbiamo usato per il tutorial.

$ sudo chown -R user:user /var/www/koel

Clona il repository Koel Git e controlla la sua ultima versione. Puoi controllare l'ultima versione dalla sua pagina delle versioni.

$ git clone --recurse-submodules https://github.com/phanan/koel.git .
$ git checkout v4.1.1

Installa le dipendenze.

Installazione del compositore $

Eseguire il comando seguente per configurare il database e l'account amministratore. Inserisci mysql come tipo di database, salta la porta e inserisci le credenziali del database che abbiamo creato sopra. Per la cartella multimediale, puoi inserire qualcosa come /home/user/songs .

$ php craft koel:init

Modifica la proprietà della cartella principale del documento in www-data utente.

$ sudo chown -R www-data:www-data /var/www/koel

La configurazione è ora completa. Apri koel.example.com nel tuo browser e accedi con le credenziali che hai creato sopra e avvia lo streaming. Il sito Web di Koel è accessibile anche tramite dispositivo mobile.

Configura Koel

Ci sono ulteriori dettagli che puoi configurare modificando il .env file con il seguente comando.

$ sudo nano /var/www/koel/.env

Qui puoi inserire i tuoi dettagli SMTP, configurare Youtube e Last.fm per Koel e fare molte altre cose.

Ricarica il server Nginx per implementare le modifiche.

Se vuoi reimpostare la tua password di amministratore, puoi farlo emettendo il seguente comando.

$ php craft koel:admin:change-password

Se desideri eseguire la scansione del catalogo multimediale per i file aggiornati, puoi farlo con il seguente comando.

$ php craft koel:sync

Dovresti vedere il seguente output.

La sincronizzazione di Koel è iniziata.
953/953 [?????????????????????????????????] 100%
Completato! 944 brani nuovi o aggiornati, 0 brani non modificati e 9 file non validi.

Aggiungi un suffisso al comando con -v flag che ti fornirà maggiori dettagli come gli errori di sincronizzazione.

Puoi anche impostare questo comando come cron job, ad esempio, da eseguire ogni mezzanotte. Per farlo, esegui il seguente comando.

$ crontab -e

Seleziona 1(nano ) come editor.

Incolla la riga seguente alla fine del file.

0 0 * * * cd /var/www/koel &&/usr/bin/php craft koel:sync>/dev/null 2>&1

Salva il file premendo Ctrl + X e inserendo Y quando richiesto. Ora, la tua libreria multimediale verrà sincronizzata ogni mezzanotte.

Per ulteriori informazioni fare riferimento alla documentazione ufficiale di Koel.

Configurazione di HTTPS utilizzando Let's Encrypt

Per utilizzare Let's encrypt, dobbiamo installare il Certbot pacchetto.

Aggiungi il repository.

$ sudo add-apt-repository ppa:certbot/certbot

Installa Certbot.

$ sudo apt install python-certbot-nginx

Installa il certificato.

$ sudo certbot --nginx -d koel.example.com

Se è la prima volta che utilizzi lo strumento su questo server, devi accettare i termini e inserire il tuo indirizzo email. Dì no quando ti viene chiesto se desideri condividere la tua email con la fondazione EFF.

Se ha esito positivo, certbot ti chiederà come desideri configurare le tue impostazioni HTTPS.

Scegli se reindirizzare o meno il traffico HTTP su HTTPS, rimuovendo l'accesso HTTP.
---------------------------- -------------------------------------------------- --
1:Nessun reindirizzamento:non apportare ulteriori modifiche alla configurazione del server web.
2:Reindirizzamento:reindirizzare tutte le richieste per proteggere l'accesso HTTPS. Scegli questa opzione per
nuovi siti o se sei sicuro che il tuo sito funzioni su HTTPS. Puoi annullare questa
modifica modificando la configurazione del tuo server web.
------------------------------ --------------------------------------------------
Selezionare il numero appropriato [1-2] quindi [invio] (premere 'c' per annullare):

Seleziona 2 e poi premi ENTER . Il tuo certificato è ora installato e attivato. Il tuo certificato si rinnoverà automaticamente entro 90 giorni.

Conclusione

Questo conclude il nostro tutorial. Puoi eseguire lo streaming di contenuti multimediali dal tuo server al contenuto del tuo cuore.


Ubuntu
  1. Come installare RabbitMQ Server su Ubuntu 18.04 e 16.04 LTS

  2. Come installare Gitlab Server su Ubuntu 18.04 e 16.04 LTS

  3. Come installare MsSQL Server 2019 su Ubuntu 20.04

  4. Come installare Ansible su Ubuntu Server 21.04

  5. Come installare il server Xrdp su Ubuntu 20.04 LTS

Come installare CouchPotato su Ubuntu Server/Desktop

Come installare Sonerezh Music Streaming Server su Ubuntu 16.04 con Apache o Nginx

Come installare il server FTP su Ubuntu 20.04 LTS

Come installare Plex Media Streaming Server su Ubuntu 19.04

Come installare il server Minecraft su Ubuntu 20.04

Come installare Jellyfin Media Server su Ubuntu 20.04