
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)". 

<img src="/img/alert.png" style="vertical-align: bottom; margin:0 0 0 0;"
alt="/!\" /> Si un message d'erreur apparaît à la fin de la mise à jour,
relancer `./upgrade.sh`. 

<img src="/img/alert.png" style="vertical-align: bottom; margin:0 0 0 0;"
alt="/!\" /> 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)).


