Installing

A brief description on how to install it

Note that this installation description is always for the released version you can download here. It likely won't apply to older releases.

See also separate install receipts for specific platforms:

Run modes

web2ldap is designed to be very flexible. It can be installed in 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).
FastCGI
If you are running a web server with support for FastCGI you might want to consider running web2ldap as multi-threaded FastCGIServer.

Prerequisites

For running web2ldap you need several modules. You can check them with script sbin/checkinst.py.

PackageRequiredDescription
Python 2.6+ (2.7+ recommended, Python 3.x not supported!) mandatory The programming language needed to run.
PyWebLib 1.3.8+ mandatory Module package for web application programming.
python-ldap 2.4.0+ (2.4.7+ recommended) mandatory A wrapper module for accessing the OpenLDAP libs from Python and other LDAP-related modules.
OpenLDAP 2.4.11+ client libs mandatory Required to build python-ldap.
pyasn1 0.0.13a and pyasn1_modules mandatory Two module packages for processing ASN.1 data directly.
PyDNS (2.3.3+ recommended) optional If you want to make use of SRV RR's to automatically locate your LDAP server for a given dc-style DN you have to install this DNS module.
Python Imaging Library (PIL) optional For automatically converting image data to required format (e.g. JPEGImage syntax).
pyExcelerator optional For Excel data export.

Web server

Additional web server software depends on the running mode:
Running mode Start script Web server Additional software needed SSL support
stand-alone sbin/web2ldap.py Python standard lib - currently not supported
CGI-BIN (cgi-fcgi wrapper) cgi-bin/web2ldap.fcgi Any web server with CGI support FastCGI Dev Kit and Python module fcgi.py. Apache SSL or Apache with mod_ssl
FastCGI server fcgi/web2ldap.py Apache mod_fastcgi or mod_fcgid and Python module fcgi.py. Apache SSL or Apache with mod_ssl

Installing

  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 /opt/web2ldap-<version> to /opt/web2ldap.
  4. Edit configuration modules under [web2ldapdir]/etc/web2ldap/web2ldapcnf/ which contain comments about every configuration parameter. See also the documentation.
  5. Optional step to speed start-up time when starting web2ldap as user which does not have write access to web2ldap directory:
    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.
  6. Optional step when running under Unix-like systems:
    Choose the right start script for your running mode (see table above) 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).
  7. Configure and run WWW server:
    stand-alone
    Unix/Linux:
    [web2ldapdir]/sbin/web2ldap.py
    For a quick start as stand-alone web gateway simply invoke the script at the command-line which outputs the start URL before detaching from console.
    Windows:
    Simply double-click the file [web2ldapdir]/sbin/web2ldap.py.
    Any HTTP server with CGI-FCGI wrapper
    Install cgi-bin/web2ldap.fcgi to CGI-BIN directory of web server.
    Apache with mod_fastcgi
    See configuration directives in file etc/httpd/sample-mod_fastcgi.conf.
    Apache with mod_fcgid
    See configuration directives in file etc/httpd/sample-mod_fcgid.conf.
    Apache with mod_scgi
    See configuration directives in file etc/httpd/sample-mod_scgi.conf.