Projet

Général

Profil

Télécharger (2,89 ko) Statistiques
| Branche: | Tag: | Révision:

root / README.rst @ master

1
===============================================
2
Mandaye - modular reverse proxy to authenticate
3
===============================================
4

    
5
Mandaye is a modular rewriting reverse proxy. Its main use is to add external
6
authentication systems to legacy application, i.e. SSO.
7
It dispatches HTTP requests to your applications and allow you to transform and
8
filter the request and the response.
9
Mandaye allows to couple your authentication provider with incompatible web
10
applications.
11

    
12
Copying
13
-------
14

    
15
This software copyrighted by Entr'ouvert and is licensed under the GNU AGPL
16
version 3 for distribution.
17

    
18
Features
19
--------
20

    
21
 * Mappers / dispatching::
22
   With Mandaye you can define your own mapping files. This allows you to call your own filters
23
   on the right HTTP requests. See the config part for more details.
24
 * Filters::
25
   You can define your own filters with Mandaye. This filter have access to the WSGI environment and
26
   could modify the HTTP requests and / or responses.
27
 * Local authentification::
28
   Mandaye provide a sql local authentification but you can also implement your own
29
   local authentification.
30
 * Distant authentification::
31
   At the moment Mandaye only support SAML 2.0 with password replay but we will provide
32
   SAML 2.0, OAuth and CAS support.
33

    
34

    
35
Installation
36
============
37

    
38
Dependencies
39
------------
40

    
41
The dependencies are in define into requirements.txt
42

    
43
Quick installation
44
------------------
45

    
46
Install at least Python >=2.6 and pip in your system.
47
For example with Debian or a Debian based distribution::
48

    
49
    sudo apt-get install python python-pip
50

    
51
Then install virtualenv ::
52

    
53
   pip install virtualenv
54

    
55
Create your virtualenv activate it::
56

    
57
    virtualenv mandaye
58
    source mandaye/bin/activate
59
    pip install -U pip
60

    
61
Install mandaye::
62

    
63
    $ tar xfvz mandaye-VERSION.tar.gz
64
    $ cd mandaye-VERSION
65
    $ pip install -r requirements.txt
66
    $ python setup.py install
67

    
68
If you want to develop use this command line::
69

    
70
    $ python setup.py develop
71

    
72

    
73
Quick Start
74
-----------
75

    
76
First step is to create a mandaye project::
77

    
78
    $ mandaye-admin.py --newproject PROJECT_NAME
79
    $ cd PROJECT_NAME
80

    
81
Install your Mandaye project::
82

    
83
    $ python setup.py install
84
    $ ./manager.py --createdb
85

    
86
Launch mandaye server::
87

    
88
    $ ./server.py
89

    
90
Use your own Mandaye configuration file::
91

    
92
    $ cp PROJECT_NAME/default-config.ini PROJECT_NAME/config.ini
93
    $ ./server.py --config=config.ini
94

    
95
server.py use gunicorn and gunicorn options (please read http://gunicorn.org/configure.html)
96

    
97
You could also use gunicorn.conf.py-sample (in the mandaye files)::
98

    
99
 $ ./server.py --config=config.ini -c PATH_TO_THE_FILE/gunicorn.conf.py
100

    
101
or::
102

    
103
 $ ./server.py --config=config.ini -c PATH_TO_THE_FILE/gunicorn.conf.py -b 0.0.0.0:4242
104

    
105
Upgrade Mandaye
106
---------------
107

    
108
You need to upgrade the update the repository and upgrade database::
109

    
110
 ~/new_mandaye $ python setup.py install
111
 ~/new_mandaye $ alembic upgrade head
112

    
113
Configuration
114
=============
115
TODO
(4-4/6)