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

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

Sonerezh ist ein selbst gehosteter, webbasierter Musik-Streaming-Server, der in PHP und HTML5 geschrieben ist. Es ist leicht im Vergleich zu Subsonic, das in Java geschrieben ist. Sonerezh ist Open-Source-Software, die unter den Bedingungen von AGPL vertrieben wird. Dieses Tutorial zeigt Ihnen, wie Sie Sonerezh auf Ubuntu 16.04 mit Apache oder Nginx installieren.

Sonerezh-Funktionen:

  • Moderne und einfach zu bedienende Weboberfläche
  • Playlist-Verwaltung:Fügen Sie Titel, Alben und Künstler zu Ihren Playlists hinzu.
  • Musik über das Benutzerverwaltungssystem teilen
  • Automatische Metadatenextraktion und Dateiimport
  • Automatische Transcodierung in MP3
  • Einfache Suchmaschine

Mit Sonerezh können Sie Ihre Musik überall mit einem Webbrowser und einer Internetverbindung hören.

Um diesem Tutorial zu folgen, müssen Sie LAMP oder LEMP auf Ubuntu 16.04 installiert haben. Wenn Sie dies noch nicht getan haben, sehen Sie sich bitte die folgenden Tutorials an.

  • So installieren Sie LAMP (Apache, MariaDB, PHP7) unter Ubuntu 16.04
  • So installieren Sie LEMP (Nginx, MariaDB, PHP7-FPM) auf Ubuntu 16.04

Sobald LAMP oder LEMP installiert ist, kommen Sie hierher zurück und lesen Sie weiter.

Installieren von Sonerezh auf Ubuntu 16.04

Die neueste stabile Version ist Sonerezh 1.1.3, veröffentlicht am 19. Dezember 2016. Sie können sie mit Git aus dem Github-Repository herunterladen.

Wechseln Sie in das Verzeichnis /var/www/ .

cd /var/www/

Installieren Sie git und verwenden Sie git, um Sonerezh von Github zu klonen.

sudo apt install git

sudo git clone --branch master https://github.com/Sonerezh/sonerezh.git

Webserver einstellen (www-data ) als Eigentümer des neuen Verzeichnisses.

sudo chown www-data:www-data /var/www/sonerezh/ -R

MariaDB/MySQL-Datenbank für Sonerezh erstellen

Melden Sie sich mit dem folgenden Befehl beim MariaDB/MySQL-Datenbankserver an:

mysql -u root -p

Erstellen Sie dann eine Datenbank für Sonerezh. Dieses Tutorial nennt die Datenbank sonerezh . Sie können einen beliebigen Namen verwenden.

create database sonerezh;

Erstellen Sie den Datenbanknutzer und gewähren Sie diesem Nutzer alle Berechtigungen für die Sonerezh-Datenbank. Ersetzen Sie your-password mit Ihrem bevorzugten Passwort.

grant all privileges on sonerezh.* to sonerezh@localhost identified by 'your-password';

Berechtigungen leeren und beenden.

flush privileges;

exit;

Apache Virtual Host einrichten

Wir werden eine sonerezh.conf erstellen Datei in /etc/apache2/sites-available/ Verzeichnis.

sudo nano /etc/apache2/sites-available/sonerezh.conf

Kopieren Sie die folgenden Zeilen und fügen Sie sie in die Datei ein. Ersetzen Sie den roten Text durch Ihren bevorzugten Domainnamen. Sie müssen auch einen A-Eintrag für den Domänennamen erstellen. Wenn Sie Sonerezh auf Ihrem Heimserver installieren, müssen Sie auch die Portweiterleitung im Router konfigurieren.

<VirtualHost *:80>
   ServerName music.your-domain.com
   DocumentRoot /var/www/sonerezh

   <Directory /var/www/sonerezh>
     Options -Indexes
     AllowOverride All

    # Apache 2.2.x
    <IfModule !mod_authz_core.c>
      Order Allow,Deny
      Allow from all
    </IfModule>

   # Apache 2.4.x
   <IfModule mod_authz_core.c>
     Require all granted
    </IfModule>
 </Directory>

 CustomLog /var/log/apache2/sonerezh-access.log "Combined"
 ErrorLog /var/log/apache2/sonerezh-error.log
</VirtualHost>

Speichern und schließen Sie die Datei.

sudo a2ensite sonerezh.conf

Aktivieren Sie dann das Modul mod_rewrite und laden Sie den Apache-Webserver neu, damit die Änderungen wirksam werden.

sudo a2enmod rewrite

sudo systemctl reload apache2

Gehen Sie nun zu music.your-domain.com/install . Sie sehen den Sonerezh-Webinstaller, der einige Anforderungen auflistet. Um diese Anforderungen zu erfüllen, führen Sie den folgenden Befehl aus.

sudo apt install php7.0-gd libav-tools

HTTPS (Apache) aktivieren

Um die Installation abzuschließen, müssen Sie die Datenbankdetails eingeben und ein Administratorkonto erstellen. Aber bevor wir das tun, installieren wir ein kostenloses TLS-Zertifikat von Let’s Encrypt, damit Ihre Eingaben im Web-Installer nicht ausgespäht werden.

Installieren Sie den Certbot-Client (Let’s Encrypt).

sudo apt install letsencrypt python-letsencrypt-apache

Geben Sie nun den folgenden Befehl aus, um ein kostenloses TLS/SSL-Zertifikat zu erhalten. Ersetzen Sie den roten Text durch Ihre tatsächlichen Daten.

sudo letsencrypt --apache --agree-tos --redirect --hsts --email your-email-address -d music.your-domain.com

Erklärung:

  • –apache :Verwenden Sie das Apache-Plugin, um das Zertifikat automatisch zu erhalten und zu installieren.
  • –stimme zu :Akzeptieren Sie die Nutzungsbedingungen.
  • –Weiterleitung :Den gesamten HTTP-Datenverkehr für den virtuellen Host auf HTTPS umleiten
  • –hsts :Browser dazu zwingen, immer TLS zu verwenden.

Innerhalb weniger Sekunden sollte Folgendes angezeigt werden, was bedeutet, dass ein kostenloses TLS/SSL-Zertifikat abgerufen und auf Ihrem Apache-Server installiert wurde.

Die standardmäßigen TLS/SSL-Konfigurationen erzielen im SSL Labs-Test A+.

Einrichten des Nginx-Serverblocks

Wenn Sie Nginx anstelle von Apache verwenden, erstellen Sie eine Nginx-Serverblockdatei.

sudo nano /etc/nginx/conf.d/sonerezh.conf

Kopieren Sie die folgenden Zeilen und fügen Sie sie in die Datei ein. Ersetzen Sie den roten Text durch Ihren bevorzugten Domainnamen. Sie müssen auch einen A-Eintrag für den Domänennamen erstellen. Wenn Sie Sonerezh auf Ihrem Heimserver installieren, müssen Sie auch die Portweiterleitung im Router konfigurieren.

server {
    listen      80;
    server_name music.your-domain.com;
    root        /var/www/sonerezh/app/webroot;

    index index.php;

    location / {
        try_files $uri $uri/ /index.php?$args;
        expires 14d;
        add_header Cache-Control 'public';
    }

    # The section below handle the thumbnails cache, on the client (browser)
    # side (optional but recommended)
    location ~* /([^/]+_[0-9]+x[0-9]+(@[0-9]+x)?\.[a-z]+)$ {
        try_files /img/resized/$1 /index.php?$args;
        add_header Cache-Control 'public';
        expires 14d;
        access_log off;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_index index.php;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        include fastcgi.conf;

        # If fastcgi.conf is not available on your platform you may want to
        # uncomment the following line
        #fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

Speichern und schließen Sie die Datei. Testen Sie dann die Konfiguration.

sudo nginx -t

Wenn der Test erfolgreich ist, laden Sie Nginx neu.

sudo systemctl reload nginx

Gehen Sie nun zu music.your-domain.com/install . Sie sehen den Sonerezh-Webinstaller, der einige Anforderungen auflistet. Um diese Anforderungen zu erfüllen, führen Sie den folgenden Befehl aus.

sudo apt install php7.0-gd libav-tools

HTTPS (Nginx) aktivieren

Um die Installation abzuschließen, müssen Sie die Datenbankdetails eingeben und ein Administratorkonto erstellen. Aber bevor wir das tun, installieren wir ein kostenloses TLS-Zertifikat von Let’s Encrypt, damit Ihre Eingaben im Web-Installer nicht ausgespäht werden.

Installieren Sie den Certbot-Client (Let’s Encrypt).

sudo apt install letsencrypt

Geben Sie nun den folgenden Befehl aus, um ein kostenloses TLS/SSL-Zertifikat zu erhalten. Ersetzen Sie den roten Text durch Ihre tatsächlichen Daten.

sudo letsencrypt certonly --webroot --agree-tos --email your-email-address -d music.your-domain.com -w /var/www/sonerezh/app/webroot/

Innerhalb weniger Sekunden sollten Sie Folgendes sehen, was bedeutet, dass ein kostenloses TLS/SSL-Zertifikat erhalten wurde.

Bearbeiten Sie nun die Sonerezh-Serverblockdatei, um TLS zu konfigurieren.

sudo nano /etc/nginx/conf.d/sonerezh.conf

Ändern Sie die Konfigurationen wie folgt.

server {
    listen      80;
    server_name music.your-domain.com;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl http2;
    server_name music.your-domain.com;
    root        /var/www/sonerezh/app/webroot;

    ssl_certificate /etc/letsencrypt/live/music.your-domain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/music.your-domain.com/privkey.pem;
    ssl_session_timeout 1d;
    ssl_session_cache shared:SSL:50m;
    ssl_session_tickets off;

    # modern configuration. tweak to your needs.
    ssl_protocols TLSv1.2;
    ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';
    ssl_prefer_server_ciphers on;

    # HSTS (ngx_http_headers_module is required) (15768000 seconds = 6 months)
    add_header Strict-Transport-Security max-age=15768000;

    # OCSP Stapling ---
    # fetch OCSP records from URL in ssl_certificate and cache them
    ssl_stapling on;
    ssl_stapling_verify on;

    index index.php;

    location / {
        try_files $uri $uri/ /index.php?$args;
        expires 14d;
        add_header Cache-Control 'public';
    }

    # The section below handle the thumbnails cache, on the client (browser)
    # side (optional but recommended)
    location ~* /([^/]+_[0-9]+x[0-9]+(@[0-9]+x)?\.[a-z]+)$ {
        try_files /img/resized/$1 /index.php?$args;
        add_header Cache-Control 'public';
        expires 14d;
        access_log off;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_index index.php;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        include fastcgi.conf;

        # If fastcgi.conf is not available on your platform you may want to
        # uncomment the following line
        #fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

Speichern und schließen Sie die Datei. Testen Sie dann die Konfiguration.

sudo nginx -t

Wenn der Test erfolgreich ist, laden Sie Nginx neu.

sudo systemctl reload nginx

Installation beenden

Jetzt ist Ihre Verbindung HTTPS-fähig, Sie können Ihre Datenbankdetails im Web-Installer eingeben. Erstellen Sie außerdem ein Administratorkonto und geben Sie den Musikordner an.

Webbasierter Musik-Streaming-Server von Sonerezh

Zertifikat automatisch erneuern

Um das Let’s Encrypt-Zertifikat automatisch zu erneuern, bearbeiten Sie die Crontab-Datei des Root-Benutzers.

sudo crontab -e

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

@daily letsencrypt renew --quiet && systemctl reload apache2

Wenn Sie Nginx verwenden, ersetzen Sie apache2 durch nginx.

@daily letsencrypt renew --quiet && systemctl reload nginx

Das Neuladen ist erforderlich, damit der Webserver das neue Zertifikat abholen kann.

Das ist es! Ich hoffe, dieses Tutorial hat Ihnen geholfen, den Sonerezh-Musik-Streaming-Server auf Ubuntu 16.04 mit Apache oder Nginx zu installieren. Sehen Sie sich auch an, wie der Subsonic-Musik-Streaming-Server installiert wird.


Ubuntu
  1. So installieren Sie Nginx unter Ubuntu 20.04

  2. So installieren Sie Jenkins Automation Server mit Apache unter Ubuntu 16.04

  3. So installieren Sie den HTTP-Git-Server mit Nginx unter Ubuntu 16.04

  4. So installieren Sie den Koel Music Streaming Server unter Ubuntu 18.04

  5. So installieren Sie den HTTP-Git-Server mit Nginx unter Ubuntu 20.04

Installieren Sie Roundcube Webmail auf Ubuntu 20.04 mit Apache/Nginx

So installieren Sie InvoiceNinja auf Ubuntu 18.04 Server mit Apache/Nginx

So installieren Sie InvoiceNinja auf Ubuntu 20.04 Server mit Apache/Nginx

So installieren Sie phpMyAdmin mit Apache unter Ubuntu 22.04 LTS

So installieren Sie Nginx auf Ubuntu

So installieren Sie LetsEncrypt mit Nginx unter Ubuntu 15.04