Activar SSL con certbot para centova cast 3.2.15
Hace más de un año (bastante más) compré una licencia vitalicia para Centova Cast para 5 estaciones, para administrar distintas estaciones de radio por Internet. Había dejado temporalmente en suspenso tener las estaciones por temas personales, pero últimamente he deseado volver a tenerlas, así que, como es vitalicia, decidí instalar el panel en un VPS que tenía rentado para un entorno de desarrollo que ya no necesito.
Centova tiene por política rentarte su licencia con soporte, o si la compras (como es mi caso) solo tendrás un año de soporte y luego vas por tu cuenta. Y para no dar muchas vueltas, la versión que me corresponde es la 3.2.15 (que, afortunadamente, ya había retirado el reproductor Flash y lo reemplazó por uno HTML5 en su lugar), y tiene algunas carencias importantes.
Una de las carencias es el soporte para Let’s Encrypt automatizado, y solamente permite agregar certificados de manera manual, así que necesitamos conseguir, de alguna manera, nuestro certificado SSL LE, así como la llave privada que se usó en la solicitud. Si deseamos hacerlo de una manera sencilla (sin activar, por ejemplo, el proxy de Centova Cast), o si por cualquier motivo no podemos exponer los tokens .well-known a través de Apache, podremos hacerlo con certbot.
Este documento asume el siguiente escenario:
- Tenemos un sistema linux, con Centova Cast 3.2.15 o inferior instalado.
- Tenemos instalado certbot.
- Contamos con un FQDN, sea un subdominio (preferible) o un dominio (no tan recomendado, pero cada quién).
- Tenemos acceso root al servidor.
Primero, iniciaremos sesión como root y ejecutaremos certbot con el predicado certonly, la opción –standalone y el switch -d para cada FQDN:
# certbot certonly --standalone -p mifqdn1.midominio.com -p otrofqdn.midominio.com
Si es la primera vez que ejecutamos certbot nos mostrará algo parecido a:
En la primer pregunta, nos solicitará nuestra dirección de correo electrónico. Es ideal mantener este dato de manera correcta, ya que si por cualquier razón certbot no pudiera actualizar el certificado cerca de la fecha de vencimiento, nos llegará una notificación a esa dirección.
La segunda pregunta es el típico “aceptas o no los términos y condiciones” y una URL para saber si estamos vendiendo un riñón por un certificado SSL o no. Lo aceptamos, ya que si no, no podemos avanzar.
La tercer pregunta es si queremos suscribirnos al boletín de la EFF (Electronic Frontier Foundation, una organización sin ánimo de lucro que vela por la defensa de muchas libertades en Internet). Es opcional, yo ya estoy suscrito en otra dirección, así que respondo que no, pero es a elección de cada uno.
Al final, nos dice que debemos hacer una copia de seguridad del directorio /etc/letsencrypt ya que ahí residen nuestras credenciales de la cuenta de Let’s Encrypt y, más importante, los certificados que se generan.
Ahora sí, ya con el certificado generado, utilizaremos la utilería de Centova para instalarlo en nuestro panel:
# /usr/local/centovacast/sbin/set_ssl_cert /etc/letsencrypt/live/[tu FQDN]/privkey.pem /etc/letsencrypt/live/[tu FQDN]/cert.pem
Si no nos devuelve ningún error, entonces solamente queda reiniciar centova cast. En mi caso, lo hago con su propio ejecutable, pero se puede hacer con systemctl o service.
# /usr/local/centovacast/centovacast restart
Con lo que, al término del reinicio del servicio, el puerto 2199 (si no lo hemos cambiado en la instalación) quedará encriptado por el certificado que hemos instalado.