Installation de ScoDoc sur Debian 10 (Buster)

Ce document décrit la procédure d'installation et de configuration de ScoDoc. Cette procédure doit être effectué sur la machine serveur avec un accès administrateur (root).

Si vous avez déjà une installation ScoDoc version 7 (en Debian 7, 8 ou 9), voir aussi MigrationDonneesScoDoc

ScoDoc est livré avec des scripts d'installation qui configurer presque automatiquement votre serveur (serveur web, base de données, etc): vous pouvez donc installer et configurer ScoDoc avec des connaissances réduites sur le système Linux.

Cette documentation est prévue pour installer ScoDoc sur un système Debian 10 (Buster, stable) s'exécutant sur une machine intel-like 64bits (architecture AMD64). Debian s'installe facilement en une quinzaine de minutes, sur une machine normale ou un serveur virtualisé. Il est très déconseillé de tenter l'installation sur une autre version, à moins de disposer de temps et de bonnes connaissances sur Linux et les paquetages Python.

Merci de me signaler tout problème (emmanuel.viennet@gmail.com)

  • Note 1: l'image du CD d'installation de Debian (amd64) peut se trouver ici: https://www.debian.org/distrib/netinst, choisir une version "petits CD" pour amd64 (Il est indispensable d'utiliser une version 64 bits ! )

  • Note 2: si quelqu'un produit, teste et documente une image Docker, merci de la partager (écrire à scodoc-devel).

/!\ Important: La procédure d'installation décrite ci-dessous suppose que ScoDoc va s'exécuter sur un serveur dédié. Pour faire des tests, utilisez un serveur virtuel (comme VirtualBox ou VMWare. L'installation ci-dessous va en effet modifier de nombreux paramètres de votre système linux (serveur web, firewall, serveur SQL, messagerie, ...).

Préalable: configurer un serveur linux

Le serveur devrait être accessible depuis Internet. Seul le port 443 (https) est utilisé par ScoDoc. Il est recommandé que le serveur puisse envoyer du mail (smtp).

Nous recommandons d'effectuer une installation standard de Debian par le réseau (netinst). Durant l'installation de Debian, lorsqu'il demande "logiciels à installer", tout décocher sauf "Serveur SSH" et "Utilitaires standard du système". Le script d'installation de ScoDoc se chargera ensuite d'installer tous les éléments nécessaires (serveur web, messagerie, etc.).

InstallDebian6-1.png

Points à vérifier avant d'installer ScoDoc

Checklist minimale de votre système Linux Debian:

  1. Connexion à Internet: le réseau doit être accessible. En effet, le script d'installation va installer des paquetages du système Debian puis télécharger la dernière mise à jour du logiciel ScoDoc (à partir du serveur Subversion).
  2. Vérifiez la connectivité, par exemple:
ping www.univ-paris13.fr
(quitter avec ctrl-c)
cd /tmp
wget --no-check-certificate https://www-lipn.univ-paris13.fr/projects/scodoc
# doit créer un fichier nomme "scodoc" contenant du code HTML
  1. Nom DNS: le serveur doit avoir un nom ("serveur.exemple.fr") connu dans le DNS (local ou public). Pour des tests, vous pouvez vous passer de DNS, mais dans ce cas le nom de votre serveur sera son adresse IP (eg 192.168.0.10) et il ne sera peut être pas accessible de l'extérieur.
  2. Vérifiez que votre serveur est accessible depuis une autre machine de votre réseau (voire d'Internet): par exemple "ping serveur.exemple.fr".
  3. Date et heure: vérifier que les dates et heure sont correctes, même après reboot. L'utilisation d'un serveur de temps (ntp) est recommandée (aptitude install ntp), et éventuellement dpkg-reconfigure tzdata).
  4. Cette liste est très incomplète... et n'oubliez pas: avant de passer en production, mettez en place des sauvegardes sérieuses !

Configuration si utilisation d'un proxy

Si votre serveur doit passer par un proxy pour accéder à Internet: 1. Configurer wget: placer ceci dans /root/.bashrc (par exemple)

export http_proxy=http://my-proxy-server.com:my-proxy-port/
export https_proxy=$http_proxy
  1. Configurer le client svn dans /root/.subversion/servers dé-commenter et compléter les lignes:
[global]
http-proxy-host = my-proxy-server
http-proxy-port = my-proxy-port

(attention bien enlever l'espace du début de ligne).

Installation de ScoDoc

  1. Récupérer et ouvrir le logiciel (en tant que root):
    sudo su # si necessaire pour passer root
    cd /opt
    wget http://www-l2ti.univ-paris13.fr/~viennet/ScoDoc/builds/scodoc-1851.tgz
    tar xfz scodoc-1851.tgz

Cette archive contient ScoDoc, Zope et quelques outils tiers. /!\ vous pouvez installer ailleurs que dans /opt, mais il faudra alors éditer plusieurs scripts (non recommandé).

/!\ Les commandes ci-dessous sont à exécuter dans un terminal ouvert en tant que root sur le serveur. Vous pouvez utiliser su (ou sudo su) pour devenir root).

  1. Mettre à jour les sources. Va télécharger les sources à jour, et le script d'installation:
    cd /opt/scodoc/Products/ScoDoc
    apt install subversion
    svn up
  1. Configurer le logiciel. Attention: durant cette étape, de nombreux paquets et fichiers de configuration de votre système linux vont être modifiés. Si vous préférez effectuer vous même l'installation (vous êtes développeur ou avez des besoins particuliers), lisez et adaptez le script.

/!\ je répète, le script install_debian10.sh va reconfigurer beaucoup de choses sur votre serveur. Il suppose que la machine vient d'être installée et en gros qu'elle va servir principalement pour ScoDoc.

Toujours en tant qu'utilisateur root:

    cd /opt/scodoc/Products/ScoDoc/config
    ./install_debian10.sh

Répondez oui (Y) à toutes les questions, sauf, si vous avez une bonne raison de faire autrement. En cas d'échec, ce script peut être relancé (il écrasera l'ancienne configuration).

Dans cette étape, sont installés et configurés automatiquement:

  • serveur web Apache (et https)
  • parefeu réseau (optionnel, basé sur ufw)
  • messagerie pour envois messages (postfix) (optionnel mais très vivement recommandé)
  • installation de divers logiciels utilisés par ScoDoc (par apt-get)
  • script de lancement automatique de ScoDoc (service systemd).

(dans certains cas, l'installateur vous posera des questions sur votre configuration).

  1. Initialiser la base de données utilisateurs (qui sera commune à tous les départements). En tant que root:
    cd /opt/scodoc/Products/ScoDoc/config
    ./create_user_db.sh
  1. Mettre à jour le logiciel (c'est absolument nécessaire, la version préinstallée étant incomplète): En tant que root,
    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.

Si vous migrez les données d'une installation existante, vous pouvez arrêter ici et appliquer la procédure MigrationDonneesScoDoc

  1. Initialiser la base de données pour un département (vous pourrez à tout moment utiliser la même commande pour ajouter d'autres départements):
    ./create_dept.sh -n DEPT

Il faut alors saisir le nom abrégé du département: ce nom doit être un mot, sans ponctuation (GEII, RT, Info, ...). Il apparaîtra dans l'URL du site correspondant.

  1. Lancer ScoDoc:
    systemctl restart scodoc

et voila !

Visiter https://votre.site.fr/ pour achever la configuration et utiliser le logiciel: voir la page GuideConfig

En cas de problème

Ne pas hésiter à me contacter ou à écrire sur la liste notes (voir Listes de diffusion).

  • Problèmes d'envoi de courrier électronique (mail): voir ProblemesMail

Nota: sur certains réseaux, l'autoconfiguration IPv6 pose problème (par exemple: bloquage des envois de mails). Au besoin, il est possible de désactiver IPv6 (voir par exemple ici).

Ensuite...