
#  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.





