Mise à jour d’un serveur Kimsufi (OVH) depuis Debian 7.10 (Wheezy) vers Debian 8 (Jessie) [Linux]

Il faut régulièrement penser à mettre à jour son serveur Kimsufi.

Je vais essayer d’expliquer brièvement les étapes à suivre pour cela.

  1. 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
  2. Ensuite il est conseillé d’utiliser screen pour pouvoir se reconnecter (avec screen -r) à en cas de déconnexion :
    screen
  3. On peut lancer la commande dpkg --audit pour s’assurer que tout est bon avant la migration. On peut également taper dpkg --get-selections "*" | more et vérifier qu’aucun paquet n’est en on hold
  4. 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
    
  5. 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
  6. On passe aux choses sérieuses, en commençant par mettre à jour les listes des paquets :
    apt-get update
  7. 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
  8. On va maintenant faire une mise à jour minimale :
    apt-get upgrade
  9. 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
  10. 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

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*