Literati Information Technology, LLCNetwork, Web & eSecurity Solutions
About Literati
NetworkWebeSecurity
Products Support Contact
(no title)

WebLDAP

Web based Contact Manager using LDAP and PHP

What This Is

WebLDAP is a web interface to an LDAP server storing whitepages information (aka contact manager, aka address book). WebLDAP uses PHP and HTML files delivered by a webserver to interact with an LDAP Server. WebLDAP was created using great OpenSource software such as PHP, OpenLDAP, and the Apache Web Server. Other client programs, such as Netscape Communicator's Address Book, can also see the information. This was the primary reason I wanted to use LDAP. But since the Netscape Communicator Address Book didn't have the other fields I wanted, WebLDAP was written.

To see some screenshots of WebLDAP, check out the presentation given at the 1999 WVU Computing and Technology Fair: Creating a Web Based Contact Manager using Open Source Software.

Features

  • Add records
  • Remove records
  • Edit records
  • Search for a record(s) using various fields
  • Export the records to an ASCII file
  • View the information from a web browser

 

Current Status

WebLDAP is currently being used at a couple locations. But, I'm not calling it a "1.0" release since I think there are some rough edges as this was my first real exposure to PHP and with working with LDAP. While WebLDAP is in use, I have not tested it very thouroughly with the PHP 3.0.13, nor OpenLDAP 1.2.6 (the latest releases I have). I don't expect major problems though. I believe the code as is, is usable, with a little tweaking to make it work on a particular server. I have not done anything with PHP 4.0 yet. (Haven't had the time and I'm having some troubles compiling it on my LinuxPPC machine.)

So let's start with a 0.01 release.

Requirements

  • A web server that can use PHP, The Apache WebServer is used during development.
  • PHP
  • An LDAP server. OpenLDAP is used during development.
  • A web browser. I have only used Netscape Communicator for Mac and Windows 95/98 during development.
  • Oh, and some patience to understand my code. :)

I would think any web server using PHP, and any LDAP server that can be used with PHP would also work. However, during development and testing, no other servers beside Apache and OpenLDAP have been used.

 

Download

You can download the WebLDAP tar-gzip file here: webldap-0.01.tar.gz, filesize: 45856 bytes.

Installation

Before trying WebLDAP, make sure your web server, PHP, and LDAP server are working properly. (Refer to the documentation/websites for PHP and your LDAP server for more information.). Otherwise WebLDAP won't work.

You'll need to untar/ungzip the archive, which will create a directory with the code files and README file. You can locate the files wherever you like, but your webserver must have permissions to access them.

To configure WebLDAP, you will need to edit files in the "custom" directory. The code should be commented enough for easy configuring (I hope). Some of the customizing is tedious. Due to the fact that each field name from the LDAP server is codede into each file, and in no way dynamically determined from the LDAP server, if that's even possible. (Which probably is I just don't know how.)

Load the index.html page and see if it works.

About the Code

This was my first real use of PHP and LDAP. I hope there are enough comments and that they are useful. I tried to create a specific set of files, in the 'custom' directory, that need to be edited in order to use WebLDAP on different servers. Hopefully I didn't miss anything. The rest of the code can be changed to your liking if you wish. One thing I really liked about PHP was the 'required' function. I use it quite often. I also did what error checking I could. The LDAP calls were all based off the examples from the PHP documentation.

What do we do from here?

I will continue to work on WebLDAP for my client's use, my own company's use, and possibly future clients. But if anyone else wants to contribute some code, they are more then welcome.(see below) I've never really worked on an OpenSource project, but wouldn't mind seeing more people benefit from WebLDAP if they can.

The company I work for has its own webserver and strangely enough I'm the administrator. So as long as my company's around, WebLDAP will have a home. If there's enough interest, we can even start a group to work on WebLDAP. I can also setup my servers Majordomo for an email list.

Improvement Ideas

WebLDAP was my first project using PHP and LDAP. There's a LOT I don't know about PHP and LDAP, I'm sure there are several things that can be improved. A few ideas I have are:

  • An important one - Better, easier way to customize WebLDAP.
  • A way to import records.
  • Easier way to determine fields to use, add fields.
  • Better documentation on what WebLDAP can do, how to use it, etc.
  • Be sure WebLDAP works thru a SSL connection. (I have the RedHat Secure Web Server running just haven't tried it yet).

I will be trying to update WebLDAP for my company's own internal use and for my clients. I can't gurantee how often though. But if you have anything to contribute, please do! (see below)

History

  • 1999: WebLDAP was originally written for a client of Literati Information Technology, LLC, and then presented at the 1999 WVU Academic Computing Fair as an exmaple on how to use LDAP and PHP to create a web application. The presentation was posted on the Literati web site. After several requests about whether the code would be released, it was then cleaned up a little and made to be an open source project.
  • June 2000: I'm finally getting off my lazy butt and getting this out.
    Initial posting of web pages/php code: Download

 

Contributors

 

License, Copyright

WebLDAP is © Copyright 1999-2000 Robert Burton, rburton@literati.com. Any contributions will be, of course, copyright to the authors.

WebLDAP is distributed under the GPL (GNU General Public License) Version 2. If you have anything to contribute please email me (see below).

I'm going to come clean and admit I haven't completely read the GPL yet. But I do know there are some things that still need to be done to completely comply with the GLP, such as copyright statements in all the source code files. Right now though I don't have time to do this, I'm leaving the country for a few weeks (as of June 10, 2000), but this compliance with the GPL is a top priority. I'll take a copy of the GPL with me, it'll give me something to read on the plane :)

By using this software, you understand and agree that this software is provided "as is" without warranty of any kind. In no event shall the author be liable for any consequential, incidental, or special damages whatsoever (including, without limitation, damages for loss of critical data, loss of profits, interruption of business and the like) arising out of the use or inability to use this software.

Basically, if something goes wrong, I and anyone else who contributes to WebLDAP are not taking the fall. But we will try to help if we can.

 

Comments

If you have any comments about WebLDAP, about it's code, usefullness, or this site, feel free to email me, Bob Burton.

Related Links
Network Solutions
Web Solutions
eSecurity Solutions

 

AboutNetworkWebeSecurityProductsSupportContact