99 lines
3.3 KiB
Plaintext
99 lines
3.3 KiB
Plaintext
=== Campus Condorcet - Proof Of Concept (POC) ===
|
|
Note de déploiement
|
|
|
|
* Le POC est constitué de 7 briques logicielles :
|
|
1. Fournisseur de service SAML2 (SP Django)
|
|
2. Fournisseur d'identité SAML2 (IdP Authentic2)
|
|
3. Système de traitement des formulaires (w.c.s.)
|
|
4. Connecteur annuaire LDAP (sous-application Passerelle)
|
|
5. Serveur HTTP (Apache)
|
|
6. Annuaire LDAP (OpenLDAP/slapd)
|
|
7. Serveur SMTP (exim4)
|
|
|
|
* Remarques concernant le déploiement de chacune des briques :
|
|
|
|
1. Fournisseur de service SAML2 :
|
|
- Le dépôt git contenant cette brique logicielle est récupérable à l'adresse
|
|
git.entrouvert.org/paul-synchro.git.
|
|
- L'instance de l'application, lancée en local, écoute sur le port 8008.
|
|
$ python manage.py runserver 8008
|
|
|
|
2. Fournisseur d'identité SAML2 :
|
|
- L'instance de l'application, lancée en local, écoute sur le port 8000.
|
|
$ python manage.py runserver
|
|
|
|
3. Système de traitement des formulaires:
|
|
- Instance d'URL wcs.example.com
|
|
- La configuration Apache adéquate doit être effectuée
|
|
|
|
4. Connecteur annuaire:
|
|
- Code en local pour l'instant, pas de merge dans le dépôt EO
|
|
|
|
5. Apache:
|
|
- Configuration de l'instance VirtualHost disponible en annexes
|
|
|
|
6. Annuaire LDAP :
|
|
- Utilisation d'un fichier de peuplement de l'annuaire écrit par Matthew Craig,
|
|
disponible à l'adresse :
|
|
http://mcraig.org/ldif/Example.ldif
|
|
-> Pas nécessaire dans l'absolu, seulement une définition minimale des
|
|
différentes unités organisationnelles est indispensable pour l'insertion des
|
|
entrées LDAP par le connecteur.
|
|
|
|
7. Serveur HTTP :
|
|
- La configuration de l'instance VirtualHost est disponible en annexes.
|
|
- Possibilité de faire correspondre hostname et nom du VirtualHost (cf fichier
|
|
/etc/hosts)
|
|
|
|
* Annexes :
|
|
|
|
- Procédure d'obtention du module Lasso, script getlasso.sh :
|
|
=================================================================
|
|
#!/bin/sh
|
|
|
|
# Get venv site-packages path
|
|
DSTDIR=`python -c 'from distutils.sysconfig import get_python_lib;
|
|
print(get_python_lib())'`
|
|
|
|
# Get not venv site-packages path
|
|
# Remove first path (assuming that is the venv path)
|
|
NONPATH=`echo $PATH | sed 's/^[^:]*://'`
|
|
SRCDIR=`PATH=$NONPATH python -c 'from distutils.sysconfig import
|
|
get_python_lib; print(get_python_lib())'`
|
|
|
|
# Clean up
|
|
rm -f $DSTDIR/lasso.*
|
|
rm -f $DSTDIR/_lasso.*
|
|
|
|
# Link
|
|
ln -sv $SRCDIR/lasso.py $DSTDIR
|
|
ln -sv $SRCDIR/_lasso.* $DSTDIR
|
|
|
|
exit 0
|
|
=================================================================
|
|
|
|
- Fichier de configuration /etc/apache2/vhost
|
|
=================================================================
|
|
<VirtualHost *>
|
|
ServerAdmin webmaster@locahost
|
|
ServerName www.example.com
|
|
DocumentRoot /usr/share/wcs/web/
|
|
|
|
SCGIMount / 127.0.0.1:3001
|
|
|
|
Alias /static/ /var/lib/wcs/collectstatic/
|
|
<LocationMatch "^/static">
|
|
SCGIHandler off
|
|
</LocationMatch>
|
|
|
|
Alias /themes/ /usr/share/wcs/themes/
|
|
RewriteEngine On
|
|
RewriteCond /usr/share/wcs/%{REQUEST_URI} !-f
|
|
RewriteCond /usr/share/wcs/%{REQUEST_URI} !-d
|
|
RewriteRule ^/themes/(.*)$ /var/lib/wcs/%{HTTP_HOST}/themes/$1
|
|
|
|
CustomLog /var/log/apache2/wcs-access.log combined
|
|
ErrorLog /var/log/apache2/wcs-error.log
|
|
</VirtualHost>
|
|
=================================================================
|