Il est nécessaire de mettre à jour très fréquemment votre installation ScoDoc.
# Mise à jour de ScoDoc 9
À partir de ScoDoc 9, les mises à jour sont automatiques. Au besoin, on peut en
lancer une à tout moment avec la commande
apt update && apt-get upgrade
# Mises à jour de ScoDoc 7
**Les instructions ci-dessous concernent ScoDoc 7 uniquement.**
Le système Linux doit être correctement maintenu (en particulier, les mises à
jour de sécurité de Debian doivent être appliquées quotidiennement).
ScoDoc est actuellement prévu pour fonctionner avec Linux Debian 10.
* Les (rares) mises à jour majeures du logiciel ScoDoc sont annoncées sur la
liste
[scodoc-annonces](https://listes.univ-paris13.fr/mailman/listinfo/scodoc-annonces).
* Les (fréquentes) mises à jour mineures (corrections de bugs, améliorations)
sont annoncées sur la liste
[scodoc-devel](https://listes.univ-paris13.fr/mailman/listinfo/scodoc-devel).
*Une mise à jour hebdomadaire (au moins) est recommandée*
Pour appliquer une mise à jour de ScoDoc, se connecter en tant que `root` sur le
serveur, puis faire:
cd /opt/scodoc/Products/ScoDoc/config
./upgrade.sh
La première fois, il faudra accepter un certificat cryptographique, répondre "p
(accept (p)ermanently)".
Si un message d'erreur apparaît à la fin de la mise à jour,
relancer `./upgrade.sh`.
La mise à jour entraine une déconnexion des utilisateurs (mais pas
de pertes de données !).
Note: cette procédure ne change pas de version majeure de ScoDoc, ni du système
Linux. Pour cela, voir [MigrationDonneesScoDoc](MigrationDonneesScoDoc.md)) ou
plus bas sur cette page.
## Note concernant les anciens systèmes (Debian 9)
En Debian version 9 (et version antérieures), ScoDoc n'utilisait pas `systemd`
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
conseillé de mettre à jour Debian avec le script
`/opt/scodoc/Products/ScoDoc/config/upgrade.sh` afin d'éviter d'interrompre le
service ScoDoc.
## 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
Debian mais on réinstalle ScoDoc proprement.
Vérifiez que vous avez assez d'espace disque disponible (`df -h`, au moins 3Go
libres sur `/` ou `/opt`).
0. Sauvegardez complètement votre système en lieu sûr. Si la procédure
ci-dessous échoue, reprenez la voie normale:
[MigrationDonneesScoDoc](MigrationDonneesScoDoc.md).
1. Mettre à jour votre ScoDoc:
cd /opt/scodoc/Products/ScoDoc/config
./upgrade.sh
2. Arrêter le service (en Debian 9 on utilisait *SysV-style init*, à partir de
Debian 10 ScoDoc utilise `systemd`):
/etc/init.d/scodoc stop
3. Sauvegarder les données et configurations ScoDoc:
cd /opt/scodoc/Products/ScoDoc/config
./save_scodoc_data.sh /opt/data-scodoc-deb9 # par exemple
4. Mettre à jour Debian: pour les détails voir
[https://www.debian.org/releases/stable/amd64/release-notes/ch-upgrading.html](https://www.debian.org/releases/stable/amd64/release-notes/ch-upgrading.html).
En résumé:
- éditer `/etc/apt/sources.list` et indiquer
```
deb http://deb.debian.org/debian buster main contrib
```
- puis:
```
apt-get remove firehol
apt update
apt-get upgrade
apt full-upgrade
apt autoremove
```
et **rebooter**.
5. Supprimer postgresql 9.6
On enlève carrément l'ancien, le script d'installation de ScoDoc installera la
version 11:
apt-get --purge remove postgresql
6. Réinstaller ScoDoc
Déplacer l'ancienne installation de ScoDoc (vous la supprimerez plus tard):
mv /opt/scodoc /opt/scodoc.deb9
Réinstaller un ScoDoc tout neuf, en suivant [GuideInstallDebianDix](GuideInstallDebianDix.md)
La plupart des composants de votre système seront déjà présents, donc répondre en général "non" aux questions du script d'installation.
S'arrêter avant l'initialisation des bases de données.
7. Restaurer la sauvegarde:
cd /opt/scodoc/Products/ScoDoc/config
./restore_scodoc_data.sh /opt/data-scodoc-deb9
Vérifiez et voilà.
- Faire un peu de ménage (supprimer `/opt/scodoc.deb9` quand vous êtes sûr de n'y avoir rien oublié), vérifiez les logs (`/opt/scodoc/log`).
- Vérifier que le nouveau système (et ses bases de données) est bien sauvegardé ([SauvegardesBases](SauvegardesBases.md)).