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
screenpour pouvoir se reconnecter (avecscreen -r) à en cas de déconnexion :screen
- On peut lancer la commande
dpkg --auditpour s’assurer que tout est bon avant la migration. On peut également taperdpkg --get-selections "*" | moreet vérifier qu’aucun paquet n’est en on hold - Maintenant il faut remplacer tous les “wheezy” de
/etc/apt/sources.listpar 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/scriptpour 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