5. Restauration du Serveur WAPT¶
En cas de panne totale, redémarrez une installation standard de WAPT Server sur votre serveur WAPT. Mais ne lancez pas le programme de post-configuration de WAPT. Suivez ensuite cette procédure pour restaurer vos données.
Par défaut, nous recommandons de conserver la même adresse IP et le même nom de domaine entièrement qualifié (FQDN) sur le nouveau serveur WAPT.
Pour vous assurer que le nouveau serveur WAPT dispose de suffisamment d’espace disque pour le référentiel, contrôlez le volume de votre ancien serveur WAPT après avoir effectué le processus de nettoyage. Cela vous aidera à déterminer l’espace disque nécessaire pour le nouveau serveur.
Pour Debian et dérivées :
du -sh /var/www/
du -sh /opt/wapt/
Pour Redhat et dérivées :
du -sh /opt/wapt/
du -sh /var/www/html/
Pour afficher la taille du répertoire « C:\wapt », procédez comme suit :
1- Ouvrez l’Explorateur de fichiers et naviguez jusqu’à « Ce PC » ou « Mon ordinateur ».
2- Localisez le dossier « C:Wapt » et faites un clic droit dessus.
3- Dans le menu contextuel, sélectionnez « Propriétés ».
4- Dans la fenêtre Propriétés, vous verrez plusieurs onglets. Assurez-vous d’être sur l’onglet « Général ».
5- Recherchez les lignes « Taille » et « Taille sur le disque », qui affichent la taille totale du dossier et de son contenu.
Alternativement, vous pouvez utiliser le script suivant pour récupérer la taille de manière programmatique.
Script Powershell:
# Directory paths $waptPath = "C:\wapt\waptserver\repository\wapt" $wadsPath = "C:\wapt\waptserver\repository\wads" $wuaPath = "C:\wapt\waptserver\repository\waptwua" $wapthostPath = "C:\wapt\waptserver\repository\wapt-host" # Function to calculate the size of a directory function Get-DirectorySize { param ( [string]$path ) $size = (Get-ChildItem $path -Recurse -File -ErrorAction SilentlyContinue | Measure-Object -Property Length -Sum).Sum return $size } # Calculate sizes for each directory $waptSize = Get-DirectorySize -path $waptPath $wadsSize = Get-DirectorySize -path $wadsPath $wuaSize = Get-DirectorySize -path $wuaPath $wapthostSize = Get-DirectorySize -path $wapthostPath # Convert to GB and display $waptGB = [math]::Round($waptSize / 1GB, 2) $wadsGB = [math]::Round($wadsSize / 1GB, 2) $wuaGB = [math]::Round($wuaSize / 1GB, 2) $wapthostGB = [math]::Round($wapthostSize / 1GB, 2) Write-Output "Size of $waptPath : $waptSize octets ($waptGB GB)" Write-Output "Size of $wadsPath : $wadsSize octets ($wadsGB GB)" Write-Output "Size of $wuaPath : $wuaSize octets ($wuaGB GB)" Write-Output "Size of $wapthostPath : $wapthostSize octets ($wapthostGB GB)" # Combined total $totalSize = $waptSize + $wadsSize + $wuaSize + $wapthostSize $totalGB = [math]::Round($totalSize / 1GB, 2) Write-Output "Total size to migrate: $totalSize bytes ($totalGB GB)"
5.1. Linux¶
Suivez la procédure d’installation standard du serveur WAPT, mais n’exécutez PAS le script postconf.py.
Pour Debian et ses dérivés : guide d’installation
Pour Red Hat et ses dérivés : guide d’installation
Une fois l’installation terminée, veillez à renommer le nouveau serveur WAPT afin qu’il corresponde exactement au nom et à l’adresse IP de l’ancien serveur (srvwapt). Mettez à jour les fichiers de configuration suivants en conséquence :
/etc/hostname
/etc/hosts
/etc/network/interfaces
/etc/resolv.conf
Arrêter les services liés à WAPT sur le Serveur.
systemctl stop nginx && systemctl stop waptserver && systemctl stop waptserver-uwsgi && systemctl stop wapttasks
Restaurer les répertoires suivants.
C:\wapt\waptserver\repository\wapt => /var/www/wapt/
C:\wapt\waptserver\repository\wapt-host => /var/www/wapt-host/
C:\wapt\waptserver\repository\waptwua => /var/www/waptwua/
C:\wapt\waptserver\repository\wads => /var/www/wads/
C:\wapt\conf => /opt/wapt/conf/
C:\wapt\waptserver\nginx\ssl => /opt/wapt/waptserver/ssl/
C:\wapt\waptserver\repository\*.json => /var/www/*.json
Modifier les données du fichier waptserver.ini
Accédez au fichier /opt/wapt/conf/waptserver.ini, puis modifiez les lignes suivantes :
clients_signing_key = c:\wapt\conf\ca-srvwaptname.mydomain.lan.pem => clients_signing_key = /opt/wapt/conf/ca-srvwaptname.mydomain.lan.pem
clients_signing_certificate = c:\wapt\conf\ca-srvwaptname.mydomain.lan.crt => clients_signing_certificate = /opt/wapt/conf/ca-srvwaptname.mydomain.lan.crt
Modifiez le chemin d’accès au certificat du serveur dans le fichier /etc/nginx/sites-available/wapt.conf
Modifiez la phrase suivante :
ssl_client_certificate "c:\wapt\conf\ca-srvwaptname.mydomain.lan.crt" => ssl_client_certificate "/opt/wapt/ca-srvwaptname.mydomain.lan.crt"
Recréer le lien symbolique
ln -s /var/www/wapt/waptagent/waptsetup.exe waptsetup.exe
ln -s /var/www/wapt/waptagent/waptsetup.exe waptsetup-tis.exe
ln -s /var/www/wapt/waptagent/waptdeploy.exe waptdeploy.exe
C:\wapt\waptserver\repository\wapt => /var/www/html/wapt/
C:\wapt\waptserver\repository\wapt-host => /var/www/html/wapt-host/
C:\wapt\waptserver\repository\waptwua => /var/www/html/waptwua/
C:\wapt\waptserver\repository\wads => /var/www/html/wads/
C:\wapt\conf => /opt/wapt/conf/
C:\wapt\waptserver\nginx\ssl => /opt/wapt/waptserver/ssl/
C:\wapt\waptserver\repository\*.json => /var/www/html/*.json
Modifier les données du fichier waptserver.ini
Accédez au fichier /opt/wapt/conf/waptserver.ini, puis modifiez les lignes suivantes :
clients_signing_key = c:\wapt\conf\ca-srvwaptname.mydomain.lan.pem => clients_signing_key = /opt/wapt/conf/ca-srvwaptname.mydomain.lan.pem
clients_signing_certificate = c:\wapt\conf\ca-srvwaptname.mydomain.lan.crt => clients_signing_certificate = /opt/wapt/conf/ca-srvwaptname.mydomain.lan.crt
Modifiez le chemin d’accès au certificat du serveur dans le fichier /etc/nginx/sites-available/wapt.conf
Modifiez la phrase suivante :
ssl_client_certificate "c:\wapt\conf\ca-srvwaptname.mydomain.lan.crt" => ssl_client_certificate "/opt/wapt/ca-srvwaptname.mydomain.lan.crt"
Recréer le lien symbolique
ln -s /var/www/html/wapt/waptagent/waptsetup.exe waptsetup.exe
ln -s /var/www/html/wapt/waptagent/waptsetup.exe waptsetup-tis.exe
ln -s /var/www/html/wapt/waptagent/waptdeploy.exe waptdeploy.exe
/var/www/wapt/ => /var/www/html/wapt/
/var/www/wapt-host/ => /var/www/html/wapt-host/
/var/www/waptwua/ => /var/www/html/waptwua/
/var/www/wads/ => /var/www/html/wads/
/opt/wapt/conf/ => /opt/wapt/conf/
/opt/wapt/waptserver/ssl/ => /opt/wapt/waptserver/ssl/
/var/www/*.json => /var/www/html/*.json
Adaptez les chemins des news pour les paramètres de votre nouveau serveur dans le waptserver.ini
vi /opt/wapt/conf/waptserver.ini
wapt_folder = /var/www/html/wapt
waptwua_folder= /var/www/html/waptwua
wapt-host_folder= /var/www/html/wapt-host
wads_folder= /var/www/html/wads
Adapter le chemin pour la configuration de nginx.
vi /etc/nginx/conf.d/wapt.conf
Root paths must point to "/var/www/html/"
Indication
Si vous utilisez Kerberos pour authentifier les hôtes et les utilisateurs, restaurez le fichier et ses droits.
sudo chown root:nginx /etc/nginx/http-krb5.keytab
sudo chmod 640 /etc/nginx/http-krb5.keytab
restorecon -v -R /etc/nginx/http-krb5.keytab
Recréer le lien symbolique
ln -s /var/www/html/wapt/waptagent/waptsetup.exe waptsetup.exe
ln -s /var/www/html/wapt/waptagent/waptsetup.exe waptsetup-tis.exe
ln -s /var/www/html/wapt/waptagent/waptdeploy.exe waptdeploy.exe
/var/www/html/wapt/ => /var/www/wapt/
/var/www/html/wapt-host/ => /var/www/wapt-host/
/var/www/html/waptwua/ => /var/www/waptwua/
/var/www/html/wads/ => /var/www/wads/
/opt/wapt/conf/ => /opt/wapt/conf/
/opt/wapt/waptserver/ssl/ => /opt/wapt/waptserver/ssl/
/var/www/html/*.json => /var/www/*.json
Adaptez les chemins des news pour les paramètres de votre nouveau serveur dans le waptserver.ini
vi /opt/wapt/conf/waptserver.ini
wapt_folder = /var/www/wapt
waptwua_folder= /var/www/waptwua
wapt-host_folder= /var/www/wapt-host
wads_folder= /var/www/wads
Adapter le chemin pour la configuration de nginx.
vi /etc/nginx/sites-available/wapt.conf
Root paths must point to "/var/www/"
Indication
Si vous utilisez Kerberos pour authentifier les hôtes et les utilisateurs, restaurez le fichier et ses droits.
sudo chmod 640 /etc/nginx/http-krb5.keytab
sudo chown root:www-data /etc/nginx/http-krb5.keytab
Recréer le lien symbolique
ln -s /var/www/wapt/waptagent/waptsetup.exe waptsetup.exe
ln -s /var/www/wapt/waptagent/waptsetup.exe waptsetup-tis.exe
ln -s /var/www/wapt/waptagent/waptdeploy.exe waptdeploy.exe
/var/www/wapt/ => /var/www/wapt/
/var/www/wapt-host/ => /var/www/wapt-host/
/var/www/waptwua/ => /var/www/waptwua/
/var/www/wads/ => /var/www/wads/
/opt/wapt/conf/ => /opt/wapt/conf/
/opt/wapt/waptserver/ssl/ => /opt/wapt/waptserver/ssl/
/var/www/*.json => /var/www/*.json
Indication
Si vous utilisez Kerberos pour authentifier les hôtes et les utilisateurs, restaurez le fichier et ses droits.
sudo chmod 640 /etc/nginx/http-krb5.keytab
sudo chown root:www-data /etc/nginx/http-krb5.keytab
Recréer le lien symbolique
ln -s /var/www/wapt/waptagent/waptsetup.exe waptsetup.exe
ln -s /var/www/wapt/waptagent/waptsetup.exe waptsetup-tis.exe
ln -s /var/www/wapt/waptagent/waptdeploy.exe waptdeploy.exe
/var/www/html/wapt/ => /var/www/html/wapt/
/var/www/html/wapt-host/ => /var/www/html/wapt-host/
/var/www/html/waptwua/ => /var/www/html/waptwua/
/var/www/html/wads/ => /var/www/html/wads/
/opt/wapt/conf/ => /opt/wapt/conf/
/opt/wapt/waptserver/ssl/ => /opt/wapt/waptserver/ssl/
/var/www/html/*.json => /var/www/html/*.json
Indication
Si vous utilisez Kerberos pour authentifier les hôtes et les utilisateurs, restaurez le fichier et ses droits.
sudo chown root:nginx /etc/nginx/http-krb5.keytab
sudo chmod 640 /etc/nginx/http-krb5.keytab
restorecon -v -R /etc/nginx/http-krb5.keytab
Recréer le lien symbolique
ln -s /var/www/html/wapt/waptagent/waptsetup.exe waptsetup.exe
ln -s /var/www/html/wapt/waptagent/waptsetup.exe waptsetup-tis.exe
ln -s /var/www/html/wapt/waptagent/waptdeploy.exe waptdeploy.exe
Lancer le fichier postconf.sh
/opt/wapt/waptserver/scripts/postconf.sh
Arrêter les services liés à WAPT sur le Serveur.
systemctl stop nginx && systemctl stop waptserver && systemctl stop waptserver-uwsgi && systemctl stop wapttasks
Verifier la base de donnée
su - postgres
psql -l
exit
Restaurer la base de données (adaptez le nom de votre fichier). La première commande supprime la base de données WAPT (si elle existe). Assurez-vous que votre fichier dump est correct avant de le supprimer !
Avertissement
Vérifiez l’encodage avant de créer la base de données wapt, si le fichier dumpé est en_US, votre nouvelle base doit être en_US.
cd /tmp
sudo -u postgres psql -c "drop database wapt"
sudo -u postgres psql -c "create database wapt with owner=wapt encoding='utf-8'"
sudo -u postgres psql < /tmp/backup_wapt.sql
Appliquer les droits de propriété aux dossiers restauré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/waptwua/
chown -R wapt:www-data /var/www/wads/
chown -R wapt /opt/wapt/conf/
chown -R wapt /opt/wapt/waptserver/ssl/
chown -R wapt:nginx /var/www/html/wapt/
chown -R wapt:nginx /var/www/html/wapt-host/
chown -R wapt:nginx /var/www/html/waptwua/
chown -R wapt:nginx /var/www/html/wads/
chown -R wapt /opt/wapt/conf/
chown -R wapt /opt/wapt/waptserver/ssl/
Analyser les dépôts de paquets.
wapt-scanpackages /var/www/wapt/ -linfo
wapt-scanpackages /var/www/html/wapt/ -linfo
Enfin lancer le fichier postconf.sh
/opt/wapt/waptserver/scripts/postconf.sh
Le processus de restauration est désormais terminé
5.2. Windows¶
Arrêter les services liés à WAPT sur le Serveur.
net stop WAPTServer
net stop WAPTService
net stop WAPTTftpServer
Restaurer les répertoires suivants.
C:\wapt\waptserver\repository\wapt
C:\wapt\waptserver\repository\wapt-host
C:\wapt\waptserver\repository\waptwua
C:\wapt\waptserver\repository\wads
C:\wapt\conf
C:\wapt\waptserver\nginx\ssl
Appliquer le droit total au dossier
C:\wapt\waptserver\repositorypour le groupe « Service Réseau ».Restaurer la base de données (adaptez le nom de votre fichier). La première commande supprime la base de données WAPT (si elle existe). Assurez-vous que votre fichier dump est correct avant de le supprimer !
Avertissement
Vérifiez l’encodage avant de créer la base de données wapt, si le fichier dumpé est en_US, votre nouvelle base doit être en_US.
"C:\wapt\waptserver\pgsql-15\bin\psql.exe" -U postgres -c "drop database wapt;"
"C:\wapt\waptserver\pgsql-15\bin\psql.exe" -U postgres -c "create database wapt with owner=wapt encoding='utf-8';"
"C:\wapt\waptserver\pgsql-15\bin\psql.exe" -f c:\backup_wapt.sql -U postgres
Analyser les dépôts de paquets.
wapt-scanpackages "C:\wapt\waptserver\repository\wapt"
Redémarrer les services liés à WAPT sur le Serveur.
net start WAPTServer
net start WAPTService
net start WAPTTftpServer