45 lines
1.2 KiB
Markdown
45 lines
1.2 KiB
Markdown
# CAS élèves ENS
|
|
|
|
Serveur d'authentification central basé sur
|
|
[django-cas-server](https://github.com/nitmir/django-cas-server), en Django.
|
|
|
|
## Installation
|
|
|
|
```bash
|
|
# Récupérer le code
|
|
git clone [ce dépôt]
|
|
cd cas_eleves
|
|
|
|
# Créer un virtualenv et installer les dépendances
|
|
virtualenv -p python3 venv
|
|
source venv/bin/activate
|
|
pip install -r requirements.txt
|
|
|
|
# Créer la configuration
|
|
cp cas_eleves/settings.X.py settings.py # où X est dev ou prod
|
|
$EDITOR cas_eleves/settings.py # et configurer les FIXME
|
|
|
|
# Préparer la base de données
|
|
./manage.py migrate
|
|
|
|
# Préparer les fichiers statiques
|
|
./manage.py collectstatic
|
|
```
|
|
|
|
À partir de là, on peut configurer un serveur WSGI (par exemple gunicorn) et un
|
|
reverse-proxy. Le site devrait alors fonctionner.
|
|
|
|
Il faut également configurer un cron, timer systemd ou autre mécanisme pour
|
|
exécuter régulièrement `manage.py clearsessions`, `manage.py cas_clean_tickets`
|
|
et `manage.py cas_clean_sessions`.
|
|
|
|
## Configuration
|
|
|
|
Il faudra également configurer un superutilisateur Django :
|
|
|
|
```
|
|
./manage.py createsuperuser
|
|
```
|
|
|
|
puis se connecter sur `/admin` pour ajouter au moins un "service pattern". Sans
|
|
ça, personne ne pourra utiliser le CAS.
|