Instalando y configurando Subsonic

¿Qué es Subsonic?

Subsonic es un servidor de medios de comunicación libre, de código abierto, basado en web. Subsonic fue escrito en Java, se puede ejecutar en cualquier sistema operativo que tenga soporte de máquina virtual Java, admite simultáneamente múltiples clientes streaming y es compatible con cualquier medio streamable, es decir, que pueda transmitir (incluyendo MP3, AAC y Ogg). Subsonic también admite la conversión de multimedios sobre la marcha (mediante el uso de plugins de los más populares formatos multimedia, incluyendo WMA, FLAC y más.

En resumen: Un biblioteca multimedia en red que reproduce música/videos por el navegador web.

Describiendo el trabajo

En un punto de montaje, pondremos la biblioteca de música/video, y se lo asignamos a la config del CT. Para esto, el CT debe estar apagado.

¿Qué haremos?

Nos dirigimos a nuestro nodo PVE y editamos el archivo de configuración correspondiente al CT que estamos usando, en mi caso el 116:

nano /etc/pve/lxc/116.conf

A final del archivo agregamos

mp0: /mnt/external/windows-d/Streams/Musica,mp=/srv/musica

Donde debemos sustituir /mnt/external/windows-d/Streams/Musica por la dirección donde tienen su almacén de música. Guardamos la config, salimos e iniciamos el CT.

Con el contenedor ya actualizado:

apt update ;; apt dist-upgrade -y

Instalamos Java

Subsonic requiere JavaRE 8, especificamente openjdk-8-jre. Debian 10 no trae por default en su repositorio openjdk-8-jre, trae la versión 11. Para resolver esto debemos hacer lo siguiente:

echo "deb http://ftp.debian.org/debian sid main" >> /etc/apt/sources.list
apt update ;; apt install openjdk-8-jre

Descargar e intalar Subsonic

URL de descarga: http://www.subsonic.org/pages/download.jsp

cd /opt
wget -c https://s3-eu-west-1.amazonaws.com/subsonic-public/download/subsonic-6.1.6.deb

dpkg -i subsonic-6.1.6.deb

Editar y adaptar:

nano /etc/default/subsonic:

SUBSONIC_ARGS="--port=0 --https-port=4141 --max-memory=150"
SUBSONIC_USER=www-data

Y habilitamos/reiniciamos Subsonic:

systemctl enable subsonic
systemctl restart subsonic

Instalar Nginx

apt install nginx

Primero veremos el certificado TLS:

mkdir /etc/nginx/certs
openssl ecparam -name secp384r1 -out /etc/nginx/certs/ecparam.pem
openssl ecparam -in /etc/nginx/certs/ecparam.pem -genkey -noout -out /etc/nginx/certs/server.key
openssl req -new -key /etc/nginx/certs/server.key -out /etc/nginx/certs/server.csr -sha256
openssl req -x509 -days 3650 -key /etc/nginx/certs/server.key -in /etc/nginx/certs/server.csr -out /etc/nginx/certs/server.pem
openssl dhparam -out /etc/nginx/certs/dhparam.pem 4096

Y ahora la configuración del virtualhosting:

server {
    listen 80;
    server_name musica.inutil.cu;
    return 301 https://musica.inutil.cu$request_uri;
}

server {
    listen 443 http2 ssl;
    server_name musica.inutil.cu;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ecdh_curve secp384r1;
    ssl_certificate /etc/nginx/certs/server.pem;
    ssl_certificate_key /etc/nginx/certs/server.key;
    ssl_dhparam /etc/nginx/certs/dhparam.pem;
    ssl_prefer_server_ciphers on;
    ssl_ciphers EECDH+AESGCM:EDH+AESGCM;

    ssl_session_timeout 10m;
    ssl_session_cache shared:SSL:10m;
    ssl_session_tickets off;
    #ssl_stapling on;
    #ssl_stapling_verify on;
    resolver 192.168.0.2 valid=300s;
    resolver_timeout 5s;
    add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload";
    add_header X-Frame-Options SAMEORIGIN;
    add_header X-Content-Type-Options nosniff;
    add_header X-XSS-Protection "1; mode=block";

    access_log /var/log/nginx/musica-inutil-access.log;
    error_log /var/log/nginx/musica-inutil-error.log;

    location / {
        proxy_pass https://127.0.0.1:4141;
        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 https;
        #proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Host $http_host;
        proxy_max_temp_file_size 0;
        proxy_redirect http:// https://;

        #this is the maximum upload size
        client_max_body_size 20m;
        client_body_buffer_size 128k;

        proxy_connect_timeout 90;
        proxy_send_timeout 90;
        #proxy_read_timeout 90;

        proxy_buffer_size 4k;
        proxy_buffers 4 32k;
        proxy_busy_buffers_size 64k;
        proxy_temp_file_write_size 64k;

        ## Required for Websockets
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_read_timeout 36000s; ## Timeout after 10 hours
    }
}

Salvamos la configuración de Nginx, chequeamos que todo esté OK y habilitamos/reiniciamos el servicio:

nginx -t
systemctl enable nginx
systemctl restart nginx

Reiniciamos el CT, entramos por el navegador usando el user y pass admin, le damos en scan media files y cuando termine de asimilar nuestro contenido listo a disfrutar.

Importante

Algunos detalles:

– Login por default: admin/admin

En Configuración/Directorios de Música debemos poner la dirección de la carpeta[1] donde está la música, cosa que configuramos en el archivo del CT. Además, debemos escanear la carpeta para que Subsonic organice la música[2] y actualice la base de datos interna.

Ahora bien, cambiemos la contraseña del usuario admin por default. Para hacer esto debemos ir a Configuración/Usuarios, seleccionamos el usuario admin[1], y le cambiamos la contraseña[2].

Después de un rato ya deberían ser capaces de ver la música indexada y reproducirla. Claro, este proceso demora en dependencia de la cantidad de música que contenta la biblioteca.

Subsonic trae para autenticar los usuarios con el LDAP, pero no lo pude lograr, incluso después de ver este video, bastante explicativo. Se los dejo para que ustedes lo echen a andar[Configuración/Avanzado], y comenten al respecto.

Espero les sirva.

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuar!

Promedio de puntuación 5 / 5. Recuento de votos: 1

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

1 comentario

  1. Firefox 92.0 Firefox 92.0 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0

    3 veces he tratado y no logro k funciones, donde pongo el virtual host_ disculpe mi ignorancia

Responder a MIke Cancelar la respuesta

Tu dirección de correo electrónico no será publicada.


*