Programmer's Friend

Beluga LDAP Server V0.8

  1. Introduction
  2. Installation
  3. Quick Start
  4. Release Notes
  5. Planned Features
  6. Limitations
  7. License
  8. Feedback
  9. Download Page

Introduction

The motivation for creating this in Java implemented LDAP server was

Generally this project was also inspired by the HQSLDB which is a very nice, easy-to-use SQL database.
The basic concept behind Beluga is that it is fully based on LDIF files. It is not using a database for its data.

Beluga is also completely unaware of directory schema. It just reads in the defined LDIF files. That's the directory content, whatever the objectclasses and attributes are.

It was also clear from the very beginning that Beluga will never support all LDAP features as specified in RFC-2251. However, the basic functionality, which probably covers over 90% of real life usage scenarios, is fully implemented. That is:

However, all changes to the data will be lost after the server has been stopped. Currently changes are not persisted!

Installation

Quick Start

To start the LDAP server use the generated script startserver.bat/startserver.sh.
To stop the LDAP server use the script shutdown.bat/shutdown.sh.

After starting the LDAP server open an LDAP browser like LDAP Browser/Editor by Jarek Gawor or JXplorer.

Specify dc=beluga as Base DN and do an anonymous connect to the server on localhost:389. Alternatively you can use uid=admin,ou=people,dc=beluga with password admin as bind user.
Now you should be able to browse the sample data.

To change the port (default is 389) of the LDAP server use start parameter -p.
Example: startserver -p 9301

To run the server on a different set of LDIF files you must create a directory.xml file for example in a sub-folder mydata. Put the LDIF files with the data whereever you want. Just refer to them correctly from within the directory.xml file. See the sample directory.xml below. It can be used as template. Just modify the suffix entry and the data-source URLs.

Then start the server with: startserver -d mydata/directory.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE directory SYSTEM "directory.dtd">
<directory>
  <configuration>
    <container-rule>objectclass{organization,organizationalUnit,dcObject,domain}</container-rule>
  </configuration>
  <meta-data>
    <suffix>dc=beluga</suffix>
  </meta-data>
  <data>
    <data-source url="sample/sample_dit.ldif" type="LDIF" />
    <data-source url="sample/sample_data.ldif" type="LDIF" />
  </data>
</directory>

Release Notes

Current version of Beluga is 0.8

For details about supported features and bugfixes see release-notes.txt.

Planned Features

The following list presents some of the features that are planned for future versions.

Limitations

For a clear understanding and to avoid wrong expectations here is a brief list of features Beluga is currently not supporting. Furthermore there is no intention to support them in future either.

License

This tool is currently available under the terms of the Common Public License 1.0. It grants the right to freely use and share this tool.

Feedback

Please send all bug reports, comments and suggestions to .