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
sudo apt-get install gdb
- Copier la code suivant dans un fichier dump-all-memory-of-pid.sh
#!/bin/bash grep 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
chmod +x dump-all-memory-of-pid.sh
- Récupérer le pid du process Apache
sudo pgrep -uroot apache2
- Dumper la mémoire du process
mkdir /tmp/apache_dump && cd /tmp/apache_dump sh /path/to/dump-all-memory-of-pid.sh <PID>
- Faite un grep sur tous les fichiers de dump
grep 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.
Cet article a été modifié le 7 février 2017 14:10