More

    [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

    [divider style= »solid » top= »20″ bottom= »20″]

    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

    [divider style= »solid » top= »20″ bottom= »20″]

    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

    LEAVE A REPLY

    Please enter your comment!
    Please enter your name here

    19 − trois =

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