Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: OpenLDAP & PostgreSQL , не осилил ...  (Прочитано 3726 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн RooGi

  • Автор темы
  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
OpenLDAP & PostgreSQL , не осилил ...
« : 23 Ноября 2006, 10:04:10 »
Всем доброе время суток , вот такас проблемка , поставил openldap сервер , решил прикрутить к нему PgSQL , операционка ubuntu 6.06. Естественно работает через odbc драйвер , тоесть не работает :). Чтобы не вознекало недомолвок объясню последовательность и шаги которые с проделал.
Установил odbc драйвер и драйвер для postgresql: sudo apt-get install unixodbc  odbc-postgresql
Установил pgsql: sudo apt-get install postgresql-8.1
Установил openldap: sudo apt-get install slapd
Создал конфигурационные файлы для odbc:
cat /etc/odbc.ini
[ODBC Data Sources]
PgSQL = PostgreSQL

[PgSQL]
Driver = /usr/lib/odbc/psqlodbc.so
Servername = localhost
DataBase = pg_sql
Port = 5432
UserName =
Password =

[ODBC]
InstallDir = /usr/lib/odbc
cat /etc/odbcinst.ini
[PostgreSQL]
Description = psqlODBC for PostgreSQL
Driver = /usr/lib/odbc/psqlodbc.so
#Setup = /usr/local/lib/libodbcpsqlS.so
FileUsage = 1
CommLog = 1
Debug = 1
Изменил в файле конфигурации postgresql: /etc/postgresql/8.1/main/pg_hba.conf
выглядет как:
local   all         all                               md5
host    all         all         127.0.0.1/32          md5
запустил sql: /etc/init.d/postgresql-8.1 start
создал пользователя test в sql:su -c /bin/sh postgres, createuser --no-createdb --no-adduser --password test (пароль secret), базу: createdb pg_sql
Создал таблицы скриптами поставлющиесс с исходниками ldapa:
psql pg_sql  < /tmp/backsql_create.sql
psql -d pg_sql < /tmp/testdb_create.sql
psql -d pg_sql < /tmp/testdb_metadata.sql
psql -d pg_sql < /tmp/testdb_data.sql
Дал гранты test'у на pg_sql:
psql -d pg_sql -c "GRANT ALL ON ldap_attr_mappings,ldap_entries,ldap_entry_objclasses,ldap_oc_mappings,ldap_referrals TO test;"
psql -d pg_sql -c "GRANT ALL ON ldap_attr_mappings_id_seq,ldap_entries_id_seq,ldap_oc_mappings_id_seq TO test;"
psql -d pg_sql -c "GRANT ALL ON authors_docs,documents,institutes,persons,phones TO test;"
psql -d pg_sql -c "GRANT ALL ON documents_id_seq,institutes_id_seq,persons_id_seq,phones_id_seq TO test;"
Команда #isql -v PgSQL проходит успешно, при условии что в odbc.ini UserName и Password
указан пользователь sql test:secret:
roogi@ws-102-01:~$ isql -v PgSQL
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL>
Далее редактирую конфиг ldapa:
cat /etc/slapd.conf
# Global Directives:

# Schema and objectClass definitions
include         /etc/ldap/schema/core.schema
include         /etc/ldap/schema/cosine.schema
include         /etc/ldap/schema/nis.schema
include         /etc/ldap/schema/inetorgperson.schema

pidfile         /var/run/slapd/slapd.pid
argsfile        /var/run/slapd/slapd.args

# Read slapd.conf(5) for possible values
loglevel        2048

# Where the dynamically loaded modules are stored
modulepath      /usr/lib/ldap
moduleload      back_sql

#######################################################################
access to *
        by users read
        by self read
        by anonymous auth
#######################################################################
database        sql
suffix  "o=sql,c=RU"
rootdn  "cn=root,o=sql,c=RU"
dbhost localhost
dbname  PgSQL
dbuser test
dbpasswd {MD5}Xr4ilOzQ4PCOq3aQ0qbuaQ==
rootpw test
# Where the database file are physically stored for database #1
#directory       "/var/lib/ldap"
#index           objectClass eq
insentry_query  "insert into ldap_entries (id,dn,oc_map_id,parent,keyval) values ((select max(id)+1 from ldap_entries),?,?,?,?)"
upper_func      "upper"
strcast_func    "text"
concat_pattern  "?||?"
has_ldapinfo_dn_ru      no
пасс для sql пользователя test генерю через:
roogi@ws-102-01:~$ slappasswd -h {MD5} -s secret
{MD5}Xr4ilOzQ4PCOq3aQ0qbuaQ==
В принципе пробовал и чистым текстом вписывас dbpasswd secret, не помогло :(
Вот и подошел к главному,
при попытке запустить /etc/init.d/slapd start
выдает следующее:
tail /var/log/syslog
Nov 22 17:31:32 localhost slapd[21712]: @(#) $OpenLDAP: slapd 2.2.26 (Nov 20 2006 22:36:34) $ ^Ibuildd@terranova:/build/buildd/openldap2.2-2.2.26/debian/build/servers/slapd
Nov 22 17:31:33 localhost slapd[21713]: backend_startup: bi_db_open failed! (1)
Nov 22 17:31:33 localhost slapd[21713]: slapd stopped.
Nov 22 17:31:33 localhost slapd[21713]: connections_destroy: nothing to destroy.
/var/log/postgresql/main_log
FATAL:  password authentication failed for user "test"
FATAL:  password authentication failed for user "test"
odbc log
DSN info: DSN='PgSQL',server='localhost',port='5432',dbase='pg_sql',user='',passwd='xxxxx'
          onlyread='',protocol='',showoid='',fakeoidindex='',showsystable=''
          conn_settings='',conn_encoding='OTHER'
          translation_dll='',translation_option=''
conn = 135502072, PGAPI_Connect(DSN='PgSQL', UID='test', PWD='xxxxx')
Global Options: Version='08.01.0102', fetch=100, socket=0, unknown_sizes=254, max_varchar_size=8190, max_longvarchar_size=135502200
                disable_optimizer=1, ksqo=1, unique_index=1, use_declarefetch=0
                text_as_longvarchar=1, unknowns_as_longvarchar=0, bools_as_char=1 NAMEDATALEN=64
                extra_systable_prefixes='dd_;', conn_settings='' conn_encoding='OTHER'
CONN ERROR: func=PGAPI_Connect, desc='Error on CC_connect', errnum=113, errmsg='FATAL:  password authentication failed for user "test"
'
            ------------------------------------------------------------
            henv=135502056, conn=135502072, status=0, num_stmts=16
Бьюсь с  этой проблемой уже 3 днс, гугл не помог :(, прошу помощи в совете, что это может быть.
Заранее большое спасибо.


Оффлайн Gray

  • Любитель
  • *
  • Сообщений: 91
    • Просмотр профиля
Re: OpenLDAP & PostgreSQL , не о�?илил ...
« Ответ #1 : 05 Апреля 2007, 09:58:13 »
Давно есть желание поднять нечто подобное с mysql, но где-то читал, что slapd по умолчанию компилируется без поддержки back_sql

Оффлайн selectron

  • Новичок
  • *
  • Сообщений: 27
    • Просмотр профиля
Re: OpenLDAP & PostgreSQL , не осилил ...
« Ответ #2 : 19 Июля 2007, 13:50:34 »
Добрый день всем!
Тема забытая, но интересная...
Если еще актуально...
RooGi, насколько я понял из логов, тебе не удалось открыть базу.
Ты не пробовал поиграть с pg_hba.conf? Мне кажется именно там не лады.

Оффлайн conspiro

  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Re: OpenLDAP & PostgreSQL , не осилил ...
« Ответ #3 : 05 Августа 2008, 16:31:57 »
Проделал все действия, описанные RooGi на убунте 8.04, в syslog'e вот это:
Aug  5 16:19:18 ground slapd[7467]: @(#) $OpenLDAP: slapd 2.4.9 (Aug  1 2008 01:08:50) $ ^Ibuildd@terranova:/build/buildd/openldap2.3-2.4.9/debian/build/servers/slapd
Aug  5 16:19:18 ground slapd[7468]: WARNING: No dynamic config support for database sql.
Aug  5 16:19:18 ground slapd[7468]: backend_startup_one: bi_db_open failed! (1)
Aug  5 16:19:18 ground slapd[7468]: slapd stopped.
Aug  5 16:19:18 ground slapd[7468]: connections_destroy: nothing to destroy.
в логе PostrgeSQL вообще ничего,
коннект к базе через ODBC происходит
Попробовал скомпилить из исходников (c --enable-sql=yes) - результат точно такой же...
Гугл по этому поводу ничем не помог.

Кто может подсказать в чем проблема? уже весь мозг сломал...
« Последнее редактирование: 05 Августа 2008, 16:33:56 от conspiro »

 

Страница сгенерирована за 0.018 секунд. Запросов: 20.