Serveur dédié : la mise à jour vers Debian 8 Jessie

Hier soir, j’ai mis à jour le serveur : nous passons de Debian 7.8 (wheezy) à 8.0 (jessie).

Tout s’est plutôt bien passé, il y a eu environ 10 minutes de downtime, le temps que je comprenne ce qui avait changé, notamment dans la configuration Apache et celle de Postfix.

Voici un petit compte-rendu de la mise à jour.

Mise à jour des dépôts

On édite notre fichier source APT :

nano /etc/apt/sources.list

et on remplace toutes les occurences de wheezy par jessie.

Chez moi, cela donne :

# DEBIAN
deb http://mirror.ovh.net/debian/ stable main contrib non-free
deb-src http://mirror.ovh.net/debian/ stable main contrib non-free

deb http://security.debian.org/ stable/updates main contrib non-free
deb-src http://security.debian.org/ stable/updates main contrib non-free

# mod security
deb http://ftp.debian.org/debian/ jessie-backports main

Préparation à la mise à jour de Debian

J’ai commencé par vérifier qu’aucun paquet n’était à moitié installé :

dpkg --audit

ou en attente :

dpkg --get-selections | grep 'hold

Rien? Tout va bien, on continue et on simule une installation avec :

apt-get -o APT::Get::Trivial-Only=true dist-upgrade

Le résultat est une longue liste de paquets, suivie du message suivant:

439 upgraded, 192 newly installed, 5 to remove and 1 not upgraded.
Need to get 275 MB of archives.
After this operation, 259 MB of additional disk space will be used.
E: Trivial Only specified but this is not a trivial operation.

Nos sauvegardes sont faites, on se lance.

Mise à jour Debian

On rafraichit les dépôts et on lance l’installation:

apt-get update && apt-get upgrade

On obtient un laïus avec ce qui change. J’aperçois plusieurs pages sur Apache, on y reviendra. Cela dure à peu près une dizaine de minutes, bien que je n’ai pas vraiment minuté.

Une fois l’installation terminée, on résout les dépendances et les paquets manquants avec :

apt-get dist-upgrade

Je lance le site pour voir : paf, erreur 403.

Configuration d’Apache 2.4

Avec Jessie, on passe d’Apache 2.2 à la version 2.4, ce qui implique quelques changements.

Fichiers de configuration

Tout d’abord, tous les fichiers de configuration dans /etc/apache2/sites-available et /etc/apache2/mods-available doivent porter l’extension .conf et être activés avec a2ensite.

Contrôle d’accès

Dans les fichiers de configuration, il faut modifier les directives du contrôle d’accès.

Pour tout bloquer, on met maintenant Require all denied :

# Apache 2.2
# Order deny,allow
# Deny from all

# Apache 2.4
Require all denied

Pour tout autoriser, on met Require all granted :

# Apache 2.2
# Order allow,deny
# Allow from all

# Apache 2.4
Require all granted

Désactivation du mod SPDY

Le mod SPDY est incompatible avec Apache 2.4:

apache2: Syntax error on line 140 of /etc/apache2/apache2.conf: Syntax error on line 1 of /etc/apache2/mods-enabled/spdy.load: Cannot load /usr/lib/apache2/modules/mod_spdy.so into server: /usr/lib/apache2/modules/mod_spdy.so: undefined symbol: ap_log_cerror

donc, on le désactive :

a2dismod spdy

Activation de mod_security2

Au redémarrage d’Apache, mod_security fait des siennes :

apache2: Syntax error on line 141 of /etc/apache2/apache2.conf: Syntax error on line 9 of /etc/apache2/mods-enabled/security2.conf: No matches for the wildcard '*.conf' in '/etc/modsecurity', failing (use IncludeOptional if required)

Il suffit de renommer le fichier modsecurity.conf-recommended en modsecurity.conf :

mv /etc/modsecurity/modsecurity.conf{-recommended,}

et d’activer le mod

a2enmod security2

puis de relancer Apache :

service apache2 restart

Plus d’images sur le sous-domaine

Sur mon sous-domaine dédié aux images et autres ressources statiques, tout était renvoyé en 403. Le problème venait du fait que j’avais mis une directive Directory à l’intérieur de mon VirtualHost : en le déplaçant en dehors du bloc VirtualHost, plus aucun problème.

Postfix

Enfin, j’ai remarqué que les mails n’arrivaient plus avec Postfix. Un petît tour dans les logs m’a appris que j’avais des directives en double dans le fichier main.cf :

send-mail: warning: /etc/postfix/main.cf, line 150: overriding earlier entry: smtpd_tls_key_file=$smtpd_tls_cert_file
send-mail: warning: /etc/postfix/main.cf, line 151: overriding earlier entry: smtpd_tls_cert_file=/etc/ssl/postfix.pem

Il suffit de supprimer les doublons et de relancer Postfix :

service postfix restart

Voilà, c’est tout.

Vous voulez un site WordPress ou WooCommerce qui soit à la fois rapide et performant? Vous êtes au bon endroit.

Découvrez comment je peux booster votre site »

Articles conseillés :

Opinions