[Debian 10] Sauvegarder et restaurer son serveur WAPT

Tut's Linux janv. 13, 2018

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/waptwua/
  • /var/www/ssl
  • /opt/wapt/conf/
  • /opt/wapt/waptserver/ssl/

L’idée, c’est de regrouper 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

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/wapttar rf /tmp/save-waptsrv_$DATE.
tar /var/www/wapt-hosttar rf /tmp/save-waptsrv_$DATE.
tar /var/www/wapt-hostreftar rf /tmp/save-waptsrv_$DATE.
tar /opt/wapt/conftar rf /tmp/save-waptsrv_$DATE.
tar /opt/wapt/waptserver/ssltar 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

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/waptwua/
  • /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

Mots clés

Julien HOMMET

Bercé par l'informatique depuis mon plus jeune âge, je transforme ma passion en expertise.

Super ! Vous vous êtes inscrit avec succès.
Super ! Effectuez le paiement pour obtenir l'accès complet.
Bon retour parmi nous ! Vous vous êtes connecté avec succès.
Parfait ! Votre compte est entièrement activé, vous avez désormais accès à tout le contenu.