161 lines
4.2 KiB
Markdown
161 lines
4.2 KiB
Markdown
|
# Procédure pour la mise à jour vers Debian 12 et ScoDoc 9.6
|
||
|
|
||
|
Cette page documente la mise à jour d'un serveur ScoDoc 9.4 ou 9.5 tournant sous
|
||
|
Linux Debian 11 vers la version suivante: ScoDoc 9.6 sous Debian 12.
|
||
|
|
||
|
On commence par mettre à jour normalement le système Debian, puis on change la
|
||
|
version de la base de données postgresql puis on met à jour ScoDoc.
|
||
|
|
||
|
## Upgrade Debian 11 vers Debian 12
|
||
|
|
||
|
La documentation officielle est là:
|
||
|
[DebianUpgrade](https://wiki.debian.org/DebianUpgrade). Elle couvre tous les
|
||
|
cas, mais en général notre serveur ScoDoc est plus simple: résumé ci-dessous
|
||
|
|
||
|
### Sauvegarder
|
||
|
|
||
|
Avant tout, sauvegarder vos données et l'ensemble de votre serveur.
|
||
|
|
||
|
Prévenez les utilisateurs et arrêtez le service: `systemctl stop scodoc9`
|
||
|
|
||
|
### Mettre à jour Debian
|
||
|
|
||
|
Dans la suite, on suppose que vous avez un shell root. Sinon, utilisez `sudo`.
|
||
|
|
||
|
#### Vérifier qu'on est à jour
|
||
|
|
||
|
```bash
|
||
|
apt-get update
|
||
|
apt-get upgrade
|
||
|
apt-get full-upgrade
|
||
|
```
|
||
|
|
||
|
#### Modifier les sources de mise à jour
|
||
|
|
||
|
Éditer le fichier `/etc/apt/sources.list` (par exemple avec la commande
|
||
|
`nano /etc/apt/sources.list`) et remplacer le mot `bullseye`par
|
||
|
`bookworm`.
|
||
|
|
||
|
Il peut être plus simple de reprendre ce contenu:
|
||
|
|
||
|
```txt
|
||
|
deb http://deb.debian.org/debian/ bookworm main contrib non-free non-free-firmware
|
||
|
deb-src http://deb.debian.org/debian/ bookworm main contrib non-free non-free-firmware
|
||
|
|
||
|
deb http://security.debian.org/debian-security bookworm-security main
|
||
|
deb-src http://security.debian.org/debian-security bookworm-security main
|
||
|
|
||
|
deb http://deb.debian.org/debian/ bookworm-updates main
|
||
|
deb-src http://deb.debian.org/debian/ bookworm-updates main
|
||
|
```
|
||
|
|
||
|
#### Mettre à jour
|
||
|
|
||
|
```bash
|
||
|
apt-get clean
|
||
|
apt-get update
|
||
|
```
|
||
|
|
||
|
Les deux commandes suivantes sont longues, surtout ne pas les interrompre.
|
||
|
Répondre "oui" (ou la réponse par défaut) aux diverses question, ou dire que
|
||
|
vous conservez les versions locales modifiées de vos fichiers de configuration.
|
||
|
|
||
|
```bash
|
||
|
apt-get upgrade
|
||
|
#
|
||
|
|
||
|
# Puis:
|
||
|
apt-get full-upgrade
|
||
|
```
|
||
|
|
||
|
Un petit nettoyage:
|
||
|
|
||
|
```bash
|
||
|
apt-get autoremove
|
||
|
```
|
||
|
|
||
|
Et un redémarrage
|
||
|
|
||
|
```bash
|
||
|
shutdown -r now
|
||
|
```
|
||
|
|
||
|
Après reconnexion, vous avez un serveur Debian 12. Reste à s'occuper de la base
|
||
|
de données et de ScoDoc. D'abord, s'assurer que le service na pas redémarré:
|
||
|
|
||
|
```bash
|
||
|
systemctl stop scodoc9
|
||
|
``````
|
||
|
|
||
|
## Upgrade Postgresql
|
||
|
|
||
|
Debian 12 est livré avec Postgresql 15, tandis que l'installation précédente
|
||
|
tournait sous Postgresql 13. Il est donc nécessaire de migrer les données en
|
||
|
base vers la nouvelle version.
|
||
|
Procédure inspirée de
|
||
|
[ce tuto en français](https://wiki.fiat-tux.fr/books/administration-syst%C3%A8mes/page/migration-d%E2%80%99une-version-majeure-de-postgresql-%C3%A0-une-autre]
|
||
|
|
||
|
Toujours dans un shell root, copier/coller les commandes suivantes:
|
||
|
|
||
|
```bash
|
||
|
service postgresql stop
|
||
|
pg_dropcluster --stop 15 main
|
||
|
pg_upgradecluster -m upgrade 13 main
|
||
|
systemctl start postgresql
|
||
|
|
||
|
su -c "/usr/lib/postgresql/15/bin/vacuumdb --all --analyze-in-stages" postgres
|
||
|
|
||
|
pg_dropcluster 13 main --stop
|
||
|
apt-get autoremove --purge postgresql-13 postgresql-client-13
|
||
|
```
|
||
|
|
||
|
## Passage de ScoDoc 9.5 (ou 9.4) à 9.6
|
||
|
|
||
|
### Modification des sources de paquets Debian
|
||
|
|
||
|
- Supprimer l'ancien fichier:
|
||
|
|
||
|
```bash
|
||
|
rm /etc/apt/sources.list.d/scodoc*
|
||
|
```
|
||
|
|
||
|
- Ajouter le dépot scodoc: copier ce fichier <a href="/attachments/scodoc.list"
|
||
|
download>scodoc.list</a> dans `/etc/apt/sources.list.d/`
|
||
|
ou bien l'éditer pour qu'il contienne juste cette ligne:
|
||
|
|
||
|
```text
|
||
|
# contenu du fichier /etc/apt/sources.list.d/scodoc.list
|
||
|
deb http://scodoc.org/deb/bookworm bookworm main
|
||
|
```
|
||
|
|
||
|
### Mise à jour du paquet scodoc9
|
||
|
|
||
|
```bash
|
||
|
apt update && apt upgrade
|
||
|
```
|
||
|
|
||
|
devrait installer `scodoc9.6.x`.
|
||
|
|
||
|
### Migration des absences vers les assiduités
|
||
|
|
||
|
Le nouveau module de gestion des assiduité (absences/présences/justificatifs)
|
||
|
permet d'importer les anciennes "absences" (et justificatifs). Pour cela, lancer
|
||
|
les commandes suivantes
|
||
|
|
||
|
```bash
|
||
|
su scodoc
|
||
|
cd /opt/scodoc
|
||
|
source venv/bin/activate
|
||
|
flask migrate-abs-to-assiduites
|
||
|
```
|
||
|
|
||
|
Le traitement est assez long et peut prendre plusieurs dizaines de minutes,
|
||
|
suivant le nombre d'absences et la vitesse de votre serveur.
|
||
|
|
||
|
### Démarrage du service
|
||
|
|
||
|
Comme d'habitude, en tant que `root`:
|
||
|
```bash
|
||
|
systemctl start scodoc9
|
||
|
```
|