Ce qu'il faut faire avant la mise à jour :
1/ Bien connaitre le contenu du serveur et vérifier qu'on a bien les sauvegardes à jour
Attention à l'emplacement des log Apache : depuis Ubuntu 26.04 des couches de sécurité du système d'exploitation (AppArmor et Systemd) interdisent par défaut à Apache d'accéder et d'écrire dans le répertoire /home. Il faut donc déplacer ces logs avant la mise à jour s'ils étaient mis dans un sous-dossier de /home.
Exécuter ls /etc/cron.d et vérifier que l'on connait les différents services lancés sur le serveur.
Scripts inutiles au lancement à supprimer, autant le faire avant la mise à jour.
Exécuter sudo certbot certificates pour voir l'ensemble des certificats Let's Encrypt.
Pour chaque domaine, vérifier qu'on a une sauvegarde des données, mais aussi de la base de donnée associée.
Si vous faites du ménage, supprimer proprement les certificats Let's Encrypt inutilisés :
Si le certificat est encore valide : sudo certbot revoke --cert-path /etc/letsencrypt/live/CERTNAME/cert.pem --reason cessationofoperation
Si le certificat n'est plus valide : sudo certbot delete --cert-name example.com
Mise à jour Ubuntu 20.04 LTS vers Ubuntu 22.04 LTS : Récupérer le serveur DNS à utiliser
Ubuntu 22.04 (et les versions suivantes) utilisent systemd-resolved
- Si vous utilisez NetPlan pour l'adressage IP : aucun problème.
- Si vous utilisez /etc/network/interfaces avec une configuration DHCP : aucun problème.
- Si vous utilisez /etc/network/interfaces pour l'adressage IP avec une IP fixe : vous allez perdre la résolution DNS de votre serveur, il faudra la remettre en place au premier reboot et vous aurez besoin de connaitre le serveur DNS pour le configurer dans systemd-resolved. C'est moins de stress si c'est préparé avant la mise à jour.
2/ Ouvir le port 22 et 1022 sur le firewall
Le port 22 sera utilisé si le DNS rebascule sur son port par défault.
Le port 1022 est le service SSH de secours, en cas de problème sur le premier.
3/ Lever les sécurités sur SSH et s'assurer que le port 22 n'est pas utilisé.
Si vous avez mis des sécurités sur SSH, je recommande de les désactiver lors de la mise à jour.
On les remettra en place au premier reboot.
Si pour une raison ou une autre SSH change de port pour revenir sur le port par défaut, c'est bien qu'il soit disponible pour ne pas se retrouver sans SSH.
Si ce n'est pas le cas, commenter les services tiers sur le port 22.
4/ Créer un dossier de sauvegarde pour les anciens fichiers de configurations
Le process de mise à jour va sauvegarder dans un fichier qui porte le même nom avec un suffixe rajouté -old vos fichiers de configuration modifiés manuellement. Au premier reboot, j'étudie ces fichiers -old pour remettre la configuration personnalisée. Cependant, je déconseille de laisser ces fichiers dans leur dossier d'origine ou cela peut provoquer une confusion lors des prochaines mises à jour : je déplace donc les fichiers -old dans un dossier spécifique.
Pour limiter le temps où le système ne fonctionne pas parfaitement, je crée le dossier avant la mise à jour.
sudo mkdir /root/sav_conf_maj_ubuntu
5/ Appliquer les mises à jour de sécurité proposées et faire un dernier reboot
sudo apt update : permet de mettre à jour le catalogue de logiciels
sudo apt full-upgrade : permet de mettre tous les logiciels à jour.
sudo apt autoremove : Supprime les éventuelles dépendances devenues inutiles
sudo apt clean : permet de supprimer les paquets .deb téléchargés, toujours bien de faire de la place avant une mise à jour
sudo reboot : redémarre le serveur pour être sûr que les paquets utilisés soient bien dans leur dernière version