[Debian 9.3] Sauvegarder et restaurer son serveur WAPT

Le serveur WAPT ne peut se sauvegarder automatiquement par défaut, il faut paramétrer un script pour pouvoir le faire. Découverte.

Partie SAUVEGARDE

Pour le moment, aucune manipulation officielle est créée pour faire cette sauvegarde complète du serveur. Toutefois, WAPT étant relativement « simple » quant à l’installation de l’application, il vous permet de faire une sauvegarde rapidement qui peut être automatisée. Pour se faire, il faut au préalable arrêter tous les services dont WAPT est dépendant.

sudo systemctl stop nginx && sudo systemctl stop postgresql && sudo systemctl stop waptserver

Les dossiers suivants de WAPT sont à sauvegarder impérativement, ce sont eux les plus importants (avec la base de données) :

  • /var/www/wapt/
  • /var/www/wapt-host/
  • /var/www/wapt-hostref/
  • /opt/wapt/conf/
  • /opt/wapt/waptserver/ssl/

L’idée, c’est de « packager » tous ces dossiers dans une seule et même archive, pour pouvoir la restaurer au besoin sur un nouveau serveur WAPT.

Il faut aussi sauvegarder la base PostgreSQL via l’outil « pg_dumpall« , utilisable en étant l’utilisateur « postgres » :

su postgres
cd ~
pg_dumpall > sauvegarde_wapt.sql

Enfin, une fois la sauvegarde effectuée, il faut redémarrer les services nécessaires pour WAPT :

sudo systemctl start nginx && systemctl start postgresql && sudo systemctl start waptserver

Pour se faire, voici un script qui permet de regrouper toutes les commandes précédentes :

#!/bin/bash
#
## CC-BY-NC - Julien HOMMET - 28/12/2017
## https://computerz.solutions - pour Tranquil IT - WAPT
#
# Ne pas oublier le "crontab -e" et y ajouter à la fin : "0 2 * * 1 /root/save-wapt-srv.sh" (exécution de la sauvegarde tous les jours à 02h du matin)

### VARIABLES/CONSTANTES
DATE=`date +%d_%m_%y`

### ARRET DE TOUS LES SERVICES NECESSAIRES DE WAPT
sudo systemctl stop nginx && sudo systemctl stop postgresql && sudo systemctl stop waptserver

### CREATION ARCHIVE VIDE
tar cvf /tmp/save-waptsrv_$DATE.tar --files-from /dev/null

### DUMP SQL
su postgres
cd ~
pg_dumpall > /tmp/save-db-wapt.sql

### AJOUT DES DOSSIERS/FICHIERS NECESSAIRES A LA SAUVEGARDE DU SERVEUR WAPT
tar rf /tmp/save-waptsrv_$DATE.tar /var/www/wapt
tar rf /tmp/save-waptsrv_$DATE.tar /var/www/wapt-host
tar rf /tmp/save-waptsrv_$DATE.tar /var/www/wapt-hostref
tar rf /tmp/save-waptsrv_$DATE.tar /opt/wapt/conf
tar rf /tmp/save-waptsrv_$DATE.tar /opt/wapt/waptserver/ssl
tar rf /tmp/save-waptsrv_$DATE.tar /tmp/save-db-wapt.sql

### COMPRESSION DE L'ARCHIVE
gzip /tmp/save-waptsrv_$DATE.tar

### REDEMERRAGE DES SERVICES
sudo systemctl start nginx && sudo systemctl start postgresql && sudo systemctl start waptserver

### FIN SCRIPT ###
Afin d’automatiser le script, utilisez crontab (crontab -e) et ajoutez la ligne suivante en fin de fichier – avec cette commande, le script se lancera tous les jours à 02h du matin :
0 2 * * 1 /root/save-wapt-srv.sh

Partie RESTAURATION

Si votre serveur WAPT venait à tomber en panne et que vos sauvegardes ont été faites, vous pouvez restaurer aisément votre serveur.

Commencez tout d’abord par réinstaller intégralement « from scratch » un serveur WAPT, sans données et avec une configuration « basique ». Arrêtez ensuite tous les services dépendents à WAPT :

sudo systemctl stop nginx && sudo systemctl stop postgresql && sudo systemctl stop waptserver

Il faut restaurer les répertoires précédemments cités plus hauts, pour rappel les voici :

  • /var/www/wapt/
  • /var/www/wapt-host/
  • /var/www/wapt-hostref/
  • /opt/wapt/conf/
  • /opt/wapt/waptserver/ssl/

Si vous avez utilisé le script et la méthode de sauvegarde décrite dans cette article, voici les commandes à passer pour lancer une restauration :

gunzip /tmp/save-wapt-srv.tar.gz
tar xvf /tmp/save-wapt-srv.tar
cp -R /tmp/var/www/wapt /var/www/.
cp -R /tmp/var/www/wapt-host /var/www/.
cp -R /tmp/var/www/wapt-hostref /var/www/.
cp -R /tmp/opt/wapt/conf /opt/wapt/.
cp -R /tmp/opt/wapt/waptserver/ssl /opt/wapt/waptserver/.

Les droits doivent être modifiés sur ces dossiers nouvellement copiés :

chown -R wapt:www-data /var/www/wapt/
chown -R wapt:www-data /var/www/wapt-host/
chown -R wapt:www-data /var/www/wapt-group/
chown -R wapt /opt/wapt/conf/
chown -R wapt /opt/wapt/waptserver/ssl/

Des scripts de tests sont présents dans /opt/wapt/ – à utiliser impérativement sans quoi votre serveur ne pourra pas fonctionner correctement !

/usr/bin/python /opt/wapt/wapt-scanpackages.py /var/www/wapt/
/usr/bin/python /opt/wapt/wapt-scanpackages.py /var/www/wapt-host/
/usr/bin/python /opt/wapt/wapt-scanpackages.py /var/www/wapt-hostref/

Enfin, tous les services peuvent être relancés – vous devriez pouvoir vous connecter via la console WAPT.

sudo systemctl start nginx && sudo systemctl start postgresql && sudo systemctl start waptserver

Julien H

Passionné depuis toujours par l'informatique, je transforme ma passion en expertise. J'utilise quotidiennement les outils et systèmes Microsoft. Je ne délaisse pas mon côté ouvert, notamment via l'utilisation des OS Debian et Archlinux. L'infosec m'ouvre les yeux sur les enjeux actuels et futurs de l'IT.

Laisser un commentaire

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

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Fermer
Fermer