Ce guide détaille le processus de migration du serveur WizNote, déployé via Docker, d'une machine source vers une machine destination, en incluant les étapes de résolution des problèmes courants.
Mise à Jour du Conteneur WizNote sur le Serveur Source
L'objectif est d'assurer que la version de l'image Docker utilisée sur le serveur source corresponde à celle qui sera récupérée sur le nouveau serveur.
Étant donné que le dépôt officiel ne propose que la dernière version de l'image WizNote, il est nécessaire de mettre à jour le conteneur existant avant de procéder à la migration.
Procédure de Mise à Jour
docker stop wiz
docker rm wiz
docker pull wiznote/wizserver:latest
docker run --name wiz -d \
-v /chemin/vers/donnees/wiz:/wiz/storage \
-v /etc/localtime:/etc/localtime \
-p 9000:80 \
-p 9269:9269/udp \
wiznote/wizserver
Note : Adaptez le chemin du volume monté (-v /chemin/vers/donnees/wiz:/wiz/storage) et les ports exposés (-p ...) selon votre configuration initiale.
Transfert des Données WizNote depuis le Serveur Source
Les données de WizNote sont stockées dans un répertoire sur le serveur source (par exemple, /chemin/vers/donnees/wiz). Ce répertoire doit être transféré vers le nouveau serveur. Une méthode courante consiste à compresser le répertoire, à le transférer via FTP, puis à le décompresser sur la destination.
Commandes pour la Compression et la Décompression avec 7-Zip
Installation de 7-Zip sur Ubuntu/Debian :
sudo apt-get update && sudo apt-get install p7zip-full -y
Compression du répertoire des données :
7z a donnees_wiz.7z /chemin/vers/donnees/wiz/*
Vérification de l'intégrité de l'archive :
7z t donnees_wiz.7z
Si aucun problème n'est détecté, la sortie affichera "Everything is Ok".
Décompression sur le nouveau serveur :
7z x donnees_wiz.7z -o/chemin/destination/wizdata
Note : Il est crucial de vérifier l'intégrité de l'archive avant de la monter dans le conteneur Docker sur le nouveau serveur pour éviter toute corruption de données.
Configuration des Permissions du Répertoire
Après décompression, assurez-vous que les permissions du répertoire des données sur le nouveau serveur sont appropriées. Il est souvent recommandé de les harmoniser avec celles du serveur source.
# Modifier les permissions pour l'utilisateur et le groupe propriétaire, si nécessaire
# Exemple : donner les pleins pouvoirs (à adapter selon les besoins de sécurité)
sudo chmod -R 777 /chemin/destination/wizdata
Déploiement de WizNote Server Docker sur le Nouveau Serveur
Utilisez la commande suivante pour lancer WizNote sur le nouveau serveur, en montant le répertoire des données transféré.
docker run --name wiz -d \
-v /chemin/destination/wizdata:/wiz/storage \
-v /etc/localtime:/etc/localtime \
-p 3180:80 \
-p 39269:9269/udp \
wiznote/wizserver
Note : Adaptez le chemin du volume monté (-v /chemin/destination/wizdata:/wiz/storage) et les ports exposés (-p ...) selon votre configuration cible.
Référence : Guide officiel : Déploiement de l'image Docker WizNote Server
Dépannage de la Migration
En cas de problèmes après la migration, suivez ces étapes pour diagnostiquer et résoudre les difficultés :
- Vérifier la version de l'image Docker : Assurez-vous que les versions des images WizNote (
wiznote/wizserver) sur les deux serveurs sont identiques. - Contrôler l'intégrité des données : Confirmez que le répertoire
wizdatatransféré n'est pas corrompu. La vérification de l'archive 7-Zip est une première étape essentielle. - Compaerr les permissions des répertoires : Vérifiez que les permissions du répertoire de stockage monté sur le nouveau serveur sont correctes et cohérentes avec celles du serveur source.
- Valider le chemin du répertoire monté : Une erreur courante consiste à monter un sous-répertoire involontairement. Par exemple, si les données décompressées se trouvent dans
/chemin/destination/wizdata/wizdata, assurez-vous que le montage Docker reflète le chemin correct (-v /chemin/destination/wizdata:/wiz/storageet non-v /chemin/destination/wizdata/wizdata:/wiz/storage). - Examiner les journaux du conteneur : Utilisez la commande
docker logs -f <ID_OU_NOM_CONTENEUR>pour visualiser les logs du conteneur WizNote. - Consulter les logs MySQL dans le conteneur :
- Obtenir l'ID du conteneur WizNote :
docker ps - Accéder au shell du conteneur :
docker exec -it <ID_CONTENEUR> bash - Vérifier le fichier journal des erreurs MySQL :
cat /var/lib/mysql/mysql_error.log
- Obtenir l'ID du conteneur WizNote :