Activer les connexions sécurisées httpS Pour la sécurité et les smartphones !

Ceci est la partie la plus pointue du guide. Toutefois en prenant le temps et en suivant rigoureusement les différentes étapes vous y arriverez sans problème !

Plan :
Installation des logiciels pour rediriger icecast.ndd.tld vers Icecast
Configurer la redirection avec Apache
Édition du fichier de configuration
Activation du sous-domaine
Obtention des certificats https

Installation des logiciels pour rediriger icecast.ndd.tld vers Icecast

A présent tout se passe directement sur notre serveur. Connectez vous en ssh avec la commande :
ssh utilisateur@IPpublique
et rentrez votre mot de passe.
Puis installez Apache, qui est un serveur web libre. C’est ce logiciel qui va s’occuper de faire les redirections
Pour cela utilisez la commande :
sudo apt install apache2

Puis confirmez avec
Y

Vous avez aussi besoin d’activer deux modules de Apache pour gérer la redirection, ce qui se fait via la commande :
sudo a2enmod proxy proxy_http

Le terminal va afficher ceci :

Il faut donc redémarrer Apache avec la commande :
sudo systemctl restart apache2
Puis on active le dernier module dont on aura besoin avec :
sudo a2enmod ssl
Et on redémarre Apache :
sudo systemctl restart apache2
A présent nous allons installer cerbot qui va permettre d’obtenir les certificats indispensables au httpS
Si votre serveur n’est pas sous ubuntu, référez vous à cette page :
https://certbot.eff.org/instructions puis choisissez Apache dans le premier menu, et votre OS dans le deuxième, et suivez les instructions.
Si vous avez un serveur sous Ubuntu entrez la commande suivante :
sudo apt install python3-certbot-apache
Validez avec
Y
Certbot est maintenant installé

Configurer la redirection avec Apache
Tout d’abord plaçons dans le dossier qui contient les fichiers de configuration :
cd /etc/apache2/sites-available/

La commande cd demande au terminal de se placer dans le dossier que vous indiquez après
On voit que du texte (en bleu ici) est apparu juste avec le $ dans le terminal (si vous utilisez Linux, sous Windows il n’y aura pas de couleur). Il nous indique le dossier dans lequel on se trouve.

A présent nous allons créer un nouveau fichier de configuration : (commande générique à ne pas copier coller telle quelle)
sudo touch icecast.ndd.tld.conf
Attention à bien remplacer ndd.tld par votre domaine. En réalité quelque soit le nom du fichier tant qu’il fini par ‘.conf’ ça marchera (il faudra bien le changer dans les commandes d’après c’est tout). Mais il est toujours conseillé de créer des fichiers avec des noms compréhensibles.
Par exemple si mon domaine est ‘masuperradio.fr’ je ferai :
sudo touch icecast.masuperradio.fr.conf
On a l’impression que rien ne se passe, donc on vérifie que le fichier a bien été créé en tapant :(LS en minuscules)
ls
Et on trouve ça :

Comme le fichier ‘icecast.ndd.tld.conf’ apparaît, c’est que tout est bon. Nous allons à présent remplir le fichier de configuration que nous venons de créer.

Édition du fichier de configuration

L’objectif est de dire à apache de rediriger les demandes faites à l’adresse icecast.ndd.tld vers vers le port 8000 qui est celui du serveur Icecast.
Allons-y pas à pas. D’abord on s’assure d’être dans le bon dossier :
cd /etc/apache2/sites-available/
puis que notre fichier de configuration y est bien (icecast.ndd.tdl.conf)
ls

Ensuite on ouvre le fichier icecast.ndd.tld.conf avec la commande (à modifier avec le bon nom de fichier, c’est celui que nous avons créé à l’étape précédente) :
sudo vi icecast.ndd.tld.conf
On arrive sur cette page, qui est en fait le logiciel Vi. Reportez vous à l’article utilisation de vipour savoir comment l’utiliser

Activez le mode édition avec la touche ‘i’. INSERT apparaît en bas à gauche
Puis téléchargez le document ci dessous (clique droit -> enregistrer la cible du lien sous) et copiez-en le contenu

Si vous ne souhaitez pas télécharger le document, vous pouvez aussi copier ces quelques lignes.
ATTENTION : il vous faudra enlever les espaces après les signes ’<’ et avant les signes ’>’ ET ajouter 4 espaces avant ServerName ; ServerAdmin ; ProxyPass ; ProxyPassReverse ; ProxyRequests pour que cela fonctionne

< VirtualHost *:80 >
ServerName icecast.ndd.tld
ServerAdmin postmaster@domaine.fr

ProxyPass / http://127.0.0.1:8000/
ProxyPassReverse / http://127.0.0.1:8000/
ProxyRequests Off
< /VirtualHost >

A présent collez dans le terminal (avec clique droit -> coller)
Si jamais ça ne fonctionne pas, bien vérifier que INSERT apparaît en bas du terminal, si ce n’est pas le cas appuyer sur ‘i’ et réessayez le copier coller.
Vous arrivez donc à ça :

A présent nous allons modifier ce qui doit l’être.
Après ‘ServerName’ il changez la partie ‘ndd.tld’ et remplacez la par votre domaine.
Par exemple pour masuperradio.fr on veut :

Petit rappel, la souris ne sert à rien dans Vi déplacez vous bien avec les flèches du clavier.
Une fois ‘ServerName’ bien rempli descendez jusqu’à ‘ProxyPass’ (ServerAdmin ne sert à rien, laissez le tel quel)

On voit le http://127.0.0.1:8000/
Modifiez cette IP en mettant la votre entre http:// et :8000 c’est à dire :
http://IPpublique:8000 IPpublique étant toujours l’ IPpublique de votre votre serveur.
Puis faites la même chose pour l’item ‘ProxyPassReverse’.
Ce qui devrait finalement donner ceci :

Sortez du mode édition avec la touche ‘echap’ et INSERT disparaît en bas
Puis pour enregistrer le fichier tapez : (ça s’affiche en bas de la fenêtre)(il faut valider avec la touche ‘Entrée’)
:w
Puis pour quitter Vi tapez :
:q

Activation du sous domaine

Maintenant que le fichier de configuration est fait, nous n’avons plus qu’à demander à apache de l’utiliser.
Pour cela tapez (toujours en mettant votre nom de domaine à la place de ndd.tld)
sudo a2ensite icecast.ndd.tld
Le terminal va vous répondre :

Vous pouvez tester la configuration de apache avec la commande :
apachectl configtest
Qui devrait vous renvoyer :

Il faut donc relancer apache ce qui se fait avec la commande :
sudo systemctl reload apache2
A ce stade, il est possible qu’une erreur intervienne, le terminal dira alors :

Dans ce cas, pas de panique rendez vous en annexe pour voir comment régler le problème.
Si tout va bien, le terminal ne dit rien et se tient prêt à recevoir une commande.
A ce moment là, votre serveur icecast est déjà accessible en http (donc sans le S) à l’adresse icecast.ndd.tld. Il ne reste plus qu’à obtenir les certificats pour le httpS

Obtention des certificats https

Le truc sympas c’est que c’est assez simple.
Rentrez la commande suivante : (espace entre cerbot —apache)
sudo certbot —apache
Là on arrive là dessus :

Rentrez une adresse mail qui sera utilisée si en cas de problème de renouvellement des certificats (mais normalement tout se fera automatiquement) et de notification de sécurité.
Puis vous arrivez là :

Le terminal demande si on a lu les conditions d’utilisation (qui sont ici : https://letsencrypt.org/documents/LE-SA-v1.3-September-21-2022.pdf, validez avec :
Y
Là certbot vous demande si vous souhaitez recevoir un newsletter à propos de certbot et Let’s Encrypt (Let’s encrypt et l’entité qui fourni les certificats https)

Répondez à votre guise avec ‘Y’ ou ‘N’

Le terminal vous demande pour quel site vous voulez activer le HTTPS.

Vous n’avez qu’un seul choix possible il faut donc taper :
1

Si suite à d’autres utilisations de apache vous aviez plusieurs choix, il suffit de trouver le choix qui correspond à ‘icecast.ndd.tld’ et de rentrer le numéro correspondant au lieu de 1
Là il faut attendre quelques secondes en regardant ‘Requesting a certificate for icecast.ndd.tld et….

C’est fini !
Votre serveur Icecast est maintenant accessible de façon sécurisée depuis l’adresse
https://icecast.ndd.tld

Et lors de votre émission, si vous choisissez le point de montage /stream par exemple, vous pourrez écouter la radio via l’adresse : https://icecast.ndd.tld/stream