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 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 « wheezy » de
/etc/apt/sources.list
par des « jessie », ce qui va donner chez moi :deb http://ftp.fr.debian.org/debian jessie main non-free deb http://debian.mirrors.ovh.net/debian/ jessie main deb-src http://debian.mirrors.ovh.net/debian/ jessie main deb http://security.debian.org/ jessie/updates main deb-src http://security.debian.org/ jessie/updates main
- 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-jessie.time -a ~/upgrade-jessie.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.
Après tout ça j’ai rencontré un problème avec la version 2.4 d’Apache, en ayant l’erreur :
AH01630: client denied by server configuration
En cherchant j’ai trouvé des modifications au niveau de la configuration, à savoir qu’il faut mettre Require all granted dans tous les <Directory> des virtual hosts :
<Directory /> Options FollowSymLinks Require all granted </Directory>
De même, concernant phpmyadmin, il faut modifier /etc/phpmyadmin/apache.conf
(avec Require all denied par exemple).
Avec phpmyadmin vous pourriez recevoir l’erreur suivante :
PHP Fatal error: require_once(): Failed opening required ‘./libraries/php-gettext/gettext.inc’ (include_path=’.’) in /usr/share/phpmyadmin/libraries/select_lang.lib.php
Dans ce cas là, il faut rajouter /usr/share/php/php-gettext/
dans le fichier /etc/phpmyadmin/apache.conf
sur la ligne open_base_dir
(voir superuser.com). Ce qui va donner la ligne : php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/
Mon fichier apache2.conf
avait été aussi modifié et certains fichiers de configuration n’étaient plus lus (ceux dans le répertoire /etc/apache2/conf.d/
). De même il faudra renommer les fichiers présents dans /etc/apache2/sites-available/
en y ajoutant l’extension .conf (et relancer la commande a2ensite
sur vos fichiers renommés).
Si vous utilisez des fichiers .htaccess
(par exemple avec WordPress), alors assurez vous d’utiliser la balise AllowOverride All
… par exemple dans un de vos fichiers de configuration d’Apache il faudra mettre (pour indiquer que tous les .htaccess
dans /home/websites/www
sont autorisés) :
<Directory /home/websites/www> AllowOverride All </Directory>
Sur un des serveurs il y avait un problème d'encodage avec les fichiers en PHP alors que les HTML n'avaient pas de soucis. Après avoir cherché j'ai découvert que dans le cas de ce serveur je devais modifier /etc/php5/apache2/php.ini
pour y mettre default_charset = Off
.
Et finalement on va nettoyer tous les paquets avec
apt-get autoremove