1.9
[auf_django_saml.git] / doc / deploiement.rst
1 Déploiement
2 ***********
3
4 Lorsqu'on parle de déploiement, c'est dans le sens où on désire brancher
5 son site Web avec Apache, Mellon et le serveur d'identités.
6
7 Cette opération peut se faire localement, sous réserve que notre application
8 soit déclarée sur le serveur d'autentification.
9
10 Prérequis
11 =========
12
13 Installer Apache >=2
14 ++++++++++++++++++++
15
16
17 Installer Mellon
18 ++++++++++++++++
19
20 .. warning::
21
22     TODO : Demander à JC pour le dépôt AUF
23
24 .. warning::
25
26     La version installée doit respecter ces versions:
27     
28     * mod_mellon >= 0.4
29     
30     * liblasso3 > 2.2.2
31
32 .. Note::
33
34    Configurer Apache pour qu'il charge ce nouveau module dans le fichier
35    */etc/apache/httpd.conf*
36
37    LoadModule auth_mellon_module /usr/lib/apache2/modules/mod_auth_mellon.so
38
39
40 Créer un nouveau host
41 +++++++++++++++++++++
42
43 Ajout d'un host dans le fichier *etc/hosts*, exemple ici: **olarcheveque**
44
45
46 Créer les fichiers pour communiquer avec le serveur d'identités
47 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
48
49 **metadata.xml**::
50
51     wget --no-check-certificate https://id.auf.org/idp/saml2/metadata -O /srv/id.auf.org-metadata.xml
52
53 **clefs**::
54
55     openssl req -new -x509 -keyout /srv/olarcheveque-mellon-key.pem -out /srv/olarcheveque-mellon-cert.pem -nodes -days 3650 -newkey rsa:2048 -subj "/CN=olarcheveque" 
56
57 Créer un vhost *olarcheveque*
58 +++++++++++++++++++++++++++++
59
60 dans /etc/site-available/olarcheveque:
61
62 ::
63
64   <VirtualHost *:80>
65           ServerName olarcheveque
66           ErrorLog /var/log/apache2/olarcheveque-error.log
67           LogLevel warn
68           CustomLog /var/log/apache2/olarcheveque-access.log combined
69           Alias /static /net/nfs-authnss.b.ca.auf/home/olivier.larcheveque/Projets/olarcheveque/sitestatic
70           WSGIScriptAliasMatch ^/(?!mellon) /net/nfs-authnss.b.ca.auf/home/olivier.larcheveque/Projets/olarcheveque/bin/django.wsgi
71   
72           <Location />
73                   AuthType "Mellon" 
74                   MellonEnable "info" 
75                   MellonUser "mail" 
76                   MellonOrganizationName "olarcheveque" 
77                   MellonOrganizationDisplayName "fr" "olarcheveque" 
78                   MellonOrganizationURL "http://www.auf.org" 
79                   MellonSPPrivateKeyFile /srv/olarcheveque-mellon-key.pem
80                   MellonSPCertFile /srv/olarcheveque-mellon-cert.pem
81                   MellonIdPMetadataFile /srv/id.auf.org-metadata.xml
82           </Location>
83   
84   </VirtualHost>
85
86 .. note::
87
88   Ne pas oublier d'activer le vhost avec **a2ensite**.
89
90 Déboggage
91 =========
92
93 .. versionadded:: 1.1
94
95     Les variables transférées par mellon peuvent être loggées
96     pour fin d'examen.
97
98 Exemple de configuration de LOGGING dans *project/conf.py*::
99
100     import os
101     from django.conf.global_settings import LOGGING as DEFAULT_LOGGING
102
103     PROJECT_ROOT = os.path.dirname(__file__)
104     SITE_ROOT = os.path.dirname(PROJECT_ROOT)
105     
106     LOGGING = DEFAULT_LOGGING
107
108     LOGGING['handlers']['file'] = {
109         'level':'DEBUG',
110         'class':'logging.FileHandler',
111         'filename': os.path.join(SITE_ROOT, 'django.log'),
112     }
113
114     LOGGING['loggers']['SAML'] = {
115         'handlers': ['file', ],
116         'level': 'DEBUG',
117         'propogate': False
118         }
119