# Migration d'une installation existante de ScoDoc Marche à suivre pour transférer les données d'un serveur ScoDoc déjà existant vers un autre. Cas d'usage typiques: * changement de machine physique * création d'un serveur de développement * Mise à jour majeure du système d'exploitation (exemple: passage de Debian 9 à Debian 10). Toutes les données seront copiées: bases SQL, configurations, photos, archives, logs. ## Principe Au lieu de mettre à jour le système Debian, il est préférable de **réinstaller complètement un nouveau serveur**. En effet, ScoDoc utilise certains composants qui ne sont pas fournis dans les versions adéquates par Debian. L'expérience montre qu'il est plus rapide de **tout réinstaller** sans se poser de questions. D'ailleurs, la plupart des installations étant sur des serveurs virtualisés, cette méthode est souvent plus simple et évite de toucher au serveur en production. J'insiste : **ne tentez pas de mettre à jour le système Debian de votre ancien serveur**, c'est une perte de temps. Le principe est donc: 1. Installer un nouveau serveur Linux Debian (à partir de zéro); 2. Y installer ScoDoc ; 3. Copier les données d'un serveur à l'autre (scripts fournis); 4. Tester, puis le cas échéant couper l'ancien serveur et le remplacer par le nouveau. ## Marche à suivre détaillée ### Installation de Debian et ScoDoc Voir les instructions ici: [GuideInstallDebian11](GuideInstallDebian11.md). ### Copie des données d'un serveur à l'autre Il est important de suivre rigoureusement et pas à pas cette procédure: 1. S'assurer que le serveur de départ est à jour (pour avoir le bon script de sauvegarde!): voir [MisesAJour](MisesAJour.md) 1. Enregistrer les données sur le serveur d'origine: lancer le script `save_scodoc_data.sh` (en tant qu'utilisateur `root` dans `/opt/scodoc/instance/Products/ScoDoc/config`). Ce script crée une archive (tgz) qui contient toutes les informations: bases de données SQL, données utilisateurs, photos, archives des documents, fichier de configuration. 1. Copier le fichier (`.tgz`) obtenu sur la machine destination (par exemple en utilisant ssh ou une clé USB). 1. Mettre à jour votre installation de destination (`./upgrade.sh`) 1. Sur la machine destination, sur laquelle ScoDoc vient d'être installé, lancer (en tant qu'utilisateur `root` dans `/opt/scodoc/instance/Products/ScoDoc/config`) le script `restore_scodoc_data.sh <nom_fichier_archive>` 1. Mettre à jour votre installation de destination (`./upgrade.sh`) (oui, à nouveau, important pour assurer que les anciennes bases de données sont aussi mises à jour). 1. Relancer ScoDoc (`/etc/init.d/scodoc start`) et tester.