Tento tutoriál vám ukáže, jak nainstalovat mediální server Subsonic na Ubuntu 18.04, 19.04 a jak nastavit reverzní proxy pro Subsonic pomocí webového serveru Nginx nebo Apache a poté povolit HTTPS.
Subsonic je bezplatný (stejně jako u free bear), webový streamer médií napsaný v Javě, dostupný pro Linux, MacOS a Windows. Se Subsonic můžete streamovat hudbu z domácího počítače nebo jakéhokoli veřejně přístupného počítače a poslouchat hudbu odkudkoli pomocí webového prohlížeče, takže nemusíte synchronizovat hudbu s aplikací pro synchronizaci souborů, jako je resilio sync nebo Syncthing.
Podzvukové funkce
- Podporuje MP3, OGG, AAC a jakýkoli jiný audio nebo video formát streamovaný přes HTTP.
- Funguje s jakýmkoli síťovým přehrávačem médií, jako je Winamp, iTunes, XMMS, VLC, MusicMatch a Windows Media Player
- zobrazení obrázku alba, průběžné seznamy skladeb, překódování za běhu
- Mobilní aplikace pro Android, iPhone, Windows Phone a desktopová aplikace pro Mac, Windows a Chrome. Aplikace pro Android podporuje přehrávání offline.
- Poslouchejte podcasty, přidělujte hodnocení, přidávejte komentáře a vytvářejte seznamy skladeb.
- Sdílejte svou hudbu s přáteli a rodinou.
- Streamování videí (prémiová funkce)
- a další
Jak nainstalovat Subsonic Media Server na Ubuntu 18.04, 19.04
Subsonic media server je napsán v Javě, takže k jeho spuštění je třeba nainstalovat běhové prostředí Java. Runtime prostředí openjdk 8 můžete nainstalovat pomocí následujícího příkazu.
sudo apt update sudo apt install openjdk-8-jre
V době psaní tohoto článku není Subsonic kompatibilní s Java 11. Pokud jste dříve nainstalovali Java 11 na Ubuntu 18.04, 19.04, musíte spustit následující příkaz a vybrat výchozí verzi Java.
sudo update-alternatives --config java
Zadejte číslo pro výběr Java 8 jako výchozí verze.
Dále si stáhněte balíček Subsonic deb pomocí následujícího příkazu, který stáhne verzi 6.1.5. Nejnovější verzi si můžete prohlédnout na stránce stahování Subsonic. Pokud je k dispozici nová verze, jednoduše nahraďte 6.1.5 novým číslem verze.
wget https://s3-eu-west-1.amazonaws.com/subsonic-public/download/subsonic-6.1.5.deb
Nainstalujte jej pomocí dpkg
.
sudo dpkg -i subsonic-6.1.5.deb
Jakmile je nainstalován, démon Subsonic se automaticky spustí. Jeho stav můžete zkontrolovat pomocí:
systemctl status subsonic
Ukázkový výstup:
● subsonic.service - LSB: Subsonic daemon Loaded: loaded (/etc/init.d/subsonic; bad; vendor preset: enabled) Active: active (running) since Fri 2018-12-02 08:03:27 UTC; 7min ago Docs: man:systemd-sysv-generator(8) CGroup: /system.slice/subsonic.service └─3316 java -Xmx150m -Dsubsonic.home=/var/subsonic -Dsubsonic.host=0
Pokud neběží, můžete jej spustit ručně pomocí
sudo systemctl start subsonic
A povolit automatické spouštění při spouštění systému.
sudo systemctl enable subsonic
Ve výchozím nastavení podzvuk poslouchá na 0.0.0.0:4040
, což znamená, že přijímá požadavky z místní sítě a Internetu.
Pokud jste nainstalovali Subsonic na místní počítač Ubuntu, zadejte do prohlížeče následující adresu a přejděte na webové rozhraní Subsonic.
http://localhost:4040
Pokud jste nainstalovali Subsonic na internetový server Ubuntu, zadejte do prohlížeče následující adresu a navštivte webové rozhraní Subsonic.
http://your-server-ip:4040
Pokud na Ubuntu používáte Java 11, zobrazí se následující chyba. Řešením je použít Java 8.
Vezměte prosím na vědomí, že pokud instalujete server médií Subsonic na domácí server a chcete k němu přistupovat z vnější sítě, budete muset nakonfigurovat přesměrování portů ve vašem routeru. Pokud máte dynamickou IP adresu přidělenou vaším ISP, měli byste také nastavit dynamický DNS.
Výchozí uživatelské jméno a heslo jsou admin
. Po přihlášení byste měli přejít do Nastavení> Uživatelé změnit heslo správce.
Na stránce nastavení také přidejte složky médií a klikněte na tlačítko Uložit. Pamatujte, že složka musí být přístupná uživateli, pod kterým běží Subsonic. Po přidání složky klikněte na tlačítko „Prohledat složku médií nyní“ a budete moci poslouchat hudbu na stránce Index.
Změnit uživatele
Ve výchozím nastavení proces Subsonic běží jako uživatel root. Z bezpečnostních důvodů byste jej měli změnit na normálního uživatele, což se provede úpravou /etc/default/subsonic
soubor.
sudo nano /etc/default/subsonic
Najděte následující řádek:
SUBSONIC_USER=root
Změňte root na svůj vlastní uživatelský účet jako linuxbabe
.
SUBSONIC_USER=linuxbabe
Uložte a zavřete soubor. Poté restartujte subsonického démona, aby se změna projevila.
sudo systemctl restart subsonic
Nastavení reverzního proxy Nginx pro Subsonic
Pokud chcete použít název domény pro webové rozhraní Subsonic, můžete nastavit reverzní proxy Nginx. Nainstalujte Nginx na Ubuntu 18.04/19.04 pomocí příkazu níže.
sudo apt install nginx
Poté vytvořte soubor bloku serveru pro proxy.
sudo nano /etc/nginx/conf.d/subsonic-proxy.conf
Do souboru vložte následující text. Nahraďte subsonic.your-domain.com
s vlastním názvem domény. Blok umístění {…} bude vyžadovat proxy server Nginx na démona Subsonic. Nezapomeňte nastavit záznam A pro subdoménu.
server { listen 80; server_name subsonic.your-domain.com; location / { proxy_pass http://127.0.0.1:4040; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
Uložte a zavřete soubor. Poté otestujte konfiguraci Nginx.
sudo nginx -t
Pokud je test úspěšný, znovu načtěte Nginx, aby se nová konfigurace projevila.
sudo systemctl reload nginx
Nyní je server subsonic media server umístěn za Nginx a můžete přistupovat k webovému uživatelskému rozhraní Subsonic pomocí názvu domény (subsonic.your-domain.com
)
Povolení HTTPS s Nginx
Chcete-li povolit zabezpečené připojení HTTPS, můžete získat a nainstalovat bezplatný certifikát TLS/SSL od společnosti Let’s Encrypt. Nainstalujte klienta Let’s Encrypt (certbot) pomocí:
sudo apt install software-properties-common sudo add-apt-repository ppa:certbot/certbot sudo apt install certbot python3-certbot-nginx
Poté zadejte následující příkaz, který pomocí pluginu Certbot Nginx automaticky získá a nainstaluje certifikát TLS. Nahraďte červený text svými skutečnými daty.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email your-email-address --domain subsonic.your-domain.com
Během několika sekund byste měli vidět gratulační zprávu jako níže, což znamená, že certifikát byl úspěšně získán.
Znovu přejděte na webové rozhraní serveru médií Subsonic, zjistíte, že připojení HTTP je automaticky přesměrováno na HTTPS zabezpečené připojení. Dále musíme upravit konfigurační soubor Nginx.
sudo nano /etc/nginx/conf.d/subsonic-proxy.conf
Nyní existují dva bloky serveru {…}, protože Certbot automaticky nakonfiguroval blok serveru SSL (poslouchejte 443 ssl). V bloku serveru SSL přidejte do bloku umístění / {…} následující řádek.
proxy_redirect http:// https://;
Tento řádek přesměruje jakoukoli odpověď http serveru na odpověď https serveru, která je potřebná pro správné zobrazení stránky nastavení Subsonic. Uložte a zavřete soubor. Otestujte konfiguraci Nginx a znovu načtěte.
sudo nginx -t sudo systemctl reload nginx
Nastavení Apache Reverse Proxy
Pokud dáváte přednost Apache před Nginx, nainstalujte jej pomocí:
sudo apt install apache2
Chcete-li používat Apache jako reverzní proxy, musíme povolit proxy
moduly a modul záhlaví.
sudo a2enmod proxy proxy_http headers
Poté vytvořte soubor virtuálního hostitele pro server médií Subsonic.
sudo nano /etc/apache2/sites-available/subsonic-proxy.conf
Do souboru vložte následující konfigurace. Nahraďte subsonic.your-domain.com
s vaším skutečným názvem domény. Nezapomeňte pro tuto subdoménu vytvořit záznam DNS A.
<VirtualHost *:80> ServerName subsonic.your-domain.com ErrorDocument 404 /404.html DocumentRoot /var/www ProxyPass / http://localhost:4040/ ProxyPassReverse / http://localhost:4040/ Header always unset X-Frame-Options </VirtualHost>
Uložte a zavřete soubor. Poté povolte tohoto virtuálního hostitele.
sudo a2ensite subsonic-proxy.conf
Restartujte Apache
sudo systemctl restart apache2
Nyní můžete přistupovat k webovému uživatelskému rozhraní Subsonic pomocí názvu domény.
Povolení HTTPS s Apache
Chcete-li povolit zabezpečené připojení HTTPS, můžete získat a nainstalovat bezplatný certifikát TLS/SSL od společnosti Let’s Encrypt. Nainstalujte klienta Let’s Encrypt (certbot) pomocí:
sudo apt-get install software-properties-common sudo add-apt-repository ppa:certbot/certbot sudo apt-get update sudo apt install certbot python3-certbot-apache
Poté získejte a nainstalujte certifikát pomocí pluginu apache.
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --must-staple --email your-email-address -d subsonic.your-domain.com
Během několika sekund byste měli vidět blahopřání jako níže, což znamená, že certifikát byl úspěšně získán.
Váš certifikát TLS bude automaticky nainstalován. Přejděte znovu na webové rozhraní serveru médií Subsonic, zjistíte, že připojení HTTP je automaticky přesměrováno na zabezpečené připojení HTTPS.
Doufám, že vám tento tutoriál pomohl nainstalovat mediální server Subsonic na Ubuntu 18.04 a Ubuntu 19.04. Jako vždy, pokud pro vás byl tento příspěvek užitečný, přihlaste se k odběru našeho bezplatného zpravodaje. Můžete nás také sledovat na Google+, Twitteru nebo na stránce na Facebooku.