Hier soir, j’ai mis le serveur à jour : nous passons de Debian 6 (“Squeeze”) à Debian 7 (“Wheezy”) – vous l’aurez remarqué : chez Debian, les versions portent le nom de personnages de Toy Story :)
Histoire de garder une trace de ce que je fais, voici les étapes que j’ai suivies.
Contrairement aux versions précédentes, Debian recommande d’utiliser apt-get
au lieu d’aptitude
. Donc acte dans ce tutoriel.
Etape 1 : s’assurer que le système est à jour
On vérifie que notre Squeeze est à jour :
apt-get update && apt-get upgrade
Code language: JavaScript (javascript)
Etape 2 : installer les nouveaux dépôts
Pour voir vos dépôts existants :
cat /etc/apt/sources.list
Code language: PHP (php)
Résultat :
deb http://mirror.ovh.net/debian/ squeeze main contrib
deb-src http://mirror.ovh.net/debian/ squeeze main contrib
deb http://security.debian.org/ squeeze/updates main contrib
deb-src http://security.debian.org/ squeeze/updates main contrib
# Webmin
deb http://download.webmin.com/download/repository/ sarge contrib
# varnish
deb http://repo.varnish-cache.org/debian/ squeeze varnish-3.0
# mod security
deb squeeze-backports main
# dotdeb updated LAMP servers
deb http://packages.dotdeb.org squeeze all
deb-src http://packages.dotdeb.org squeeze all
Code language: PHP (php)
Il faut remplacer toutes les occurrences de squeeze
en wheezy
. On peut le faire avec cette commande :
sed -i 's/squeeze/wheezy/g' /etc/apt/sources.list
Code language: PHP (php)
Evidemment, il y a un piège : le dépôt des backports a changé de nom et d’adresse. Il se trouve désormais ici :
deb http://ftp.debian.org/debian/ wheezy-backports main
Code language: JavaScript (javascript)
Après modification, voici donc notre sources.list
:
deb http://mirror.ovh.net/debian/ wheezy main contrib
deb-src http://mirror.ovh.net/debian/ wheezy main contrib
deb http://security.debian.org/ wheezy/updates main contrib
deb-src http://security.debian.org/ wheezy/updates main contrib
# Webmin
deb http://download.webmin.com/download/repository/ sarge contrib
# varnish
deb http://repo.varnish-cache.org/debian/ wheezy varnish-3.0
# mod security
deb http://ftp.debian.org/debian/ wheezy-backports main
# dotdeb updated LAMP servers
deb http://packages.dotdeb.org wheezy all
deb-src http://packages.dotdeb.org wheezy all
Code language: PHP (php)
Etape 3 : lancement de la mise à jour partielle
Mise à jour des fichiers :
apt-get update
Code language: JavaScript (javascript)
Aucune erreur. On continue avec la mise à jour minimale des paquets :
apt-get upgrade
Code language: JavaScript (javascript)
Après quelques minutes, plantage sur le dernier paquet. MySQL est en cause :
Unpacking replacement mysql-client-5.5 ...
dpkg: error processing /var/cache/apt/archives/mysql-client-5.5_5.5.30+dfsg-1.1_amd64.deb (--unpack):
trying to overwrite '/usr/share/man/man1/mysqlcheck.1.gz', which is also in package mysql-client-core-5.5 5.5.30-1~dotdeb.0
configured to not write apport reports
dpkg-deb: subprocess paste killed by signal (Broken pipe)
Processing triggers for man-db ...
Errors were encountered while processing:
/var/cache/apt/archives/mysql-client-5.5_5.5.30+dfsg-1.1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
Code language: JavaScript (javascript)
Je force l’installation :
apt-get -f install -o Dpkg::Options::="--force-overwrite"
Code language: PHP (php)
et retire mysql-client-5.5
et tout ce qui va avec (tout MySQL en fait) parce que je n’ai pas envie qu’il vienne me mettre la zone pendant la mise à jour du système. On le remettra plus tard :
apt-get remove mysql-client-5.5
Code language: JavaScript (javascript)
Etape 4 : mise à jour du système
Allez, c’est parti. Les sauvegardes ont été faites, on se lance dans le bain (avec une petite prière quand même, toujours) :
apt-get dist-upgrade
Code language: JavaScript (javascript)
Un quart d’heure plus tard, après quelques validations pour savoir quels fichiers de configuration garder et redémarrer les services, le serveur est à jour.
On réinstalle MySQL :
apt-get install mysql-client-5.5
Code language: JavaScript (javascript)
J’ai gardé le fichier /etc/apache2/apache2.conf
durant l’installation, ce qui me plante Apache :
apache2: Syntax error on line 212 of /etc/apache2/apache2.conf: Could not open configuration file /etc/apache2/httpd.conf: No such file or directory
Code language: HTTP (http)
Il suffit de commenter la ligne et de redémarrer Apache.
Voilà. Un quart d’heure pour glaner les informations de mise à jour, 20 minutes pour l’installation proprement dite et à peu près 20 minutes pour vérifier que tout va bien et faire le ménage. Une heure d’admin serveur quoi ;)
Synopsis » Monter un serveur dédié de A à Z
- Serveur dédié : installation d’Apache, PHP, MySQL et Webmin
- Serveur dédié : créer la base de données MySQL et importer WordPress
- Serveur dédié : créer et activer un Virtual Host sous Apache
- Serveur dédié : changer les DNS du nom de domaine et le faire pointer vers le serveur
- Serveur dédié : sécurisation des services avec iptables et fail2ban
- Serveur dédié : sécurisation de la couche TCP/IP
- Serveur dédié : création d’un serveur mail Postfix (sécurisé avec Saslauthd et certificat SSL) et Courier (accès POP et IMAP) utilisant une base MySQL d’utilisateurs/domaines virtuels
- Serveur dédié : sécuriser Apache 2 avec ModSecurity
- Serveur dédié : CHMOD récursif sur des fichiers ou répertoires en ligne de commande
- Serveur dédié : installer APC comme système de cache et configurer Varnish comme reverse-proxy pour Apache pour améliorer les performances
- Serveur dédié : afficher la véritable IP derrière un reverse-proxy comme Varnish
- Serveur dédié : intégrer SSH à WordPress pour mettre à jour le core, les plugins et les thèmes
- Serveur dédié : installer la dernière version d’APC par SVN
- Serveur dédié : analyse des performances du serveur
- Serveur dédié : mettre à jour le noyau Debian de la Kimsufi
- Serveur dédié : sauvegarde automatique des fichiers avec Backup Manager sur le serveur de sauvegarde OVH
- Serveur dédié : configurer la limite mémoire pour PHP et Suhosin
- Bash : supprimer tous les fichiers et sous-répertoires d’un répertoire
- Serveur dédié : impossible de se connecter à un port distant
- Rsync: rapatrier les fichiers du serveur à la maison
- Bash : réparer les tables MySQL en cas de crash
- Serveur dédié : création d’une seedbox avec Transmission
- Serveur dédié : des paquets LAMP à jour sous Debian
- Serveur dédié : mise à jour vers Debian 7 Wheezy
- Serveur dédié : activer X11 forwarding pour SSH
- Serveur dédié : optimiser toutes les images JPG et PNG avec OptiPNG et JpegOptim
- Postfix : résoudre l’erreur “fatal: www-data(33): message file too big”
- Serveur dédié : mise en place de l’IPv6
- WordPress : accorder les bonnes permissions aux fichiers et dossiers avec chown et chmod
- WordPress : héberger les images sur un sous-domaine
- Serveur dédié : ajouter l’authentification SPF, Sender-ID et DKIM à Postfix et Bind9 avec opendkim
- Apache : lorsque le domaine seul (sans WWW) renvoie une erreur 403
- Serveur dédié : sécuriser Apache avec HTTPS (HTTP avec la couche TLS/SSL) en Perfect Forward Secrecy
- Serveur dédié : passer WordPress en HTTPS (TLS/SSL)
- Serveur dédié : configurer Webmin en TLS avec un certificat SSL
- Serveur dédié : configurer Transmission pour accéder au WebUI via TLS-SSL
- Serveur dédié : installer et configurer Varnish 4
- Serveur dédié : passage au mod FastCGI et PHP-FPM avec Apache MPM Worker
- Récupérer un serveur Kimsufi après un plantage de kernel avec le mode rescue OVH
- Serveur dédié : configurer Postfix et Courier pour utiliser TLS-SSL en Perfect Forward Secrecy
- Serveur dédié : retirer Varnish, devenu inutile avec HTTPS
- Serveur dédié : installer la dernière version d’OpenSSL sous Debian
- Serveur dédié : activer l’IP canonique du serveur sous Apache
- Serveur dédié : mise à jour vers PHP 5.6
- MySQL : convertir les tables MyISAM au format InnoDB
- Serveur dédié : optimiser toutes les images GIF avec GIFsicle
- Serveur dédié : migration de MySQL vers MariaDB
- BASH : lister, bloquer et débloquer des adresses IP avec iptables
- Serveur dédié : produire une meilleure réserve d’entropie avec haveged
- Serveur dédié : mettre en place DNSSEC pour sécuriser les DNS du domaine
- Serveur dédié : mise en place du protocole DANE
- 8 règles d’or pour bien déployer DNSSEC et DANE
- Serveur dédié : installer PHP7 FPM avec FastCGI sous Debian
- Serveur dédié : optimiser la couche TCP
- Fail2Ban: protéger Postfix contre les attaques DoS de types AUTH, UNKNOWN et EHLO
- Serveur dédié : mettre à jour Apache pour HTTP/2
- Serveur dédié : ajouter le domaine à la liste HSTS preload
- Serveur dédié : ajouter l’authentification DMARC à Postfix et BIND
- Serveur dédié : à la recherche de l’inode perdue ou comment résoudre le problème “no space left on device”
- Serveur dédié : installer NginX avec support HTTP2 et certificat SSL, PHP, MariaDB sous Debian
Rencontrez-vous des défis avec votre site WordPress ou WooCommerce? Laissez-moi les résoudre pour vous.
Merci pour le tuto ;-)