diff --git a/doc/configuration-pfsense.md b/doc/configuration-pfsense.md index ccff6b1..800688b 100644 --- a/doc/configuration-pfsense.md +++ b/doc/configuration-pfsense.md @@ -1,5 +1,5 @@ -% UAuth: Portail captif dans le Cloud % Configuration pfSense +% UAuth: Portail captif dans le Cloud % Entr'ouvert SCOP -- http://www.entrouvert.com Ce document spécifie les étapes de configuration d'un portail captif pfSense diff --git a/doc/customize.md b/doc/customize.md new file mode 100644 index 0000000..00cc2a0 --- /dev/null +++ b/doc/customize.md @@ -0,0 +1,106 @@ +% Usage et personnalisation +% UAuth: Portail captif dans le Cloud +% Entr'ouvert SCOP -- http://www.entrouvert.com + +Thème +========= + +Il est possible de personnaliser la page d'accueil d'une organisation en +surchageant le templates et en ajoutant des feuilles des styles, images, etc. + +Ces fichiers peuvent être chargés dans le compartiment *Theme* de l'interface +de gestion: + +\ ![images/u-auth_management.png](images/u-auth_management.png) + +Templates +--------- +Seule la page d'accueil d'une organisation est personnalisable. + +Cela peut être fait en chargeant un fichier template *base.html*. C'est un +fichier doit contenir des balises +Django(https://docs.djangoproject.com/en/dev/topics/templates/) définissant la +structure personnalisée de la page. + +Il doit impérativement définir le block: + +```html +{% block content %} +{% endblock %} +``` + +utilisé pour afficher la liste des fournisseurs d'identité et la formulaire de +connexion invité. + +Feuilles de styles et les statics +--------------------------------- + +Des feuilles de style peuvent être chargées par le fichier *base.html* défini +précedemment de façon suivante: + +```html +{% load staticfiles %} +... + + ... + + ... + +``` + +Afin que le fichier de style personnalisé *eo.css* soit chargé, il doit être +préfixé par le *slug* de l'organisation dont le thème est modifié. + +Si l'organisation est *psl*, le static doit être défini de façon suivante: + +```html +{% static "psl/eo.css" %} +``` + +Les images peuvent être chargées au même endroit que les feuilles de style et utilisées de la même façon dans le template: +```html + +``` + +Un exemple de thème est fourni dans le paquet debian sous */usr/share/u-auth/theme-example*, dont le rendu est le suivant: + +\ ![images/eo_theme.png](images/eo_theme.png) + + +Federations +=========== + +La liste des fournisseurs d'identité auprès desquels les utilisateurs peuvent +être authentifiés peut être définie en chargeant des fichiers .xml des +fédérations dans l'onglet *Fédérations* sur l'interface de gestion. + +Les fournisseurs d'identité présents dans ces fichiers seront affichés sur la +page d'accueil. + + +Comptes locaux +============== + +Des comptes locaux peuvent être définis dans l'interface de gestion afin de +permettre l'authentification sans utiliser un fournisseur d'identité. + +Les comptes peuvent être créés un par un ou plusieurs à la fois. + +\ ![images/create_users.png](images/create_users.png) + +Le champ *mot de passe* peut être omis lors de la création du compte, il sera +auto-généré. Il peut ensuite être visualisé en cliquant sur le nom de l'utilisateur: + +\ ![images/local_user_details.png](images/local_user_details.png) + +Un compte utilisateur peut être desactivé à tout moment, soit une date +d'expiration peut être définie. + +\ ![images/edit_local_account.png](images/edit_local_account.png) + + +Importer des comptes à partir d'un fichier +------------------------------------------ +Les comptes locaux peuvent être également importé à partir d'un fichier *.csv* + +\ ![images/import_users.png](images/import_users.png) diff --git a/doc/images/create_users.png b/doc/images/create_users.png new file mode 100644 index 0000000..8107fb0 Binary files /dev/null and b/doc/images/create_users.png differ diff --git a/doc/images/edit_local_account.png b/doc/images/edit_local_account.png new file mode 100644 index 0000000..7ff8f9d Binary files /dev/null and b/doc/images/edit_local_account.png differ diff --git a/doc/images/eo_theme.png b/doc/images/eo_theme.png new file mode 100644 index 0000000..ecf60e8 Binary files /dev/null and b/doc/images/eo_theme.png differ diff --git a/doc/images/import_users.png b/doc/images/import_users.png new file mode 100644 index 0000000..26e0546 Binary files /dev/null and b/doc/images/import_users.png differ diff --git a/doc/images/ldap_config.png b/doc/images/ldap_config.png new file mode 100644 index 0000000..ea881be Binary files /dev/null and b/doc/images/ldap_config.png differ diff --git a/doc/images/local_user_details.png b/doc/images/local_user_details.png new file mode 100644 index 0000000..54576fd Binary files /dev/null and b/doc/images/local_user_details.png differ diff --git a/doc/images/u-auth_management.png b/doc/images/u-auth_management.png new file mode 100644 index 0000000..abd1e30 Binary files /dev/null and b/doc/images/u-auth_management.png differ diff --git a/doc/images/uauth_install.png b/doc/images/uauth_install.png new file mode 100644 index 0000000..f82771a Binary files /dev/null and b/doc/images/uauth_install.png differ diff --git a/doc/index.html.build b/doc/index.html.build index ac556a5..da20bc8 100644 --- a/doc/index.html.build +++ b/doc/index.html.build @@ -12,11 +12,11 @@ cat << EOT

-Entr'ouvert Gestion d'identité SUPANN — Documentation

+Entr'ouvert U-Auth — Documentation
EOT -for MD in configuration-pfsense.md +for MD in install.md customize.md configuration-pfsense.md do F=`basename $MD .md` TITLE=`head -1 $F.md | sed 's/.*-- //'` diff --git a/doc/install.md b/doc/install.md new file mode 100644 index 0000000..449bc32 --- /dev/null +++ b/doc/install.md @@ -0,0 +1,134 @@ +% Installation et configuration +% UAuth: Portail captif dans le Cloud +% Entr'ouvert SCOP -- http://www.entrouvert.com + +Installation +============ + +U-Auth est fourni sous forme d'un paquet debian téléchargeable. + +Pour l'installer il est nécessaire de rajouter le depot d'Entrouvert dans votre +gestionnaire de paquets: +
+deb http://deb.entrouvert.org/ wheezy-testing main
+
+ainsi que rajouter la clé GPG: +
+wget -O - http://deb.entrouvert.org/entrouvert.gpg | sudo apt-key add -
+
+ +Installer le paquet: +
+sudo apt-get install u-auth
+
+\ ![images/uauth_install.png](images/uauth_install.png) + +les paquets *freeradius* ainsi que *slapd* seront installés. + +Lors de la premiere installation u-auth demande la configuration de l'annuaire LDAP: + +\ ![images/ldap_config.png](images/ldap_config.png) + +une base ainsi qu'un compte administrateur seront crées. + +La configuration du serveur radius sera faite automatiquement afin qu'il puisse communiquer avec le serveur ldap. + +Configuration du serveur web +============================ + +Le paquet fourni un exemple de fichier de configuration pour le serveur web +nginx qui se trouve dans */usr/share/doc/u-auth/nginx-example.conf*. Ce fichier +peut être utilisé en modifiant le nom du serveur ainsi que les certificats: + +
+server_name u-auth.example.org
+...
+ssl_certificate         /etc/ssl/u-auth.example.org.pem;
+ssl_certificate_key     /etc/ssl/u-auth.example.org.key;
+
+ +Parametrage de l'application +============================ + +La configuration de l'application se trouve dans le fichier +*/etc/u-auth/settings.py*. + +Ce fichier contient, au format du langage Python, les parametres de connexion à +la base des données, nécessaire pour stocker les comptes locaux, les +identifiants de connexion à l'annuaire LDAP. + +Base des données +---------------- + +Le système de gestion des bases des données par défaut est sqlite. + +```python +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.sqlite3', + 'NAME': os.path.join(VAR_DIR, 'db.sqlite3'), + } +} +``` + +Un autre SGBD peut-être configuré en changeant les valeurs de *ENGINE* et +*NAME* ainsi qu'en rajoutant les paramètres de connexion: + +```python +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.postgresql_psycopg2', + 'NAME': 'db_name', + 'USER': 'db_user', + 'PASSWORD': 'db_user_password', + 'HOST': '' + } +} +``` + +Annuaire LDAP +------------- + +Afin que l'application puisse communiquer avec l'annuaire LDAP et écrire les +données utilisateur, un compte ayant le droit d'écriture dans l'arbre utilisé +par le serveur radius doit être défini. Par exemple: +```python +LDAP_CONF = { + 'url': 'ldap://localhost', + 'bind_dn': 'uid=admin,ou=people,dc=entrouvert,dc=org', + 'options': {}, + 'bind_passwd': '[mot de passe défini lors du parametrage du serveur ldap]', + 'dn': '[dn defini lors du parametrage du serveur ldap]' +} +``` + +#### Important!!! +Après la manipulation du fichier */etc/u-auth/settings.py* l'application doit être redémarrée: +
+sudo service u-auth restart
+
+ + +Outils de gestion des serveurs freeradius et slapd +-------------------------------------------------- + +Des outils de configuration et re-initialisation des serveurs freeradius et +slapd sont fournis dans l'application: + +* reset-slapd +* setup-slapd +* setup-radius + +Ils peuvent être executés avec la commande */usr/lib/u-auth/u-auth* suivie du nom de l'outil. +Par exemple: + +``` +/usr/lib/u-auth/u-auth reset-slapd +``` + +La page d'aide de l'outil est affichée en préfixant son nom par *help*: +``` +/usr/lib/u-auth/u-auth help setup-slapd +``` + +