1.6 KiB
1.6 KiB
CAS élèves ENS
Serveur d'authentification central basé sur django-cas-server, en Django.
Installation
# 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
pip install gunicorn # Serveur WSGI
pip install psycopg2 # Si base de données postgresql
# 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
# Préparer les traductions
./manage.py compilemessages
À partir de là, on peut configurer un serveur WSGI (par exemple gunicorn) et un
reverse-proxy (par exemple nginx). Le reverse-proxy doit servir directement
/static
depuis $(pwd)/public/static
, par exemple (nginx) avec
location /static {
root /path/to/this/directory/public;
access_log off;
add_header Cache-Control "public";
expires 7d;
}
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.