forked from ScoDoc/DocScoDoc
239 lines
9.6 KiB
Markdown
239 lines
9.6 KiB
Markdown
|
|
# Installation de ScoDoc 9 sur Debian 11 (Bullseye)
|
|
Ce document décrit la procédure d'installation et de configuration de ScoDoc 9.
|
|
Cette procédure doit être effectué sur la machine serveur avec un accès
|
|
administrateur (root).
|
|
|
|
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 version 9 sur un système
|
|
[Debian](http://www.debian.org) 11 (Bullseye, stable) s'exécutant sur une
|
|
machine intel-like **64bits** (architecture **AMD64**). Debian s'installe
|
|
facilement en cinq minutes, sur une machine normale ou un serveur
|
|
virtualisé. Il est **vivement déconseillé** de tenter l'installation sur une
|
|
autre version.
|
|
|
|
Si vous mettez à jour un serveur existant (ScoDoc 7 sur Debian 10), voir [la page
|
|
sur les migrations](https://scodoc.org/MigrationScoDoc7a9/#2-upgrade-debian).
|
|
|
|
Merci de signaler tout problème (emmanuel.viennet@gmail.com
|
|
ou [scodoc-devel](https://listes.univ-paris13.fr/mailman/listinfo/scodoc-devel) ).
|
|
|
|
|
|
- Note 1: l'image du CD d'installation de Debian (amd64) peut se trouver ici:
|
|
[https://www.debian.org/distrib/netinst](https://www.debian.org/distrib/netinst.md),
|
|
choisir la version "petits CD" pour **amd64** (*Il est indispensable
|
|
d'utiliser une version 64 bits ! *)
|
|
|
|
- Note 2: une version Docker serait utile: avis aux volontaires.
|
|
|
|
|
|
<img src="/img/alert.png" style="vertical-align: bottom; margin:0 0 0 0;" alt="/!\" /> 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, ...).
|
|
|
|
|
|
## 1) Préalable: configurer un serveur linux
|
|
Le serveur devrait être accessible depuis Internet.
|
|
|
|
### Configuration matérielle
|
|
|
|
- taille disque: prévoir au moins 20Go sur la partition où sera scodoc (en
|
|
général `/`).
|
|
|
|
- mémoire: prévoir au moins 8Go de RAM, et plutôt 12 ou 16.
|
|
|
|
### Informations sur les flux réseau
|
|
Le serveur est fréquemment installé sur un réseau protégé ou sur un VPN.
|
|
|
|
- le trafic entrant est sur le port 443 (le trafic http/80 est redirigé
|
|
vers le https).
|
|
|
|
- le serveur doit pouvoir envoyer du mail (serveur postfix en local, à
|
|
configurer pour utiliser un relais smtp ou envoyer directement, selon
|
|
votre politique);
|
|
|
|
- Les serveurs de mise à jour de Debian doivent être accessibles (en http,
|
|
voir `/etc/apt/sources.list`);
|
|
|
|
- Les serveurs `scodoc.org` et `scodoc.iutv.univ-paris13.fr` doivent
|
|
être accessibles (80 et 443).
|
|
|
|
### Installation Linux Debian
|
|
Nous recommandons d'effectuer une installation standard de Debian par le réseau (netinst),
|
|
et d'utiliser l'install en mode texte, très simple et rapide.
|
|
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.).
|
|
|
|
*Veiller à sélectionner une locale `UTF-8` par défaut.*
|
|
|
|
![InstallDebian6-1.png](screens/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).
|
|
1. 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
|
|
```
|
|
3. 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.
|
|
4. Mail: vérifiez que le serveur peut envoyer des e-mail:
|
|
`mail votre@adresse.fr`, puis entrer un message terminé par `ctrl-d`: si vous ne
|
|
recevez pas le message après quelques minutes, vérifiez votre configuration
|
|
(et le log `/var/log/mail.log`). Un serveur ScoDoc qui n'envoie pas de mail
|
|
ne peut pas vérifier ceux des utilisateurs, qui à leur tour ne pourront pas
|
|
changer leurs mots de passe (bien d'autres fonctions dépendent des mails).
|
|
Au besoin, revoir la configuration avec `dpkg-reconfigure postfix`.
|
|
|
|
1. Vérifiez que votre serveur est accessible depuis une autre machine de votre
|
|
réseau (voire d'Internet): par exemple `ping serveur.exemple.fr`.
|
|
1. 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 (
|
|
`apt-get install ntp`), et éventuellement `dpkg-reconfigure tzdata`).
|
|
1. Cette liste est 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 accès à Internet passe par un proxy, l'indiquer au moment de
|
|
l'installation Debian. Il est possible qu'il vous faille configurer d'autres
|
|
éléments, voir par exemple
|
|
[ce post sur Stack Overflow](
|
|
https://stackoverflow.com/questions/9445489/performing-http-requests-with-curl-using-proxy).
|
|
|
|
#### Note sur l'install dans un container LXC
|
|
Si vous installez dans un container LXC, attention: la config par défaut de
|
|
Redis (un gestionnaire de cache utilisé par ScoDoc) n'est pas compatible, en
|
|
raison d'un problème de système de fichier en lecture seule. Installer redis
|
|
avant ScoDoc, comme suit:
|
|
|
|
apt-get install redis
|
|
|
|
Puis créer un dossier /etc/systemd/system/redis.service.d contenant le fichier
|
|
`redis.conf` avec les lignes suivantes :
|
|
|
|
[Service]
|
|
PrivateTmp=no
|
|
ProtectSystem=false
|
|
PrivateDevices=false
|
|
ProtectHome=no
|
|
ProtectControlGroups=no
|
|
ProtectKernelTunables=no
|
|
ProtectKernelModules=no
|
|
ReadWritePaths=
|
|
|
|
Ensuite
|
|
|
|
systemctl daemon-reload
|
|
systemctl start redis
|
|
|
|
... et poursuivez l'installation comme ci-dessous.
|
|
|
|
## 2) Installation de ScoDoc sur Debian
|
|
|
|
### 2.1) Charger le logiciel
|
|
|
|
<img src="/img/alert.png" style="vertical-align: bottom; margin:0 0 0 0;"
|
|
alt="/!\" /> 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**).
|
|
|
|
Remarque: *Si ce n'est pas déjà le cas, vous avez intérêt à ouvrir une session
|
|
`ssh` (ou `putty`) depuis une machine normale, afin de pouvoir copier/coller
|
|
facilement les commandes et éditer les fichiers de configuration.*
|
|
|
|
- Ajouter le dépot scodoc: copier ce fichier <a href="/attachments/scodoc.list"
|
|
download>scodoc.list</a> dans `/etc/apt/sources.list.d/`
|
|
ou le créer contenant juste cette ligne:
|
|
|
|
# contenu du fichier /etc/apt/sources.list.d/scodoc.list
|
|
deb http://scodoc.org/repo bullseye main
|
|
|
|
- Installer la clé: en `root` sur le serveur, lancer
|
|
|
|
apt-get -y install gnupg
|
|
wget -O - https://scodoc.org/misc/scodoc-repo.gpg.key | apt-key add -
|
|
|
|
- Installer le logiciel:
|
|
|
|
apt-get update
|
|
apt-get install nginx
|
|
|
|
S'assurer que le logiciel `nginx`s'est bien installé. En cas de problème se
|
|
référer à sa doc (par exemple, si
|
|
[votre serveur ne supporte pas
|
|
IPv6](https://techglimpse.com/nginx-error-address-family-solution/)).
|
|
|
|
Ensuite:
|
|
|
|
apt-get install scodoc9
|
|
|
|
Notez que l'installation du paquet `scodoc9` va créer automatiquement un
|
|
utilisateur `scodoc` qui sera utilisé par le serveur.
|
|
|
|
- Attribuer un mot de passe à l'utilisateur `scodoc`:
|
|
|
|
passwd scodoc
|
|
|
|
|
|
### 2.2) Configuration des logiciels et des données
|
|
|
|
Lancer le script suivant en tant que `root` sur votre serveur nouvellement installé:
|
|
|
|
/opt/scodoc/tools/configure-scodoc9.sh
|
|
|
|
Vous devrez répondre à quelques questions et saisir le mot de passe que vous
|
|
attribuerez à l'utilisateur `admin`.
|
|
|
|
(note: pour en savoir plus sur ce script, [voir l'explication](GuideInstallDebian11Advanced.md))
|
|
|
|
### 3) **Lancer ScoDoc**:
|
|
|
|
sudo su # se connecter en root
|
|
systemctl restart nginx
|
|
systemctl restart scodoc9
|
|
|
|
et voila !
|
|
|
|
Visiter `https://monscodoc.mondomaine.fr/` pour achever la configuration et
|
|
utiliser le logiciel: voir la page [GuideConfig](GuideConfig.md).
|
|
|
|
## Importation des données ScoDoc 7
|
|
|
|
Après installation, vous pouvez migrer toutes vos données (comptes utilisateurs,
|
|
étudiants, formations, notes, photos et fichiers divers) depuis une
|
|
installation ScoDoc 7, ou même en place.
|
|
|
|
Voir [la procédure de migration](MigrationScoDoc7a9.md).
|
|
|
|
## En cas de problème
|
|
Ne pas hésiter à me contacter ou à écrire sur la liste notes (voir [Listes de
|
|
diffusion](ListesDeDiffusion.md)).
|
|
|
|
* Problèmes d'envoi de courrier électronique (mail): voir [ProblemesMail](ProblemesMail.md)
|
|
|
|
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](https://wiki.debian-fr.xyz/D%C3%A9sactiver_l%27IPv6)).
|
|
|
|
|
|
## Ensuite...
|
|
|
|
* Mettez en place des [sauvegardes](SauvegardesBases.md)
|
|
|
|
* Abonnez-vous au moins à la liste d'annonces: voir [Listes de diffusion](ListesDeDiffusion.md)
|