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.
Si vous souhaitez installer ScoDoc 9.6 sans partir d'un serveur 9.5, voir la page d'installation
Tout compris, la mise à jour d'un serveur typique prend environ 20 à 30 minutes et ne demande aucune compétence particulière, autre que de suivre scrupuleusement les instructions ci-dessous, sans oublier d'étape.
Upgrade Debian 11 vers Debian 12¶
La documentation officielle est là: 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. Vérifiez que
vous avez assez d'espace disque disponible (par exemple avec la commande df -h
).
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¶
apt-get update
apt-get upgrade
apt-get full-upgrade
Modifier les sources de mise à jour¶
Si vous savez le faire, éditer le fichier /etc/apt/sources.list
(par exemple
avec la commande nano /etc/apt/sources.list
) et remplacer le mot bullseye
par
bookworm
. Vous pouvez aussi utiliser sed
sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list
Bien vérifier le résultat. Sinon, il peut être plus simple de reprendre ce contenu:
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¶
/bin/rm /etc/apt/sources.list.d/scodoc.list
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 (lorsqu'un texte long s'affiche, taper 'q' puis "entrée"...).
apt-get upgrade
#
# Puis:
apt-get full-upgrade
Un petit nettoyage:
apt-get autoremove
Et un redémarrage
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 n'a pas redémarré:
systemctl status scodoc9
et si besoin le stopper avec :
systemctl stop scodoc9
Problème avec proxmox¶
Si votre installation utilise des containers LXC/proxmox: on nous a signalé un problème de compatibilité proxmox / Debian 12, qui bloque le service REDIS (voire empêche le démarrage du container). Il semblerait que proxmox 7 ne soit pas compatible avec Debian 12. Faites des essais avant de migrer ScoDoc.
Au cas où ce lien peut servir: Debian 12 et proxmox
Merci de vos retours si vous avez des informations sur ce problème.
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
Toujours dans un shell root, copier/coller les commandes suivantes:
# Arrêter et mettre à jour
service postgresql stop
pg_dropcluster --stop 15 main
pg_upgradecluster -m upgrade 13 main
systemctl start postgresql
# Vérifier l'etat du service
systemctl status postgresql
Puis
/bin/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
Soyez attentif et vérifier que les commandes précédentes se sont exécutées sans erreur.
Passage de ScoDoc 9.5 (ou 9.4) à 9.6¶
Modification des sources de paquets Debian¶
- Supprimer l'ancien fichier:
/bin/rm -f /etc/apt/sources.list.d/scodoc*
- Ajouter le dépot scodoc: copier le fichier scodoc.list dans
/etc/apt/sources.list.d/
à l'aide de la commande
wget --directory-prefix=/etc/apt/sources.list.d/ https://scodoc.org/attachments/scodoc.list
ou si vous préférez l'éditer pour qu'il contienne juste cette ligne:
# contenu du fichier /etc/apt/sources.list.d/scodoc.list
deb http://scodoc.org/deb/bookworm bookworm main
Installation de la clé¶
L'ancienne clé crypto qui authentifie scodoc est toujours valide, mais il faut l'installer différemment. Comme root, lancer:
apt-key export BBDA4CF7 | gpg --dearmour -o /etc/apt/trusted.gpg.d/scodoc.gpg
Mise à jour du paquet scodoc9¶
apt update && apt upgrade
devrait installer scodoc9.6.x
(cette première install est un peu longue, il
faut en effet charger et configurer de nombreux modules python).
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:
systemctl stop scodoc9 # le service DOIT etre stoppé !
/bin/su scodoc
#
cd /opt/scodoc
source venv/bin/activate
flask migrate-abs-to-assiduites
Pour plus de détails et paramétrages (plages horaires, ...), voir la documentation sur la migration des absences.
Le traitement est assez long et peut prendre plusieurs minutes, suivant le nombre d'absences et la vitesse de votre serveur.
Démarrage du service¶
Comme d'habitude, en tant que root
: (faire exit
si vous êtes resté dans le
shell scodoc précédent):
systemctl start scodoc9