Il faut régulièrement penser à mettre à jour son serveur Kimsufi.
Je vais essayer d’expliquer brièvement les étapes à suivre pour cela.
- On va d’abord sauvegarder les données :
mkdir /root/svg_special; cp -R /var/lib/dpkg /root/svg_special/; cp /var/lib/apt/extended_states /root/svg_special/; dpkg --get-selections "*" > /root/svg_special/dpkg_get_selection; cp -R /etc /root/svg_special/etc
- Ensuite il est conseillé d’utiliser
screen
pour pouvoir se reconnecter (avecscreen -r
) à en cas de déconnexion :screen
- On va effectuer une mise à jour des paquets avec
apt-get update && apt-get upgrade
- Le processus de mise à niveau décrit sur le site de Debian a été conçu pour des mises à niveau des systèmes Jessie « purs » sans paquet provenant d’autres sources. Pour une meilleure fiabilité du processus de mise à niveau, vous pouvez supprimer ces paquets du système avant de commencer la mise à niveau. :
aptitude search '~i(!~ODebian)'
- On peut lancer la commande
dpkg --audit
pour s’assurer que tout est bon avant la migration. On peut également taperdpkg --get-selections "*" | more
et vérifier qu’aucun paquet n’est en on hold - Maintenant il faut remplacer tous les « jessie » de
/etc/apt/sources.list
par des « stretch », ce qui va donner chez moi :deb http://ftp.fr.debian.org/debian stretch main non-free deb http://debian.mirrors.ovh.net/debian/ stretch main deb-src http://debian.mirrors.ovh.net/debian/ stretch main deb http://security.debian.org/ stretch/updates main deb-src http://security.debian.org/ stretch/updates main
On vérifiera aussi les autres fichiers qui peuvent se trouver dans
/etc/apt/sources.list.d
- Si vous utilisez MySQL, sachez qu’avec Stretch vous pourriez passer sur MariaDB… Si vous souhaitez utiliser MySQL, on peut se référer à ce blog post
- On ajoute/édite le fichier source pour mysql :
nano /etc/apt/sources.list.d/mysql.list
- On y ajoute les sources suivantes (pour mysql-5.7) :
deb http://repo.mysql.com/apt/debian/ stretch mysql-5.7 deb-src http://repo.mysql.com/apt/debian/ stretch mysql-5.7
- On ajoute la clé publique de ce repo :
wget -O /tmp/RPM-GPG-KEY-mysql https://repo.mysql.com/RPM-GPG-KEY-mysql apt-key add /tmp/RPM-GPG-KEY-mysql rm /tmp/RPM-GPG-KEY-mysql
- On ajoute/édite le fichier source pour mysql :
- Il est recommandé d’utiliser le programme
/usr/bin/script
pour enregistrer une transcription de la session de mise à niveau. Ainsi, quand un problème survient, on a un enregistrement de ce qui s’est passé. Pour démarrer un enregistrement, taper :script -t 2>~/upgrade-stretch.time -a ~/upgrade-stretch.script
- On passe aux choses sérieuses, en commençant par mettre à jour les listes des paquets :
apt-get update
- On va vérifier qu’on a la place suffisante (un message explicite apparait sinon) :
apt-get -o APT::Get::Trivial-Only=true dist-upgrade
- On va maintenant faire une mise à jour minimale :
apt-get upgrade
- Et à partir de là le système va vous questionner… en général choisir l’option par défaut si vous ne savez pas quoi répondre
- Puis on continue avec
apt-get dist-upgrade
Cette dernière étape va durer un certain temps. Une fois terminé, vous pouvez redémarrer le serveur pour s’assurer que tout va bien.
Avec phpmyadmin vous pourriez recevoir l’erreur suivante :
PHP Warning: require_once(): open_basedir restriction in effect. File(/usr/share/php/php-php-gettext/gettext.inc) is not within the allowed path(s): (/usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/) in /usr/share/phpmyadmin/libraries/common.inc.php on line 77
PHP Warning: require_once(/usr/share/php/php-php-gettext/gettext.inc): failed to open stream: Operation not permitted in /usr/share/phpmyadmin/libraries/common.inc.php on line 77
Dans ce cas là, il faut rajouter /usr/share/php/php-php-gettext/
dans le fichier /etc/phpmyadmin/apache.conf
sur la ligne open_base_dir
. Ce qui va donner la ligne : php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/
J’ai eu quelques soucis avec fail2ban qui ne démarrait pas. J’ai pu résoudre en consultant le Troubleshooting de leur wiki. Il s’agissait du fichier /etc/fail2ban/jail.d/defaults-debian.conf
qui avait été créé avec une entrée invalide. Il a suffit de le supprimer.
Une fois les erreurs corrigées, on va nettoyer tous les paquets avec
apt-get autoremove