Si comme moi, vous avez supprimé une conf de votre serveur Apache via un rm, ne vous inquiétez pas il est possible de la récupérer.
Dans mon cas après la suppression de mon vhost Apache, je n’avais pas redémarrer Apache.
Il suffit de dumper la mémoire du process Apache pour ensuite faire une recherche dedans afin de retrouver votre vhost malencontreusement effacé.
- Installer le paquet gdb
123sudo apt-get install gdb
- Copier la code suivant dans un fichier dump-all-memory-of-pid.sh
12345#!/bin/bashgrep rw-p /proc/$1/maps | sed -n 's/^\([0-9a-f]*\)-\([0-9a-f]*\) .*$/\1 \2/p' | while read start stop; do gdb --batch --pid $1 -ex "dump memory $1-$start-$stop.dump 0x$start 0x$stop"; done
- Rendre le fichier executable
123chmod +x dump-all-memory-of-pid.sh
- Récupérer le pid du process Apache
123sudo pgrep -uroot apache2
- Dumper la mémoire du process
1234mkdir /tmp/apache_dump && cd /tmp/apache_dumpsh /path/to/dump-all-memory-of-pid.sh <PID>
- Faite un grep sur tous les fichiers de dump
123grep DocumentRoot *
- Ouvrir chaque fichiers de dump qui matche le grep pour y rechercher votre config.
J’ai pu ainsi récupérer la conf d’un vhost qui était assez délicate et dont je ne me voyais pas me re-torturé l’esprit pour la réécrire.