forked from ScoDoc/DocScoDoc
procedure de migration
This commit is contained in:
parent
c0bb9a6ba0
commit
8e6a1e9fe1
@ -80,13 +80,24 @@ cd /tmp
|
|||||||
wget --no-check-certificate https://www-lipn.univ-paris13.fr/projects/scodoc
|
wget --no-check-certificate https://www-lipn.univ-paris13.fr/projects/scodoc
|
||||||
# doit créer un fichier nomme "scodoc" contenant du code HTML
|
# doit créer un fichier nomme "scodoc" contenant du code HTML
|
||||||
```
|
```
|
||||||
3. Nom DNS: le serveur doit avoir un nom ("serveur.exemple.fr") connu dans le DNS (local ou public). Pour des tests, vous pouvez vous passer de DNS, mais dans ce cas le nom de votre serveur sera son adresse IP (eg 192.168.0.10) et il ne sera peut être pas accessible de l'extérieur.
|
3. Nom DNS: le serveur doit avoir un nom ("serveur.exemple.fr") connu dans le
|
||||||
1. Vérifiez que votre serveur est accessible depuis une autre machine de votre réseau (voire d'Internet): par exemple "ping serveur.exemple.fr".
|
DNS (local ou public). Pour des tests, vous pouvez vous passer de DNS, mais
|
||||||
1. Date et heure: vérifier que les dates et heure sont correctes, même après reboot. L'utilisation d'un serveur de temps (ntp) est recommandée (`aptitude install ntp`), et éventuellement `dpkg-reconfigure tzdata`).
|
dans ce cas le nom de votre serveur sera son adresse IP (eg 192.168.0.10) et
|
||||||
1. Cette liste est incomplète... et n'oubliez pas: avant de passer en production, mettez en place des sauvegardes sérieuses !
|
il ne sera peut être pas accessible de l'extérieur.
|
||||||
|
1. Vérifiez que votre serveur est accessible depuis une autre machine de votre
|
||||||
|
réseau (voire d'Internet): par exemple "ping serveur.exemple.fr".
|
||||||
|
1. Date et heure: vérifier que les dates et heure sont correctes, même après
|
||||||
|
reboot. L'utilisation d'un serveur de temps (ntp) est recommandée (`apt-get
|
||||||
|
install ntp`), et éventuellement `dpkg-reconfigure tzdata`).
|
||||||
|
1. Cette liste est incomplète... et n'oubliez pas: avant de passer en
|
||||||
|
production, mettez en place des sauvegardes sérieuses !
|
||||||
|
|
||||||
#### Configuration si utilisation d'un proxy
|
#### Configuration si utilisation d'un proxy
|
||||||
Si votre accès à Internet passe par un proxy, l'indiquer au moment de l'installation Debian. Il est possible qu'il vous faille configurer d'autres éléments, voir par exemple https://stackoverflow.com/questions/9445489/performing-http-requests-with-curl-using-proxy
|
Si votre accès à Internet passe par un proxy, l'indiquer au moment de
|
||||||
|
l'installation Debian. Il est possible qu'il vous faille configurer d'autres
|
||||||
|
éléments, voir par exemple
|
||||||
|
https://stackoverflow.com/questions/9445489/performing-http-requests-with-curl-using-proxy
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## 2) Installation de ScoDoc sur Debian
|
## 2) Installation de ScoDoc sur Debian
|
||||||
@ -98,11 +109,12 @@ wget --no-check-certificate https://www-lipn.univ-paris13.fr/projects/scodoc
|
|||||||
en tant que **root** sur le serveur. Vous pouvez utiliser `su` (ou `sudo su`)
|
en tant que **root** sur le serveur. Vous pouvez utiliser `su` (ou `sudo su`)
|
||||||
pour devenir **root**).
|
pour devenir **root**).
|
||||||
|
|
||||||
Remarque: *Si ce n'est pas déjà le cas, vous avez intérêt à ouvrir une session `ssh` (ou `putty`)
|
Remarque: *Si ce n'est pas déjà le cas, vous avez intérêt à ouvrir une session
|
||||||
depuis une machine normale, afin de pouvoir copier/coller facilement les commandes et éditer
|
`ssh` (ou `putty`) depuis une machine normale, afin de pouvoir copier/coller
|
||||||
les fichiers de configuration.*
|
facilement les commandes et éditer les fichiers de configuration.*
|
||||||
|
|
||||||
- Ajouter le dépot scodoc: copier ce fichier <a href="/attachments/scodoc.list" download>scodoc.list</a> dans `/etc/apt/sources.list.d/`
|
- Ajouter le dépot scodoc: copier ce fichier <a href="/attachments/scodoc.list"
|
||||||
|
download>scodoc.list</a> dans `/etc/apt/sources.list.d/`
|
||||||
ou le créer contenant juste cette ligne:
|
ou le créer contenant juste cette ligne:
|
||||||
|
|
||||||
# contenu du fichier /etc/apt/sources.list.d/scodoc.list
|
# contenu du fichier /etc/apt/sources.list.d/scodoc.list
|
||||||
|
178
docs/MigrationScoDoc7a9.md
Normal file
178
docs/MigrationScoDoc7a9.md
Normal file
@ -0,0 +1,178 @@
|
|||||||
|
# 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 https://scodoc.org/GuideInstallDebian11
|
||||||
|
|
||||||
|
Vérifier que tout fonctionne avant d'aller plus loin.
|
||||||
|
|
||||||
|
### Étape 2: Sauvegarder les données du serveur ScoDoc 7
|
||||||
|
|
||||||
|
Se connecter 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
|
||||||
|
|
||||||
|
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). 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.
|
||||||
|
|
||||||
|
Acvant 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é).
|
||||||
|
|
||||||
|
### 3. Installer ScoDoc 9
|
||||||
|
|
||||||
|
Voir [le guide d'installation](GuideInstallDebian11), 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 utiisateurs devraient être accessibles.
|
||||||
|
L'utilisateur àdmin`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 !
|
||||||
|
|
||||||
|
|
@ -1,8 +1,9 @@
|
|||||||
|
|
||||||
# Mise à jour de ScoDoc
|
# Mise à jour de ScoDoc
|
||||||
|
|
||||||
**Les instructions ci-dessous concernent ScoDoc 7. A partir de ScoDoc 9, on
|
**Les instructions ci-dessous concernent ScoDoc 7. A partir de ScoDoc 9,
|
||||||
utilisera simplement `apt update && apt-get upgrade` (pas encore disponible !).
|
les mises à jour sont automatiques, et on peut en lancer une avec
|
||||||
|
la commande `apt update && apt-get upgrade`.
|
||||||
**
|
**
|
||||||
|
|
||||||
Il est recommandé de mettre à jour très régulièrement votre installation ScoDoc.
|
Il est recommandé de mettre à jour très régulièrement votre installation ScoDoc.
|
||||||
@ -47,14 +48,16 @@ plus bas sur cette page.
|
|||||||
## Note concernant les anciens systèmes (Debian 9)
|
## Note concernant les anciens systèmes (Debian 9)
|
||||||
|
|
||||||
En Debian version 9 (et version antérieures), ScoDoc n'utilisait pas `systemd`
|
En Debian version 9 (et version antérieures), ScoDoc n'utilisait pas `systemd`
|
||||||
et n'était pas automatiquement relancé lors de mises à jour de ceertains
|
et n'était pas automatiquement relancé lors de mises à jour de certains
|
||||||
logiciels, comme la base de données `postgresql`. Sur ces systèmes, il est
|
logiciels, comme la base de données `postgresql`. Sur ces systèmes, il est
|
||||||
conseillé de mettre à jour Debian avec le script
|
conseillé de mettre à jour Debian avec le script
|
||||||
`/opt/scodoc/Products/ScoDoc/config/upgrade.sh` afin d'éviter d'interrompre le
|
`/opt/scodoc/Products/ScoDoc/config/upgrade.sh` afin d'éviter d'interrompre le
|
||||||
service ScoDoc.
|
service ScoDoc.
|
||||||
|
|
||||||
|
|
||||||
## Mise à jour rapide de Debian 9 à Debian 10
|
## Mise à jour rapide de Debian 9 à Debian 10 (obsolète)
|
||||||
|
|
||||||
|
Obsolète, sauf si vous avez encore un serveur avec Debian 9...
|
||||||
|
|
||||||
Procédure raccourcie réservée aux personnes à l'aise avec linux. On met à jour
|
Procédure raccourcie réservée aux personnes à l'aise avec linux. On met à jour
|
||||||
Debian mais on réinstalle ScoDoc proprement.
|
Debian mais on réinstalle ScoDoc proprement.
|
||||||
@ -107,7 +110,8 @@ et **rebooter**.
|
|||||||
|
|
||||||
5. Supprimer postgresql 9.6
|
5. Supprimer postgresql 9.6
|
||||||
|
|
||||||
On enlève carrément l'ancien, le script d'installation de ScoDoc installera la version 11:
|
On enlève carrément l'ancien, le script d'installation de ScoDoc installera la
|
||||||
|
version 11:
|
||||||
|
|
||||||
apt-get --purge remove postgresql
|
apt-get --purge remove postgresql
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user