Serveur Azuracast - serveur webradios V2
Entrée DNS : webradios.cemea.org sur IP FailOver dédiée sur OVH
Création d'une mac virtuelle dans OVH Manager pour cette IP dédiée
VM azuracast : 2 coeurs, Ram 4 Go, 30 Go sur /, Interface réseau vmbr0 avec Macvirtuelle récupérée depuis OVH
Installation sur une VM Ubuntu server 20.04 sur Coloquinte
Config réseau dédiée sur Coloquinte (voir config OVH en ou des infos ici):
/etc/netplan/01-netcfg.yaml
# This is the network config written by 'subiquity' network: version: 2 ethernets: ens18: dhcp4: no dhcp6: no addresses: [146.59.220.91/32] nameservers: addresses: [1.1.1.1] routes: - to: 0.0.0.0/0 via: 146.59.220.254 on-link: true
Ici :
- 146.59.220.91 : IP FailOver dédiée pour cette VM
- 37.187.28.162 :IP dédiée de serveur (le .254 utilisé comme route et gateway)
NB : Romain annonce que la config est beaucoup plus simple et fonctionne.
On met l'IP dédiée (celle de la VM, on met 24 en masque 255.255.255.0 et en gateway : IP dédiée de la VM mais avec la fin de en .254). A tester.
Installation
Tout en root :
apt-get update && apt-get dist-upgrade apt-get purge snapd apt-get install -q -y git mkdir -p /var/azuracast/www cd /var/azuracast/www git clone https://github.com/AzuraCast/AzuraCast.git . # Want only stable "release" builds? Run this code here: # git checkout -q -f stable chmod a+x install.sh ./install.sh
Tout se passe bien sauf la fin si on choisit la version stable :
Erreur signalée sur dépendances de composer : wikimedia/composer-merge-plugin requiert composer-plugin-api incompatible avec composer v2 ???
Il faut donc pour l'instant utilise la version unstable (Rolling Release) pour passer l'installation.
L'install totale vierge prend actuellement 7,1 Go, le dossier azuracast prend 1,5 Go.
Configuration
Création du premier compte admin.
Création de comptes utilisateurs (et gérer les permissions pour chacun : admin ou consultaiton )et de webradios avec leur mot de passe source. Ceci veut dire qu'il faut créer une permission pour chaque compte utilisateur.
Chaque radio utilile un mot de passe source, et admin différent.
On peut cocher “Permettre les streamers / DJs” pour permet le faire le DJ depuis l'interface web.
On peut déplacer l'espace de stockage des webradios dans /home/azuracast/stations par exemple, dans chaque webradio.
Mise à jour stable
Pour passer en version stable :
cd /var/azuracast/www git checkout -q -f stable sudo chmod a+x update.sh sudo ./update.sh
Installation du certificat
apt install certbot
Conserver la conf nginx originale.
systemctl stop nginx
certbot --agree-tos --standalone -d webradios.cemea.org
Changer les certificats avec un webhook-post pour créer des certificats (server +key) compatibles avec icecast.
#!/usr/bin/env bash mkdir -p /etc/nginx/ssl/ chmod 755 /etc/nginx/ssl openssl rsa -in /etc/letsencrypt/live/webradios.cemea.org/privkey.pem -out /etc/nginx/ssl/server.key openssl crl2pkcs7 -nocrl -certfile /etc/letsencrypt/live/webradios.cemea.org/fullchain.pem | openssl pkcs7 -print_certs -out /etc/nginx/ssl/server.crt chmod 644 /etc/nginx/ssl/server.*
Et sauvegarder la nouvelle confi nginx
Et modifier la conf originale de nginx pour pointer sur les certif au bon endroit
/etc/letsencrypt/live/webradios.cemea.org/cert.pem /etc/letsencrypt/live/webradios.cemea.org/privkey.pem
Rajouter la partie pour redirection port 80 → 443
Et relancer nginx.
Modifier dans l'interface admin de Azuracast la configuration en https pour toutes les adresses.
Modifier dans la conf de letsencrypt la méthode d'authentification du renewal en nginx /etc/letsencrypt/renewal/webradios.cemea.org.conf
Tester avec un :
certbot renew --dry-run