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](http://www.debian.org) 11 (Bullseye, 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 **vivement déconseillé** de tenter l'installation sur une autre version.
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.
<imgsrc="/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.
### 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).
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.).
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).
# 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.
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 (`aptitude 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 https://stackoverflow.com/questions/9445489/performing-http-requests-with-curl-using-proxy
## 2) Installation de ScoDoc sur Debian
### 2.1) Charger le logiciel
<imgsrc="/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**).
- Ajouter le dépot scodoc: copier ce fichier <ahref="/attachments/scodoc.list"download>scodoc.list</a> dans `/etc/apt/sources.list.d/`
- Installer la clé: en `root` sur le serveur, lancer
Notez que l'installation du paquet `scodoc9` va créer automatiquement un utilisateur `scodoc` qui sera utilisé par le serveur.
### 2.2) Configuration des logiciels annexes
1. Activer le firewall (optionnel, recommandé)
ufw default deny incoming
ufw default allow outgoing
ufw allow ssh
ufw allow https
yes | ufw enable
2. ScoDoc utilise le serveur Web nginx. Installer les certificats SSL
nécessaires pour https. C'est indispensable sur un serveur en production. Sur un serveur de test, pour faire des essais, vous pouvez utiliser des certificats auto-signés. Procéder ainsi:
Visiter `https://votre.site.fr/` pour achever la configuration et utiliser le logiciel: voir la page [GuideConfig](GuideConfig.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...
* Appliquez fréquemment les [mises à jour](MisesAJour.md)
* Mettez en place des [sauvegardes](SauvegardesBases.md)
* Abonnez vous au moins à la liste d'annonces: voir [Listes de diffusion](ListesDeDiffusion.md)