Koel je webová osobní aplikace pro streamování zvuku napsaná ve Vue.js na straně klienta a Laravel na straně serveru. Tento tutoriál se bude zabývat tím, jak nainstalovat Koel na server založený na Ubuntu 18.04.
Předpoklady
-
Server se systémem Ubuntu 18.04.
-
Uživatel sudo bez oprávnění root.
-
Ujistěte se, že je vše aktualizováno.
$ aktualizace sudo apt &&upgrade sudo apt
-
Několik balíčků, které váš systém potřebuje.
$ sudo apt install ca-certificates curl unzip build-essential libpng-dev gnupg2 lsb-release ufw -y
Některé z těchto balíčků již mohou být ve vašem systému nainstalovány.
Konfigurace brány firewall
Prvním krokem je konfigurace firewallu. Než povolíme bránu firewall, musíme povolit porty SSH, jinak se nám zablokuje přístup k našemu serveru.
$ sudo ufw povolit OpenSSH
Povolte bránu firewall.
Povolit $ sudo ufw
Povolit porty HTTP a HTTPS.
$ sudo ufw povolit http
$ sudo ufw povolit https
Zkontrolujte stav brány firewall.
Stav $ sudo ufw
Měli byste vidět podobný výstup.
k akci od
------- ----
Openssh Povolit kdekoli
80 /TCP Povolit kdekoli
443 /TCP Povolit kdekoli
OpenSSH (v6) Povolit kdekoli (v6)
80 /TCP (V6) Povolit kdekoli (v6)
443 /TCP (V6) Povolit kdekoli (v6)
Nainstalujte Git
Začneme instalací Git.
$ sudo apt install git -y
$ git config --global user.name "Vaše jméno"
$ git config --global user.email "[e-mail chráněný]"
Nainstalujte Node.js
Budeme instalovat Node 10.x místo nejnovější 12.x, protože Koel obsahuje některé zastaralé knihovny, které nejsou kompatibilní s Node 12.
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt install -y nodejs
Zkontrolujte, zda je Node správně nainstalován.
$ node --version
Měli byste vidět podobný výstup.
v10.17.0
Instalovat přízi
Nainstalujte správce balíčků 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
$ aktualizace sudo apt &&sudo apt install -y yarn
Zkontrolujte, zda Yarn funguje správně.
$ yarn --version
Měli byste vidět podobný výstup.
1.19.1
Nainstalujte PHP
Nainstalujte PHP 7.2 se všemi jeho požadovanými rozšířeními.
$ 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
Zkontrolujte, zda PHP funguje správně.
$ php --version
Měli byste vidět podobný výstup.
PHP 7.2.24-1+ubuntu18.04.1+deb.sury.org+1 (cli) (postaveno:24. října 2019 18:29:11) ( NTS )
Autorská práva (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998–2018 Zend Technologies
se Zend OPcache v7.2.24-1+ubuntu18.04.1+deb.sury.org+1, Copyright (c ) 1999–2018, společnost Zend Technologies
Nainstalujte MariaDB
MariaDB je náhradní náhrada za MySQL, což znamená, že příkazy ke spuštění a ovládání MariaDB jsou stejné jako příkazy pro MySQL. Chcete-li nainstalovat MariaDB, zadejte následující příkazy.
$ sudo apt install mariadb-server
Zkontrolujte, zda je MariaDB správně nainstalována.
$ mysql --version
Měli byste vidět následující výstup.
mysql Ver 15.1 Distrib 10.1.41-MariaDB, pro debian-linux-gnu (x86_64) pomocí readline 5.2
Spuštěním následujícího příkazu provedete výchozí konfiguraci, jako je zadání hesla uživatele root, odebrání anonymních uživatelů, zakázání vzdáleného přihlášení uživatele root a zrušení testovacích tabulek. Zadejte ano pro vše a nastavte heslo uživatele root.
$ sudo mysql_secure_installation
Existuje upozornění na nastavení hesla uživatele root. MariaDB ve výchozím nastavení umožňuje uživatelům root systému přihlásit se do MariaDB bez hesla. Ale pokud budete používat aplikaci třetí strany pro přístup přes root, heslo je nutností, jinak aplikace jako PHPMyAdmin selžou. Za tímto účelem musíte deaktivovat ověřování založené na pluginu, což je výchozí možnost na MariaDB.
Chcete-li zakázat ověřování pluginu a obnovit heslo uživatele root, zadejte nejprve výzvu MySQL pomocí následujícího příkazu.
$ sudo mysql -u root
Nyní zadejte následující příkazy pro deaktivaci ověřování pluginu.
use mysql;
aktualizovat uživatelskou sadu plugin='' kde User='root';
vyprázdnit oprávnění;
exit
Poté restartujte službu MariaDB.
$ sudo systemctl restart mariadb.service
A je to. Až se příště budete chtít přihlásit do MySQL, použijte následující příkaz
$ sudo mysql -u root -p
Po zobrazení výzvy zadejte heslo uživatele root.
Nakonfigurujte MariaDB pro Koel
Nyní musíme nastavit databázi pro použití pro aplikaci Koel. Chcete-li to provést, přihlaste se do výzvy MySQL. Budeme předpokládat, že po zbytek výukového programu používáte výchozí metodu ověřování MariaDB (tj. bez použití hesla root).
$ sudo mysql -u root
Jakmile se zobrazí výzva, zadejte následující příkazy, které vytvoří databázi s názvem koelmusic a uživatel databáze jménem koeluser a udělte mu přístup k databázi.
mysql> VYTVOŘIT DATABÁZI koelmusic;
mysql> VYTVOŘIT UŽIVATELE 'koeluser'@'localhost' IDENTIFIKOVANÉHO PODLE 'vašeho hesla';
mysql> UDĚLEJTE VŠECHNA PRIVILEGIU NA koelmusic.* NA 'koeluser'@ ';
mysql> FLUSH PRIVILEGES;
mysql> exit
Nainstalujte Nginx
Nainstalujte server Nginx.
$ sudo apt install nginx
Zkontrolujte, zda funguje správně.
$ nginx -v
Měli byste vidět následující výstup.
Verze nginx:nginx/1.14.0 (Ubuntu)
Spusťte následující příkaz a přidejte konfigurační soubor pro Koel.
$ sudo nano /etc/nginx/sites-available/koel.conf
Vložte následující kód do editoru.
server {
listen *:80;
název_serveru koel.example.com;
root /var/www/koel;
index index.php;
gzip on;
gzip_types text/prostý text/css aplikace/x-javascript text/xml aplikace/xml aplikace/xml+rss text/javascriptová aplikace/json;
gzip_comp_level 9;
# Seznam povolených pouze index.php, robots.txt a některé speciální trasy
if ($request_uri !~ ^/$|index\.php|robots\.txt|(public|api) /|remote|api-docs|sw\.js) {
návrat 404;
}
umístění /media/ {
interní;
alias $upstream_http_x_media_root;
access_log /var/log/nginx/koel.access.log;
error_log /var/log/nginx/koel.error.log;
}
umístění / {
try_files $uri $uri/ /index.php?$args;
}
umístění ~ \.php$ {
try_files $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/php.7 unixck:/fpm>soxrun; fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_intercept_errors on;
zahrnout fastcgi_params;
}
}Tento soubor předpokládá, že budeme instalovat Koel do domény
koel.example.com
a v adresáři/var/www/koel
.Tento konfigurační soubor aktivujte jeho propojením s
sites-enabled
adresář.$ sudo ln -s /etc/nginx/sites-available/koel.conf /etc/nginx/sites-enabled/Otestujte konfiguraci.
$ sudo nginx -tMěli byste vidět následující výstup indikující, že vaše konfigurace je správná.
nginx:syntaxe konfiguračního souboru /etc/nginx/nginx.conf je v pořádku
nginx:konfigurační soubor /etc/nginx/nginx.conf test je úspěšnýZnovu načtěte službu Nginx.
$ sudo systemctl znovu načíst nginxInstalovat Composer
Toto je poslední věc, kterou potřebujeme, než přejdeme k instalaci.
Chcete-li nainstalovat Composer, zadejte následující příkazy.
$ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
$ php creator-setup.php
$ php - r "unlink('composer-setup.php');"
$ sudo mv skladatel.phar /usr/local/bin/composerZkontrolujte, zda funguje správně.
$ skladatel --versionMěli byste vidět následující výstup.
Verze skladatele 1.9.1 2019-11-01 17:20:17Nainstalovat Koel
Vytvořte prázdnou kořenovou složku dokumentů pro Koel.
$ sudo mkdir -p /var/www/koel-p argument zajišťuje, že nadřazené adresáře
var
awww
jsou automaticky vytvořeny, pokud neexistují.Přejděte do kořenové složky dokumentu.
$ cd /var/www/koelZměňte vlastnictví kořenového adresáře dokumentu na
user
což je uživatel bez oprávnění root, kterého jsme použili pro výukový program.$ sudo chown -R user:user /var/www/koelNaklonujte úložiště Koel Git a vyzkoušejte jeho nejnovější verzi. Nejnovější verzi si můžete zkontrolovat na stránce vydání.
$ git clone --recurse-submodules https://github.com/phanan/koel.git .
$ git checkout v4.1.1Nainstalujte závislosti.
$ instalace skladateleSpusťte následující příkaz pro nastavení databáze a účtu správce. Zadejte mysql jako typ databáze přeskočte port a zadejte přihlašovací údaje databáze, které jsme vytvořili výše. Pro složku médií můžete zadat něco jako
/home/user/songs
.$ php artisan koel:initZměňte vlastnictví kořenové složky dokumentu zpět na
www-data
uživatel.$ sudo chown -R www-data:www-data /var/www/koelNastavení je nyní dokončeno. Otevřete
koel.example.com
ve svém prohlížeči a přihlaste se pomocí přihlašovacích údajů, které jste vytvořili výše, a začněte streamovat. Web společnosti Koel je přístupný také přes mobil.Nakonfigurujte Koel
Existuje více podrobností, které můžete nakonfigurovat úpravou souboru
.env
soubor s následujícím příkazem.$ sudo nano /var/www/koel/.envZde můžete zadat podrobnosti o SMTP, nakonfigurovat Youtube a Last.fm pro Koel a dělat spoustu dalších věcí.
Znovu načtěte server Nginx a implementujte změny.
Pokud chcete obnovit heslo správce, můžete to provést zadáním následujícího příkazu.
$ php artisan koel:admin:change-passwordPokud chcete v knihovně médií vyhledat aktualizované soubory, můžete tak učinit následujícím příkazem.
$ php artisan koel:syncMěli byste vidět následující výstup.
Synchronizace Koel byla zahájena.
953/953 [????????????????????????????????] 100 %
Hotovo! 944 nových nebo aktualizovaných skladeb, 0 nezměněných skladeb a 9 neplatných souborů.Příponu příkazu s -v příznak, který vám poskytne další podrobnosti, jako jsou chyby synchronizace.
Tento příkaz můžete dokonce nastavit jako cron úlohu, například tak, aby se spouštěla každou půlnoc. Chcete-li to provést, spusťte následující příkaz.
$ crontab -eVyberte 1 (nano ) jako váš editor.
Vložte následující řádek na konec souboru.
0 0 * * * cd /var/www/koel &&/usr/bin/php artisan koel:sync>/dev/null 2>&1Uložte soubor stisknutím Ctrl + X a zadáním Y po výzvě. Nyní se vaše knihovna médií bude synchronizovat každou půlnoc.
Další informace naleznete v oficiální dokumentaci Koel.
Nastavení HTTPS pomocí Let's Encrypt
Pro použití Let's encrypt musíme nainstalovat Certbot balíček.
Přidejte úložiště.
$ sudo add-apt-repository ppa:certbot/certbotNainstalujte Certbot.
$ sudo apt install python-certbot-nginxNainstalujte certifikát.
$ sudo certbot --nginx -d koel.example.comPokud používáte nástroj na tomto serveru poprvé, musíte souhlasit s podmínkami a zadat svou e-mailovou adresu. Řekněte ne na otázku, zda chcete sdílet svůj e-mail s nadací EFF.
Pokud se to podaří,
certbot
se vás zeptá, jak chcete nakonfigurovat nastavení HTTPS.Zvolte prosím, zda chcete přesměrovat provoz HTTP na HTTPS a odebrat tak přístup HTTP.
--------------------------- -------------------------------------------------- --
1:Žádné přesměrování - Nedělejte žádné další změny v konfiguraci webového serveru.
2:Přesměrování - Proveďte přesměrování všech požadavků na zabezpečený přístup HTTPS. Tuto možnost vyberte pro
nové weby, nebo pokud jste si jisti, že váš web funguje na HTTPS. Tuto změnu
můžete vrátit zpět úpravou konfigurace vašeho webového serveru.
------------------------------ -------------------------------------------------
Vyberte příslušné číslo [1-2] a poté [enter] (zrušte stisknutím 'c'):Vyberte 2 a poté stiskněte
ENTER
. Váš certifikát je nyní nainstalován a aktivován. Váš certifikát se automaticky obnoví za 90 dní.Závěr
Tím náš tutoriál končí. Můžete streamovat média ze svého serveru do svého srdce.
Jak nainstalovat Gitlab Server s Dockerem na Ubuntu 18.04 LTS Jak nainstalovat Logstash na Ubuntu 18.04Ubuntu