DocScoDoc/docs/MisesAJour.md

4.7 KiB

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.

  • Les (fréquentes) mises à jour mineures (corrections de bugs, améliorations) sont annoncées sur la liste 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) 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).

  1. Sauvegardez complètement votre système en lieu sûr. Si la procédure ci-dessous échoue, reprenez la voie normale: MigrationDonneesScoDoc.

  2. Mettre à jour votre ScoDoc:

    cd /opt/scodoc/Products/ScoDoc/config
    ./upgrade.sh
    
  3. Arrêter le service (en Debian 9 on utilisait SysV-style init, à partir de Debian 10 ScoDoc utilise systemd):

    /etc/init.d/scodoc stop
    
  4. Sauvegarder les données et configurations ScoDoc:

    cd /opt/scodoc/Products/ScoDoc/config
    ./save_scodoc_data.sh /opt/data-scodoc-deb9 # par exemple
    
  5. Mettre à jour Debian: pour les détails voir 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.

  1. 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
  1. 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

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.

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