2010-07-19

OpenLDAP+PostgreSQL

Необходимо запустить OpenLDAP с базой на PostgreSQL.
Имеем установленный SLES11 SP1 и следующие версии пакетов:

postgresql-8.4.4-35.1
postgresql-contrib-8.4.4-35.1
postgresql-docs-8.4.4-35.1
postgresql-jdbc-8.1-63.16
postgresql-libs-8.4.4-35.1
postgresql-server-8.4.4-35.1
krb5-plugin-kdb-ldap-1.6.3-133.12
ldapsmb-1.34b-11.17.2
libldap-2_4-2-2.4.20-0.4.29
libldapcpp1-0.1.2-3.1.42
novell-ldapext-0.0.1-32.20
nss_ldap-262-11.16
openldap2-2.4.20-0.4.29
openldap2-client-2.4.20-0.4.29
pam_ldap-184-147.20
perl-ldap-0.37-1.19.3
perl-ldap-ssl-0.37-1.19.3
unixODBC-2.2.12-198.17
unixODBC-gui-qt-2.2.12-198.21



Начинаем с unixODBC.

/etc/unixODBC/odbc.ini :

[PostgreSQL]
Description = OpenLDAP -> PostgreSQL
Driver = PostgreSQL
Trace = No
Database = ldap
Servername = localhost
Username = ldap
Password = суперпупермегасекретныйпароль
Port = 5432
ReadOnly = No
RowVersioning = No
ShowSystemTables = No
ShowOidColumn = No
FakeOidIndex = No
ConnSettings =

/etc/unixODBC/odbcinst.ini :

[PostgreSQL]
Description = ODBC for PostgreSQL
Driver = /usr/lib/unixODBC/libodbcpsql.so
Setup = /usr/lib/unixODBC/libodbcpsqlS.so
FileUsage = 1

Теперь немного настраиваем PostgreSQL:

/var/lib/pgsql/data/pg_hba.conf :

local all all password
host all all 127.0.0.1/32 password
host all all 0.0.0.0/0 password

В /var/lib/pgsql/data/postgresql.conf устанавливаем:

listen_addresses = '*'

Далее предполагаем, что у нас есть исходники установленной версии OpenLDAP, и валяются они у нас в папке /u02/install/openldap2.

cd /u02/install/openldap2
tar -xvjf openldap-2.4.20.tar.bz2
mkdir /u02/pgdata/ldap -p
chown postgres:postgres /u02/pgdata/ -R
psql -U postgres postgres
create role ldap login password 'l';
create tablespace ldap owner ldap location '/u02/pgdata/ldap';
create database ldap with owner = ldap tablespace = ldap;
\c ldap ldap
\i openldap-2.4.20/servers/slapd/back-sql/rdbms_depend/pgsql/backsql_create.sql


Комментариев нет: