Menu

Installing DBIS

Mark R. Bannister

Installing DBIS

Pre-requisites

DBIS has been developed on OpenSUSE 12.1 but should work fine on all major versions of Linux. It has been tested on RHEL4, RHEL5, RHEL6 and Solaris 11, and should also work ok on FreeBSD. As the server is written in Python the platform limitations are actually derived from nss-pam-ldapd, which provides the NSS library. The NSS library is written in C, and therefore DBIS should compile and run ok on any platform supported by nss-pam-ldapd.

The server component requires Python 2.x (2.4 or later). It also requires the python-ldap module to be pre-installed. Although dbis-cachemgr should work with any reasonably modern version of python-ldap, there is a performance enhancement that is automatically enabled if you are using version 2.4.17 that will reduce the background load on the CPUs when there are pending LDAP search operations. If you can use version 2.4.17 or later it is recommended that you do. If you can't, earlier versions will work just fine too.

DBIS requires one or more LDAP servers to talk to. If you have more than one, it can load balance requests between them.

Installation

To install, download the latest version of DBIS, extract the archive and run:

$ ./configure
$ make
$ make check    # optional, run it if you want the tests
$ sudo make install

The configure script has additional options, run ./configure -h to see a list of those options.

By default, unless changed by the --prefix and --with-nss-prefix options, the installation files will be deployed in the locations detailed in the following table.

Path Description
/<libdir>/libnss_dbis.so.2 NSS library
/<libdir>/libdbis.so C library for DBIS clients
/usr/bin/dbis DBIS client tool
/usr/sbin/dbis-cachemgr DBIS server
/etc/dbis-cachemgr.conf DBIS server configuration file
/usr/share/man/man1/dbis.1 Man page for DBIS client tool
/usr/share/man/man3/dbis_*.3 Man pages for C API
/usr/share/man/man5/dbis-cachemgr.conf.5 Man page for DBIS server configuration file
/usr/share/man/man8/dbis-cachemgr.8 Man page for DBIS server
<python-site-packages>/dbis Python libraries to support DBIS server
<python-site-packages>/dbis/balance Python libraries used by DBIS server for load balancing of LDAP servers
<python-site-packages>/dbis/client Python API for DBIS clients
<python-site-packages>/dbis/nslcd Python libraries used by DBIS server to support the network protocol used by the NSS library
<python-site-packages>/dbis/daemon A bundled version of the python-daemon library used by the DBIS server
<python-site-packages>/pyloom Pyloom library, supporting a scalable multi-threaded TCP server implementation
<perl-sitelib>/DBIS/Client Perl API
/usr/include/dbis Header files for C API

Once the software is installed, you need to configure one or more LDAP servers with the DBIS schema and some DBIS data, configure /etc/dbis-cachemgr.conf with details of those LDAP servers, and finally configure /etc/nsswitch.conf to use dbis. This is all described in [Configuring DBIS].

Note that dbis-cachemgr does not come with a start-up script, so you will need to provide one if you need it to start at boot time. It can run as the root user, although for increased security it is recommended you create a user account (for example, called dbis) that the server will run as. If you are running the server as a non-root user, your start-up script will need to mkdir /var/run/dbis and set the ownership on that directory so that only the dbis user has write access to it, prior to launching dbis-cachemgr. Then when dbis-cachemgr is launched, use su to switch user and pass the -p /var/run/dbis/dbis-cachemgr.pid option to dbis-cachemgr which will relocate the PID file (as the dbis user will not have access to the /var/run directory).


Related

Wiki: Configuring DBIS
Wiki: DBIS Reference Manual
Wiki: Home
Wiki: Using DBIS

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.