Tento tutoriál vám ukáže, jak nainstalovat mediální server Subsonic na Ubuntu 16.04 a jak nastavit reverzní proxy pro Subsonic pomocí Nginx nebo Apache.
Subsonic je bezplatný webový streamer médií napsaný v Javě, dostupný pro Linux, MacOS a Windows. S 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. Nemusíte tedy svou hudbu synchronizovat 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ší
Poznámka že Subsonic je uzavřený zdroj od verze 6.0.
Jak nainstalovat Subsonic Media Server na Ubuntu 16.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. Openjdk 8 můžete nainstalovat pomocí následujícího příkazu.
sudo apt install openjdk-8-jre
Pokud jste již dříve nainstalovali Oracle Java 8, není třeba instalovat OpenJDK. 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í.
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 2017-03-24 08:03:27 EDT; 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
Vezměte prosím na vědomí, že pokud nainstalujete mediální server 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.
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.
Přidejte také složky médií na stránku nastavení 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ěna uživatele
Ve výchozím nastavení je proces Subsonic spuštěn 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 16.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-get install software-properties-common sudo add-apt-repository ppa:certbot/certbot sudo apt-get update sudo apt-get 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.
Jak upgradovat na nejnovější verzi
Upgradovat stávající server Subsonic na nejnovější verzi je velmi snadné. Nejprve přejděte na stránku stahování Subsonic a stáhněte si nejnovější balíček Debian/Ubuntu (6.1.2 v tomto příkladu). Odkaz ke stažení můžete získat ve správci stahování Firefoxu, jak je znázorněno na snímku obrazovky níže.
Poté do terminálu můžete vložit odkaz ke stažení za wget stáhnout Subsonic z příkazového řádku.
wget https://s3-eu-west-1.amazonaws.com/subsonic-public/download/subsonic-6.1.2.deb
Dále použijte dpkg k instalaci deb balíčku.
sudo dpkg -i subsonic-6.1.2.deb
Restartujte službu Subsonic Systemd a máte hotovo.
sudo systemctl restart subsonic
Doufám, že vám tento tutoriál pomohl nainstalovat server médií Subsonic na Ubuntu 16.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.