GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat Sonerezh Music Streaming Server na Ubuntu 16.04 s Apache nebo Nginx

Sonerezh je webový server pro streamování hudby s vlastním hostitelem napsaný v PHP a HTML5. Je lehký ve srovnání s Subsonic, který je napsán v Javě. Sonerezh je software s otevřeným zdrojovým kódem distribuovaný za podmínek AGPL. Tento tutoriál vám ukáže, jak nainstalovat Sonerezh na Ubuntu 16.04 s Apache nebo Nginx.

Funkce Sonerezh:

  • Moderní a snadno použitelné webové rozhraní
  • Správa seznamů skladeb:přidávejte do seznamů skladeb názvy, alba a interprety.
  • Sdílejte hudbu prostřednictvím systému správy uživatelů
  • Automatická extrakce metadat a import souborů
  • Automaticky překódovat do formátu mp3
  • Jednoduchý vyhledávač

Se Sonerezh můžete poslouchat hudbu odkudkoli pomocí webového prohlížeče a připojení k internetu.

Abyste mohli postupovat podle tohoto návodu, budete muset mít na Ubuntu 16.04 nainstalovanou LAMP nebo LEMP. Pokud jste tak ještě neučinili, podívejte se prosím na následující výukové programy.

  • Jak nainstalovat LAMP (Apache, MariaDB, PHP7) na Ubuntu 16.04
  • Jak nainstalovat LEMP (Nginx, MariaDB, PHP7-FPM) na Ubuntu 16.04

Po instalaci LAMP nebo LEMP se vraťte sem a čtěte dále.

Instalace Sonerezhu na Ubuntu 16.04

Nejnovější stabilní verze je Sonerezh 1.1.3, vydaná 19. prosince 2016. Můžete si ji stáhnout pomocí Git z úložiště Github.

Změňte adresář na /var/www/ .

cd /var/www/

Nainstalujte git a pomocí git naklonujte Sonerezh z Github.

sudo apt install git

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

Nastavte webový server (www-data ) jako vlastníka nového adresáře.

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

Vytvoření databáze MariaDB/MySQL pro Sonerezh

Přihlaste se k databázovému serveru MariaDB/MySQL pomocí následujícího příkazu:

mysql -u root -p

Poté vytvořte databázi pro Sonerezh. Tento tutoriál pojmenuje databázi sonerezh . Můžete použít jakékoli jméno.

create database sonerezh;

Vytvořte uživatele databáze a udělte tomuto uživateli veškerá oprávnění k databázi sonerezh. Nahraďte your-password s vaším preferovaným heslem.

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

Vyprázdněte oprávnění a ukončete.

flush privileges;

exit;

Nastavení virtuálního hostitele Apache

Vytvoříme sonerezh.conf soubor v /etc/apache2/sites-available/ adresář.

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

Zkopírujte a vložte následující řádky do souboru. Nahraďte červený text preferovaným názvem domény. Musíte také vytvořit záznam A pro název domény. Pokud nainstalujete Sonerezh na svůj domácí server, musíte také nakonfigurovat přesměrování portů v routeru.

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

Uložte a zavřete soubor.

sudo a2ensite sonerezh.conf

Poté povolte modul mod_rewrite a znovu načtěte webový server Apache, aby se změny projevily.

sudo a2enmod rewrite

sudo systemctl reload apache2

Nyní přejděte na music.your-domain.com/install . Zobrazí se webový instalační program Sonerezh, který uvádí některé požadavky. Pro splnění těchto požadavků spusťte následující příkaz.

sudo apt install php7.0-gd libav-tools

Povolení HTTPS (Apache)

Chcete-li dokončit instalaci, musíte zadat údaje o databázi a vytvořit účet správce. Než to však uděláme, nainstalujme si bezplatný certifikát TLS od společnosti Let’s Encrypt, aby se nic, co zadáte do webového instalátoru, nespatřilo.

Nainstalujte klienta certbot (Let’s Encrypt).

sudo apt install letsencrypt python-letsencrypt-apache

Nyní zadejte následující příkaz k získání bezplatného certifikátu TLS/SSL. Nahraďte červeně zbarvený text svými skutečnými daty.

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

Vysvětlení:

  • –apache :K automatickému získání a instalaci certifikátu použijte plugin Apache.
  • –souhlasím :Souhlasíte s podmínkami služby.
  • –přesměrování :Přesměrovat veškerý provoz HTTP na HTTPS pro virtuálního hostitele
  • –hsts : Vynucení prohlížeče, aby vždy používal TLS.

Během několika sekund byste měli vidět následující, což znamená, že byl získán bezplatný certifikát TLS/SSL a nainstalován na váš server Apache.

Výchozí konfigurace TLS/SSL je v testu SSL Labs A+.

Nastavení Nginx Server Block

Pokud místo Apache používáte Nginx, vytvořte blokový soubor serveru Nginx.

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

Zkopírujte a vložte následující řádky do souboru. Nahraďte červený text preferovaným názvem domény. Musíte také vytvořit záznam A pro název domény. Pokud nainstalujete Sonerezh na svůj domácí server, musíte také nakonfigurovat přesměrování portů ve směrovači.

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;
    }
}

Uložte a zavřete soubor. Poté otestujte konfiguraci.

sudo nginx -t

Pokud je test úspěšný, znovu načtěte Nginx.

sudo systemctl reload nginx

Nyní přejděte na music.your-domain.com/install . Zobrazí se webový instalační program Sonerezh, který uvádí některé požadavky. Pro splnění těchto požadavků spusťte následující příkaz.

sudo apt install php7.0-gd libav-tools

Povolení HTTPS (Nginx)

Chcete-li dokončit instalaci, musíte zadat údaje o databázi a vytvořit účet správce. Než to však uděláme, nainstalujme si bezplatný certifikát TLS od společnosti Let’s Encrypt, aby se nic, co zadáte do webového instalátoru, nespatřilo.

Nainstalujte klienta certbot (Let’s Encrypt).

sudo apt install letsencrypt

Nyní zadejte následující příkaz k získání bezplatného certifikátu TLS/SSL. Nahraďte červeně zbarvený text svými skutečnými daty.

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

Během několika sekund byste měli vidět následující, což znamená, že byl získán bezplatný certifikát TLS/SSL.

Nyní upravte soubor bloku serveru Sonerezh pro konfiguraci TLS.

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

Změňte konfigurace na následující.

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;
    }
}

Uložte a zavřete soubor. Poté otestujte konfiguraci.

sudo nginx -t

Pokud je test úspěšný, znovu načtěte Nginx.

sudo systemctl reload nginx

Dokončete instalaci

Nyní je vaše připojení povoleno HTTPS, můžete zadat podrobnosti o databázi do webového instalačního programu. A také si vytvořte účet správce a zadejte složku s hudbou.

Webový hudební streamovací server Sonerezh

Automatické obnovení certifikátu

Chcete-li automaticky obnovit certifikát Let’s Encrypt, upravte soubor crontab uživatele root.

sudo crontab -e

Přidejte následující řádek na konec souboru.

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

Pokud používáte Nginx, nahraďte apache2 nginx.

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

Je nutné opětovné načtení, aby webový server vyzvedl nový certifikát.

A je to! Doufám, že vám tento tutoriál pomohl nainstalovat server pro streamování hudby Sonerezh na Ubuntu 16.04 s Apache nebo Nginx. Můžete se také podívat, jak nainstalovat server pro streamování hudby Subsonic.


Ubuntu
  1. Jak nainstalovat HTTP Git Server s Nginx na Ubuntu 16.04

  2. Jak nainstalovat Koel Music Streaming Server na Ubuntu 18.04

  3. Jak nainstalovat HTTP Git Server s Nginx na Ubuntu 20.04

  1. Jak nainstalovat Nginx na Ubuntu 20.04

  2. Jak nainstalovat Jenkins Automation Server s Apache na Ubuntu 16.04

  3. Jak nainstalovat Jenkins Automation Server s Apache na Ubuntu 18.04

  1. Jak nainstalovat Sonerezh Music Streaming Server na Ubuntu 18.04 LTS

  2. Jak nainstalovat Jellyfin Media Server s Nginx na Ubuntu 20.04

  3. Jak nainstalovat FileRun na Ubuntu 20.04 s Apache/Nginx