GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo instalar Subsonic Media Server en Ubuntu 18.04, 19.04 y habilitar HTTPS

Este tutorial le mostrará cómo instalar el servidor de medios Subsonic en Ubuntu 18.04, 19.04 y cómo configurar un proxy inverso para Subsonic usando el servidor web Nginx o Apache, luego habilite HTTPS.

Subsonic es un transmisor de medios gratuito (como en free bear), basado en la web, escrito en Java, disponible para Linux, MacOS y Windows. Con Subsonic, puede transmitir su música desde la computadora de su hogar o cualquier computadora pública y escuchar su música desde cualquier lugar con un navegador web, para que no tenga que sincronizar su música con una aplicación de sincronización de archivos como resilio sync o Syncthing.

Funciones subsónicas

  • Admite MP3, OGG, AAC y cualquier otro formato de audio o video que se transmita a través de HTTP.
  • Funciona con cualquier reproductor multimedia habilitado para red, como Winamp, iTunes, XMMS, VLC, MusicMatch y Windows Media Player
  • visualización de la carátula del álbum, listas de reproducción sobre la marcha, transcodificación sobre la marcha
  • Aplicación móvil para Android, iPhone, Windows Phone y aplicación de escritorio para Mac, Windows y Chrome. La aplicación de Android admite la reproducción sin conexión.
  • Escuche podcasts, asigne calificaciones, agregue comentarios y cree listas de reproducción.
  • Comparte tu música con amigos y familiares.
  • Transmitir videos (función premium)
  • y más

Cómo instalar Subsonic Media Server en Ubuntu 18.04, 19.04

El servidor de medios subsónico está escrito en Java, por lo que debe instalar el entorno de tiempo de ejecución de Java para ejecutarlo. Puede instalar el entorno de tiempo de ejecución de openjdk 8 con el siguiente comando.

sudo apt update

sudo apt install openjdk-8-jre

En el momento de escribir este artículo, Subsonic no es compatible con Java 11. Si ha instalado previamente Java 11 en Ubuntu 18.04, 19.04, debe ejecutar el siguiente comando para seleccionar la versión predeterminada de Java.

sudo update-alternatives --config java

Escriba un número para seleccionar Java 8 como la versión predeterminada.

A continuación, descargue el paquete Subsonic deb con el siguiente comando, que descarga la versión 6.1.5. Puede consultar la última versión en la página de descarga de Subsonic. Si hay una nueva versión disponible, simplemente reemplace 6.1.5 con el nuevo número de versión.

wget https://s3-eu-west-1.amazonaws.com/subsonic-public/download/subsonic-6.1.5.deb

Instálalo con dpkg .

sudo dpkg -i subsonic-6.1.5.deb

Una vez que esté instalado, el demonio Subsonic se iniciará automáticamente. Puede comprobar su estado con:

systemctl status subsonic

Salida de muestra:

● 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

Si no se está ejecutando, puede iniciarlo manualmente con

sudo systemctl start subsonic

Y habilite el inicio automático en el momento del arranque del sistema.

sudo systemctl enable subsonic

Por defecto, el subsónico escucha en 0.0.0.0:4040 , lo que significa que acepta solicitudes de la red local e Internet.

Si instaló Subsonic en una computadora Ubuntu local, escriba la siguiente dirección en el navegador para visitar la interfaz web de Subsonic.

http://localhost:4040

Si instaló Subsonic en un servidor Ubuntu con acceso a Internet, escriba la siguiente dirección en el navegador para visitar la interfaz web de Subsonic.

http://your-server-ip:4040

Si usa Java 11 en Ubuntu, verá el siguiente error. La solución es usar Java 8.

Tenga en cuenta que si instala el servidor de medios Subsonic en un servidor doméstico y desea acceder a él desde una red externa, deberá configurar el reenvío de puertos en su enrutador. Si tiene una dirección IP dinámica proporcionada por su ISP, también debe configurar un DNS dinámico.

El nombre de usuario y la contraseña predeterminados son admin . Después de iniciar sesión, debe ir a Configuración> Usuarios para cambiar la contraseña de administrador.

También agregue carpetas de medios en la página de configuración y haga clic en el botón Guardar. Tenga en cuenta que la carpeta debe ser accesible para el usuario con el que se ejecuta Subsonic. Después de agregar la carpeta, haga clic en el botón "Escanear carpeta de medios ahora" y podrá escuchar música en la página de índice.

Cambiar el Usuario

De forma predeterminada, el proceso Subsonic se ejecuta como usuario raíz. Por razones de seguridad, debe cambiarlo a un usuario normal, lo que se hace editando el /etc/default/subsonic archivo.

sudo nano /etc/default/subsonic

Busque la siguiente línea:

SUBSONIC_USER=root

Cambie la raíz a su propia cuenta de usuario como linuxbabe .

SUBSONIC_USER=linuxbabe

Guarde y cierre el archivo. Luego reinicie el demonio subsónico para que el cambio surta efecto.

sudo systemctl restart subsonic

Configurar Nginx Reverse Proxy para Subsonic

Si desea utilizar un nombre de dominio para la interfaz web de Subsonic, puede configurar el proxy inverso Nginx. Instale Nginx en Ubuntu 18.04/19.04 usando el siguiente comando.

sudo apt install nginx

Luego cree un archivo de bloque de servidor para proxy.

sudo nano /etc/nginx/conf.d/subsonic-proxy.conf

Coloque el siguiente texto en el archivo. Reemplace subsonic.your-domain.com con su propio nombre de dominio. El bloque de ubicación {…} hará solicitudes de proxy Nginx al demonio subsónico. No olvide establecer un registro A para el subdominio.

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

Guarde y cierre el archivo. Luego pruebe la configuración de Nginx.

sudo nginx -t

Si la prueba es exitosa, vuelva a cargar Nginx para que la nueva configuración surta efecto.

sudo systemctl reload nginx

Ahora el servidor de medios subsónico se coloca detrás de Nginx y puede acceder a la interfaz de usuario web de Subsonic usando un nombre de dominio (subsonic.your-domain.com )

Habilitar HTTPS con Nginx

Para habilitar la conexión segura HTTPS, puede obtener e instalar un certificado TLS/SSL gratuito de Let's Encrypt. Instale el cliente Let's Encrypt (certbot) con:

sudo apt install software-properties-common
sudo add-apt-repository ppa:certbot/certbot
sudo apt install certbot python3-certbot-nginx

Luego emita el siguiente comando, que utiliza el complemento Certbot Nginx para obtener e instalar automáticamente el certificado TLS. Reemplace el texto rojo con sus datos reales.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email your-email-address --domain subsonic.your-domain.com

En unos segundos, debería ver un mensaje de felicitación como el siguiente, lo que significa que el certificado se obtuvo con éxito.

Vuelva a la interfaz web de su servidor de medios Subsonic, encontrará que la conexión HTTP se redirige automáticamente a Conexión segura HTTPS. A continuación, debemos modificar el archivo de configuración de Nginx.

sudo nano /etc/nginx/conf.d/subsonic-proxy.conf

Ahora hay dos bloques de servidor {...}, porque Certbot configuró automáticamente el bloque de servidor SSL (escucha 443 ssl). En el bloque del servidor SSL, agregue la siguiente línea en el bloque ubicación / {…}.

proxy_redirect http:// https://;

Esta línea redirigirá cualquier respuesta del servidor http a la respuesta del servidor https, que es necesaria para mostrar correctamente la página de configuración de Subsonic. Guarde y cierre el archivo. Pruebe la configuración de Nginx y vuelva a cargar.

sudo nginx -t

sudo systemctl reload nginx

Configuración del proxy inverso de Apache

Si prefiere Apache a Nginx, instálelo con:

sudo apt install apache2

Para usar Apache como proxy inverso, debemos habilitar el proxy módulos y el módulo de cabecera.

sudo a2enmod proxy proxy_http headers

Luego cree un archivo de host virtual para el servidor de medios Subsonic.

sudo nano /etc/apache2/sites-available/subsonic-proxy.conf

Coloque las siguientes configuraciones en el archivo. Reemplace subsonic.your-domain.com con su nombre de dominio real. No olvide crear un registro DNS A para este subdominio.

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

Guarde y cierre el archivo. Luego habilite este servidor virtual.

sudo a2ensite subsonic-proxy.conf

Reiniciar Apache

sudo systemctl restart apache2

Ahora puede acceder a la interfaz de usuario web de Subsonic usando un nombre de dominio.

Habilitación de HTTPS con Apache

Para habilitar la conexión segura HTTPS, puede obtener e instalar un certificado TLS/SSL gratuito de Let's Encrypt. Instale el cliente Let's Encrypt (certbot) con:

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

Luego obtenga e instale un certificado usando el complemento de apache.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --must-staple --email your-email-address -d subsonic.your-domain.com

En unos segundos, debería ver un mensaje de felicitación como el siguiente, lo que significa que el certificado se obtuvo con éxito.

Su certificado TLS se instalará automáticamente. Vaya a la interfaz web de su servidor de medios Subsonic nuevamente, encontrará que la conexión HTTP se redirige automáticamente a la conexión segura HTTPS.

Espero que este tutorial lo haya ayudado a instalar el servidor de medios Subsonic en Ubuntu 18.04 y Ubuntu 19.04. Como siempre, si encuentra útil esta publicación, suscríbase a nuestro boletín gratuito. También puede seguirnos en Google+, Twitter o gustar en nuestra página de Facebook.


Ubuntu
  1. Cómo instalar Plex Media Server en Ubuntu 20.04

  2. Cómo instalar y configurar un servidor NFS en Ubuntu 20.04

  3. Cómo instalar y configurar VNC en Ubuntu 20.04

  4. Cómo instalar y configurar Universal Media Server en Ubuntu 20.04

  5. Cómo instalar y configurar Gerbera Media Server en Ubuntu / Debian

Cómo instalar Jellyfin Media Server en Ubuntu 20.04 LTS Server/Desktop

Cómo instalar Subsonic Media Server en Ubuntu 16.04

Cómo instalar Plex Media Server en Ubuntu 20.04 LTS Server/Desktop

Cómo instalar el servidor Tomcat 7 en Ubuntu, Debian y LinuxMint

Cómo instalar Subsonic Media Server en Ubuntu 16.04 LTS

Cómo instalar Plex Media Server en Ubuntu 22.04