Run modes

web2ldap is designed to be very flexible. It can be installed in two different modes running persistent as a multi-threaded server process under Win32 and Unix platforms:

stand-alone
You can start web2ldap as stand-alone web server running on a specific address (default is fully-qualified hostname) and port (default 1760). You can serve some other static web content in that mode (e.g. the .css files).
mod_fastcgi
If you are running the Apache web server you might want to consider running web2ldap as multi-threaded FastCGIServer under mod_fastcgi.

Requirements

For running web2ldap 0.8.x+ you need at least:

Web server

Additional web server software depends on the running mode:
Running modeweb serverSSL support
FastCGI server Apache with Apache module mod_fastcgi and the Python module fcgi.py. Apache SSL or Apache with mod_ssl
stand-alone built-in requires module M2Crypto

Pre-compiled packages

There are some ready-to-use packages of the required software and web2ldap. Note that the requirements have changed since web2ldap 0.8.x!

Linux-Distributions

I'm currently not aware of Linux distributions that have packages matching the new requirements (Python 2.0 and recent python-ldap). So this section contains mostly historic information.

S.u.S.E.
Already has packages of OpenLDAP, Apache with mod_ssl and mod_fastcgi. You can also find contributed RPMs of Python 2.0 for S.u.S.E. Linux 7.0.
Red Hat
Debian
Potato includes various packages of Python, OpenLDAP and python-ldap for Python as well as ApacheSSL and Apache with mod_ssl. Unfortunately due to licensing problems I do not know of a Python 2.0 package.

FreeBSD

Oddbjorn Steffensen <oddbjorn@oddbjorn.bdc.no> maintains a FreeBSD port which you can directly retrieve via CVS from the FreeBSD archive.

Win32

Mauro Cicognini <mcicogni@siosistemi.it> contributed a Win32 build of python-ldap for Python 2.0.
You can download it here. You also need the Umich LDAP library for Windows.

Installing

Unix platform

  1. Install all required software on your system.
  2. Extract content of archive web2ldap-*.tar.gz to e.g. /usr/local. Regarding directory names under several Unix flavours: Your mileage may vary.
  3. Rename /usr/local/web2ldap-<version> to /usr/local/web2ldap.
  4. Choose the right script web2ldap.py for your running mode and adjust the path to the Python interpreter executable in the first line of the web2ldap.py script (see also python -h for usage of option -O and -OO for running with optimized bytecode generation).
    stand-alone
    [web2ldapdir]/sbin/web2ldap.py.
    mod_fastcgi
    [web2ldapdir]/fcgi/web2ldap.py should reside in a directory which has the right mod_fastcgi directives set for running it as a static FastCGI server.
    Assuming you extracted web2ldap to /usr/local/web2ldap you can configure it as FastCGI server with the following mod_fastcgi directives:
    ScriptAlias /web2ldap-fcgi/ "/usr/local/web2ldap/fcgi/"
    FastCgiServer /usr/local/web2ldap/fcgi/web2ldap.py
    <Directory /usr/local/web2ldap/fcgi>
    AddHandler fastcgi-script .py
    </Directory>
    	
    The URL for accessing this web2ldap FastCGI server would be

    http://hostname/web2ldap-fcgi/web2ldap.py

  5. Edit configuration modules under [web2ldapdir]/etc/web2ldap/web2ldapcnf/ which contain comments about every configuration parameter. See also the documentation (which is probably outdated most times ;-).
  6. Change current directory to the directory where you extracted web2ldap and invoke python [web2ldapdir]/sbin/compile.py or python -O [web2ldapdir]/sbin/compile.py for compiling all Python sources.
  7. For a quick start as stand-alone web gateway simply invoke the script [web2ldapdir]/sbin/web2ldap.py which outputs the start URL before detaching from console.

Win32 platform (stand-alone mode)

Windows users like it simple. ;-)

  1. Install all required software on your system.
  2. Unpack .tar.gz archive with e.g. recent version of Winzip.
  3. Double-click on [web2ldapdir]\sbin\web2ldap.py for starting web2ldap in stand-alone mode.