forked from ScoDoc/DocScoDoc
188 lines
6.2 KiB
Markdown
188 lines
6.2 KiB
Markdown
# Migration des données ScoDoc 7 vers ScoDoc 9
|
|
|
|
*XXX tests en cours XX*
|
|
|
|
On peut installer à partir de zéro, ou sur une machine ayant déjà un ScoDoc 7
|
|
et migrer les données.
|
|
|
|
## Cas 1: Migration d'une installation ScoDoc 7 sur un nouveau serveur
|
|
|
|
C'est le cas recommandé car il minimise la coupure et permet de tester avant de
|
|
basculer d'une version à l'autre.
|
|
|
|
Dans ce cas, la migration va se faire en suivant les étapes:
|
|
|
|
1. installer le nouveau serveur Linux Debian 11 et ScoDoc 9;
|
|
|
|
2. sauvegarder les données de ScoDoc7 depuis le serveur de production **et l'arrêter**;
|
|
|
|
3. charger les données ScoDoc 7 sur le nouveau serveur;
|
|
|
|
4. importer ces données dans ScoDoc 9.
|
|
|
|
### Étape 1: Installer le nouveau serveur
|
|
|
|
Installer le nouveau serveur avec Debian 11 et ScoDoc 9.
|
|
|
|
Voir [GuideInstallDebian11](GuideInstallDebian11.md).
|
|
|
|
Vérifier que tout fonctionne avant d'aller plus loin.
|
|
|
|
### Étape 2: Sauvegarder les données du serveur ScoDoc 7
|
|
|
|
Ouvrir un terminal en tant que `root`sur l'ancien serveur ScoDoc 7.
|
|
|
|
cd /opt/scodoc/Products/ScoDoc/config
|
|
# Mise à jour indispensable pour avoir le script de migration
|
|
./upgrade.sh
|
|
# Arrêt du service en production
|
|
systemctl stop scodoc
|
|
# Export des données
|
|
./save_scodoc7_data.sh /tmp/sauvegarde-scodoc7
|
|
|
|
Attention à l'espace disque: au besoin, faire le ménage ou montez un disque supplémentaire.
|
|
|
|
Notez que cette migration ne fonctionne qu'à partir de la dernière version de
|
|
ScoDoc 7. Si vous avez une version plus ancienne, mettez-la d'abord à jour.
|
|
|
|
Le script indique le nom du fichier à transférer, qui sera dans
|
|
l'exemple ci-dessus `/tmp/sauvegarde-scodoc7.tgz`
|
|
|
|
Copier ce fichier sur le nouveau serveur (scp, ...).
|
|
|
|
|
|
### Étape 3: Charger les données ScoDoc 7
|
|
|
|
Récupérez l'archive transférée sur le nouveau serveur ou ouvrez-la:
|
|
|
|
cd /tmp
|
|
tar xfz sauvegarde-scodoc7.tgz
|
|
chown -R scodoc /tmp/sauvegarde-scodoc7
|
|
|
|
commande qui va créer `/tmp/sauvegarde-scodoc7`.
|
|
|
|
En tant qu'utilisateur "`scodoc`":
|
|
|
|
/opt/scodoc/tools/restore_scodoc7_data.sh /tmp/sauvegarde-scodoc7
|
|
|
|
(adaptez l'argument si les données ont été copiées ailleurs)
|
|
|
|
Note: les messages d'erreur comme
|
|
|
|
pg_restore: warning: restoring tables WITH OIDS is not supported anymore
|
|
pg_restore: error: could not execute query: ERROR: schema "public" already exists
|
|
pg_restore: error: could not execute query: ERROR: must be owner of extension plpgsql
|
|
|
|
sont normaux et a priori anodins.
|
|
|
|
A ce stade, vous avez rechargé les bases ScoDoc 7 mais il faut encore
|
|
les convertir vers la nouvelle structure ScoDoc 9, et importer les photos,
|
|
archives et autres fichiers: c'est l'objet de l'étape suivante.
|
|
|
|
### Étape 4: Importer les données dans ScoDoc 9
|
|
|
|
Les formats des bases ayant changé l'opération est complexe et peut durer
|
|
plusieurs minutes (ou dizaines de minutes). Attention: **Il faut lancer le script en tant
|
|
que `root` **.
|
|
|
|
su # passer root d'une façon ou d'une autre
|
|
# lancer le script, avec le nom du répertoire:
|
|
/opt/scodoc/tools/migrate_from_scodoc7.sh /tmp/sauvegarde-scodoc7
|
|
|
|
## Cas 2: Migration "en place" sur la même machine
|
|
|
|
*XXX tests en cours XXX*
|
|
|
|
Si vous n'avez pas la possibilité de changer de serveur (par exemple, vous ne
|
|
travaillez pas dans des machines virtuelles, ou qu'il est compliqué de créer une
|
|
nouvelle VM). Vous pouvez partir de ScoDoc 7 / Debian 10, faire l'upgrade Debian
|
|
en place, puis migrer ScoDoc 9.
|
|
|
|
Avant tout, sauvegardez évidemment votre serveur complet, vérifiez que la
|
|
sauvegarde est bonne et que plusieurs exemplaires sont stockés en lieux sûrs,
|
|
comme d'habitude.
|
|
|
|
Toutes les étapes sont importantes, prenez votre temps, lisez bien cette page.
|
|
|
|
### 1. Préparation et arrêt de ScoDoc 7
|
|
|
|
1. S'assurer que l'installation ScoDoc 7 est à jour
|
|
|
|
sudo su
|
|
cd /opt/scodoc/Products/ScoDoc/config
|
|
./upgrade.sh
|
|
|
|
Notez que cette migration ne fonctionne qu'à partir de la dernière version
|
|
de ScoDoc 7. Si vous avez une version plus ancienne, mettez-la d'abord à
|
|
jour.
|
|
|
|
2. Arrêter le service ScoDoc 7
|
|
|
|
systemctl stop scodoc
|
|
|
|
S'assurer qu'il est bien stoppé (`ps auxw`, ...), sans quoi la migration va échouer.
|
|
|
|
3. Renommer le répertoire de ScoDoc 7:
|
|
|
|
sudo su
|
|
mv /opt/scodoc /opt/scodoc7
|
|
|
|
Les données seront migrées après installation la nouvelle version, voir
|
|
plus loin. ScoDoc 9 sera installé dans `/opt/scodoc`, il est donc très important
|
|
de renommer le répertoire en `scodoc7`.
|
|
|
|
### 2. Upgrade Debian
|
|
|
|
Suivre la procédure standard. La [doc
|
|
officielle](https://www.debian.org/releases/bullseye/mips64el/release-notes/ch-upgrading.fr.html)
|
|
est longue, mais en réalité c'est très simple sauf si vous avez configuré votre
|
|
système de façon exotique, ce qui est peu probable pour un serveur ScoDoc.
|
|
Nombreux tutos disponibles, voir [par exemple
|
|
celui-ci](https://doc.akito.ooo/books/essentials/page/manually-upgrade-debian-from-buster-to-bullseye)
|
|
(non testé).
|
|
|
|
Attention, il faut désinstaller Apache (avant ou après upgrade Linux), car
|
|
ScoDoc 9 utilise un autre serveur web (nginx) qui serait en conflit:
|
|
|
|
# peut être utile pour récuperer vos certificats SSL ?
|
|
mv /etc/apache2 /etc/apache2.old
|
|
apt-get remove --purge apache2
|
|
|
|
|
|
### 3. Installer ScoDoc 9
|
|
|
|
Voir [le guide d'installation](GuideInstallDebian11.md), section 2.
|
|
|
|
Vérifier que tout fonctionne avant d'aller plus loin.
|
|
|
|
### 4. Migrer vos données ScoDoc 7
|
|
|
|
Les données sont restées dans /opt/scodoc7.
|
|
|
|
Lancer le script suivant en tant que `root`:
|
|
|
|
/opt/scodoc/tools/migrate_from_scodoc7.sh -m
|
|
|
|
(l'option `-m` indique qu'il s'agit d'une migration "en place").
|
|
|
|
La migration prends du temps, et il n'est pas inutile de consulter les messages
|
|
affichés, dont la plupart se retrouvent aussi dans le fichier
|
|
|
|
/opt/scodoc/data/log/migration79.log
|
|
|
|
Prêtez attention aux éventuels changements de login des utilisateurs et
|
|
informez-les. ScoDoc 9 n'autorise pas de caractères spéciaux (apostrophes, ...)
|
|
ou accentués dans les logins.
|
|
|
|
### 5. Vérifier que tout fonctionne
|
|
|
|
Vos départements et utilisateurs devraient être accessibles.
|
|
L'utilisateur `admin` créé à l'installation de ScoDoc 9 doit avoir accès à tout.
|
|
|
|
Vérifiez que les semestres, étudiants, photos, archives et comptes utilisateurs
|
|
sont bien là.
|
|
|
|
Célébrez !
|
|
|
|
|