GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So installieren Sie den Koel Music Streaming Server unter Ubuntu 18.04

Koel ist eine webbasierte persönliche Audio-Streaming-App, die clientseitig in Vue.js und serverseitig in Laravel geschrieben ist. Dieses Tutorial behandelt die Installation von Koel auf einem Ubuntu 18.04-basierten Server.

Voraussetzungen

  • Ein Server mit Ubuntu 18.04.

  • Ein Nicht-Root-Sudo-Benutzer.

  • Stellen Sie sicher, dass alles aktualisiert ist.

    $ sudo apt update &&sudo apt upgrade
  • Einige Pakete, die Ihr System benötigt.

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

    Einige dieser Pakete sind möglicherweise bereits auf Ihrem System installiert.

Firewall konfigurieren

Der erste Schritt besteht darin, die Firewall zu konfigurieren. Bevor wir die Firewall aktivieren, müssen wir SSH-Ports zulassen, sonst werden wir von unserem Server ausgeschlossen.

$ sudo ufw OpenSSH zulassen

Aktivieren Sie die Firewall.

$ sudo ufw aktivieren

HTTP- und HTTPS-Ports zulassen.

$ sudo ufw erlauben http
$ sudo ufw erlauben https

Überprüfen Sie den Status der Firewall.

$ sudo ufw-Status

Sie sollten eine ähnliche Ausgabe sehen.

 Status:Active 
zu Aktion von
------- ----
OpenSSH EINFACHEN
80 /TCP ENWEILT
443 Ermöglichen /TCP Ermöglichen Sie irgendwo
OpenSSH (v6) Anywhere (v6)
80 /tcp (v6) Ermöglichen>

Git installieren

Wir beginnen mit der Installation von Git.

$ sudo apt install git -y
$ git config --global user.name "Ihr Name"
$ git config --global user.email "[email protected]"

Installieren Sie Node.js

Wir werden Node 10.x anstelle des neuesten 12.x installieren, da Koel einige veraltete Bibliotheken enthält, die nicht mit Node 12 kompatibel sind.

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

Überprüfen Sie, ob Node richtig installiert ist.

$ node --version

Sie sollten eine ähnliche Ausgabe sehen.

v10.17.0

Garn installieren

Installieren Sie den Yarn-Paketmanager.

$ 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 Garn

Überprüfen Sie, ob Yarn richtig funktioniert.

$ Garn - Version

Sie sollten eine ähnliche Ausgabe sehen.

1.19.1

Installieren Sie PHP

Installieren Sie PHP 7.2 mit allen erforderlichen Erweiterungen.

$ 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

Überprüfen Sie, ob PHP korrekt funktioniert.

$ php --version

Sie sollten eine ähnliche Ausgabe sehen.

PHP 7.2.24-1+ubuntu18.04.1+deb.sury.org+1 (cli) (erstellt:24. Okt. 2019 18:29:11) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
  mit Zend OPcache v7.2.24-1+ubuntu18.04.1+deb.sury.org+1, Copyright (c ) 1999-2018, von Zend Technologies

Installieren Sie MariaDB

MariaDB ist ein Drop-in-Ersatz für MySQL, was bedeutet, dass die Befehle zum Ausführen und Betreiben von MariaDB dieselben sind wie die für MySQL. Um MariaDB zu installieren, führen Sie die folgenden Befehle aus.

$ sudo apt install mariadb-server

Überprüfen Sie, ob MariaDB korrekt installiert wurde.

$ mysql --version

Sie sollten die folgende Ausgabe sehen.

mysql Ver 15.1 Distrib 10.1.41-MariaDB, für debian-linux-gnu (x86_64) unter Verwendung von readline 5.2

Führen Sie den folgenden Befehl aus, um eine Standardkonfiguration durchzuführen, z. B. das Vergeben eines Root-Passworts, das Entfernen anonymer Benutzer, das Unterbinden der Root-Anmeldung aus der Ferne und das Löschen von Testtabellen. Geben Sie Ja ein für alles und richten Sie ein Root-Passwort ein.

$ sudo mysql_secure_installation

Es gibt eine Einschränkung beim Einrichten des Root-Passworts. MariaDB erlaubt standardmäßig System-Root-Benutzern, sich ohne Passwort bei MariaDB anzumelden. Wenn Sie jedoch eine Anwendung eines Drittanbieters für den Zugriff über Root verwenden, ist ein Passwort ein Muss, da sonst Apps wie PHPMyAdmin fehlschlagen. Dazu müssen Sie die Plugin-basierte Authentifizierung deaktivieren, die die Standardoption von MariaDB ist.

Um die Plugin-Authentifizierung zu deaktivieren und das Root-Passwort wiederherzustellen, geben Sie zuerst die MySQL-Eingabeaufforderung ein, indem Sie den folgenden Befehl verwenden.

$ sudo mysql -u root

Geben Sie nun die folgenden Befehle ein, um die Plugin-Authentifizierung zu deaktivieren.

use mysql;
update user set plugin='' where User='root';
flushprivilegien;
exit

Starten Sie danach Ihren MariaDB-Dienst neu.

$ sudo systemctl restart mariadb.service

Das ist es. Wenn Sie sich das nächste Mal bei MySQL anmelden möchten, verwenden Sie den folgenden Befehl

$ sudo mysql -u root -p

Geben Sie Ihr Root-Passwort ein, wenn Sie dazu aufgefordert werden.

MariaDB für Koel konfigurieren

Jetzt müssen wir eine Datenbank einrichten, die für die Koel-Anwendung verwendet werden soll. Melden Sie sich dazu bei der MySQL-Eingabeaufforderung an. Wir gehen davon aus, dass Sie für den Rest des Tutorials die Standard-Authentifizierungsmethode von MariaDB verwenden (d. h. ohne Verwendung des Root-Passworts).

$ sudo mysql -u root

Geben Sie an der Eingabeaufforderung die folgenden Befehle ein, die eine Datenbank mit dem Namen koelmusic einrichten und ein Datenbankbenutzer namens koeluser und ihm Zugriff auf die Datenbank gewähren.

mysql> DATENBANK ERSTELLEN koelmusic;
mysql> BENUTZER ERSTELLEN 'koeluser'@'localhost' IDENTIFIZIERT DURCH 'ihrpasswort';
mysql> GEWÄHREN SIE ALLE PRIVILEGIEN AUF koelmusic.* 'koeluser'@'localhost ';
mysql> FLUSH PRIVILEGES;
mysql> beenden

Installieren Sie Nginx

Nginx-Server installieren.

$ sudo apt install nginx

Überprüfen Sie, ob es richtig funktioniert.

$ nginx -v

Sie sollten die folgende Ausgabe sehen.

nginx-Version:nginx/1.14.0 (Ubuntu)

Führen Sie den folgenden Befehl aus, um eine Konfigurationsdatei für Koel hinzuzufügen.

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

Fügen Sie den folgenden Code in den Editor ein.

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 nur index.php, robots.txt und einige spezielle Routen
 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;
}

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

 location ~ \.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_pass unix:/var/run/php/php7.2-fpm.sock;
fastcgi_index index.php;
   fastcgi_split_path_info   ^(.+\.php)(/.+)$;
   fastcgi_intercept_errors on;
   fastcgi_params einschließen;
}
}

Diese Datei geht davon aus, dass wir Koel in der Domäne koel.example.com installieren werden und im Verzeichnis /var/www/koel .

Aktivieren Sie diese Konfigurationsdatei, indem Sie sie mit sites-enabled verknüpfen Verzeichnis.

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

Testen Sie die Konfiguration.

$ sudo nginx -t

Sie sollten die folgende Ausgabe sehen, die anzeigt, dass Ihre Konfiguration korrekt ist.

nginx:Die Syntax der Konfigurationsdatei /etc/nginx/nginx.conf ist in Ordnung
nginx:Der Test der Konfigurationsdatei /etc/nginx/nginx.conf ist erfolgreich

Laden Sie den Nginx-Dienst neu.

$ sudo systemctl reload nginx

Composer installieren

Das ist das Letzte, was wir brauchen, bevor wir mit der Installation fortfahren.

Geben Sie die folgenden Befehle ein, um Composer zu installieren.

$ 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

Überprüfen Sie, ob es richtig funktioniert.

$ composer --version

Sie sollten die folgende Ausgabe sehen.

Composer-Version 1.9.1 2019-11-01 17:20:17

Koel installieren

Erstellen Sie einen leeren Dokumentstammordner für Koel.

$ sudo mkdir -p /var/www/koel

Das -p Argument stellt sicher, dass übergeordnete Verzeichnisse var und www werden automatisch erstellt, wenn sie nicht vorhanden sind.

Navigieren Sie zum Stammordner des Dokuments.

$ cd /var/www/koel

Ändern Sie den Besitz des Dokumentenstamms zu user Dies ist der Nicht-Root-Benutzer, den wir für das Tutorial verwendet haben.

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

Klonen Sie das Koel Git-Repository und checken Sie die neueste Version aus. Sie können die neueste Version auf der Veröffentlichungsseite überprüfen.

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

Installieren Sie die Abhängigkeiten.

$ Composer installieren

Führen Sie den folgenden Befehl aus, um die Datenbank und das Administratorkonto einzurichten. Geben Sie mysql ein Überspringen Sie als Datenbanktyp den Port und geben Sie die oben erstellten Datenbankanmeldeinformationen ein. Für den Medienordner können Sie so etwas wie /home/user/songs eingeben .

$ php artisan koel:init

Ändern Sie den Eigentümer des Dokumentenstammordners zurück zu www-data Benutzer.

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

Die Einrichtung ist nun abgeschlossen. Öffnen Sie koel.example.com in Ihrem Browser und melden Sie sich mit den oben erstellten Anmeldeinformationen an und starten Sie das Streaming. Die Website von Koel ist auch über Mobilgeräte zugänglich.

Koel konfigurieren

Es gibt weitere Details, die Sie konfigurieren können, indem Sie die Datei .env bearbeiten Datei mit dem folgenden Befehl.

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

Hier können Sie Ihre SMTP-Details eingeben, Youtube und Last.fm für Koel konfigurieren und vieles mehr.

Laden Sie den Nginx-Server neu, um die Änderungen zu implementieren.

Wenn Sie Ihr Admin-Passwort zurücksetzen möchten, können Sie dies tun, indem Sie den folgenden Befehl ausführen.

$ php artisan koel:admin:change-password

Wenn Sie die Medienbibliothek nach aktualisierten Dateien durchsuchen möchten, können Sie dies mit dem folgenden Befehl tun.

$ php artisan koel:sync

Sie sollten die folgende Ausgabe sehen.

Koel-Synchronisierung gestartet.
953/953 [????????????????????????????] 100 %
Abgeschlossen! 944 neue oder aktualisierte Songs, 0 unveränderte Songs und 9 ungültige Datei(en).

Suffieren Sie den Befehl mit -v Flag, das Ihnen weitere Details wie Synchronisierungsfehler liefert.

Sie können diesen Befehl sogar als Cron-Job festlegen, sodass er beispielsweise jede Mitternacht ausgeführt wird. Führen Sie dazu den folgenden Befehl aus.

$ crontab -e

Wählen Sie 1 (nano ) als Ihr Bearbeiter.

Fügen Sie die folgende Zeile am Ende der Datei ein.

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

Speichern Sie die Datei, indem Sie Strg + X drücken und geben Sie Y ein wenn Sie dazu aufgefordert werden. Jetzt wird Ihre Medienbibliothek jede Mitternacht synchronisiert.

Weitere Informationen finden Sie in der offiziellen Koel-Dokumentation.

Einrichten von HTTPS mit Let's Encrypt

Für die Verwendung von Let's encrypt müssen wir den Certbot installieren Paket.

Repository hinzufügen.

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

Certbot installieren.

$ sudo apt install python-certbot-nginx

Installieren Sie das Zertifikat.

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

Wenn Sie das Tool zum ersten Mal auf diesem Server verwenden, müssen Sie den Bedingungen zustimmen und Ihre E-Mail-Adresse eingeben. Sag nein wenn Sie gefragt werden, ob Sie Ihre E-Mail mit der EFF-Stiftung teilen möchten.

Wenn das erfolgreich ist, certbot wird Sie fragen, wie Sie Ihre HTTPS-Einstellungen konfigurieren möchten.

Bitte wählen Sie aus, ob der HTTP-Datenverkehr auf HTTPS umgeleitet werden soll oder nicht, wodurch der HTTP-Zugriff entfernt wird.
--------------------------- -------------------------------------------------- --
1:Keine Umleitung – Keine weiteren Änderungen an der Webserver-Konfiguration vornehmen.
2:Umleitung – Alle Anfragen auf sicheren HTTPS-Zugriff umleiten. Wählen Sie dies für
neue Websites oder wenn Sie sicher sind, dass Ihre Website mit HTTPS funktioniert. Sie können diese
Änderung rückgängig machen, indem Sie die Konfiguration Ihres Webservers bearbeiten.
------------------------------ -------------------------------------------------
Wählen Sie die entsprechende Nummer [1-2] und dann [enter] (drücken Sie 'c' zum Abbrechen):

Wählen Sie 2 und drücken Sie dann ENTER . Ihr Zertifikat ist nun installiert und aktiviert. Ihr Zertifikat verlängert sich automatisch in 90 Tagen.

Schlussfolgerung

Damit ist unser Tutorial abgeschlossen. Sie können nach Herzenslust Medien von Ihrem Server streamen.


Ubuntu
  1. So installieren Sie RabbitMQ Server auf Ubuntu 18.04 &16.04 LTS

  2. So installieren Sie Gitlab Server auf Ubuntu 18.04 &16.04 LTS

  3. So installieren Sie MsSQL Server 2019 auf Ubuntu 20.04

  4. So installieren Sie Ansible auf Ubuntu Server 21.04

  5. So installieren Sie Xrdp-Server auf Ubuntu 20.04 LTS

So installieren Sie CouchPotato auf Ubuntu Server/Desktop

So installieren Sie den Sonerezh Music Streaming Server auf Ubuntu 16.04 mit Apache oder Nginx

So installieren Sie den FTP-Server unter Ubuntu 20.04 LTS

So installieren Sie Plex Media Streaming Server unter Ubuntu 19.04

So installieren Sie Minecraft Server auf Ubuntu 20.04

So installieren Sie Jellyfin Media Server auf Ubuntu 20.04