[[ Установка OpenLDAP на Gentoo Linux ]]

Gentoo

Установка OpenLDAP на Gentoo Linux

Статья рассказывает об установке и настройки сервера openldap и веб-интерфейса управления phpldapadmin на базе Gentoo Linux.

Установка OpenLDAP

Установка различных USE-флагов (не обязательно, зависит от ваших потребностей):

echo net-nds/openldap sasl overlays >> /etc/portage/package.use/openldap

Установка пакета openldap:

emerge net-nds/openldap -av

Получить шифр пароля (полученный шифр нужно будет указать в конфиге ниже):

slappasswd

После установки необходимо отредактировать файл конфигурации:

/etc/openldap/slapd.conf

# Добавляем необходимые схемы данных
include         /etc/openldap/schema/cosine.schema
include         /etc/openldap/schema/inetorgperson.schema
include         /etc/openldap/schema/nis.schema

# Load dynamic backend modules:
modulepath      /usr/lib/openldap/openldap
# moduleload    back_shell.so
# moduleload    back_relay.so
# moduleload    back_passwd.so
# moduleload    back_null.so
# moduleload    back_monitor.so
# moduleload    back_meta.so
moduleload      back_hdb.so
# moduleload    back_dnssrv.so

# Разкомментироваться пример прав доступа
access to dn.base="" by * read
access to dn.base="cn=Subschema" by * read
access to *
   by self write
   by users read
   by anonymous auth

## Настройки базы данных
database        hdb
suffix          "dc=server,dc=com"                     # задание название вашего корневого домена
checkpoint      32      30 # <kbyte> <min>
rootdn          "cn=Manager,dc=server,dc=com"          # пользователь с полными правами
rootpw          {SSHA}EzP6I82DZRnW+ou7lyiXHGxSpSOw2XO4 # шифр пароля (создаётся  с помощью slappasswd)
directory       /var/lib/openldap-ldbm
index           objectClass     eq

Далее отредактировать клиентский файл конфигурации:

/etc/openldap/ldap.conf

BASE         dc=server, dc=com
URI          ldap://127.0.0.1:389/
TLS_REQCERT  allow

Отредактируем файл сервиса:

/etc/conf.d/slapd

OPTS="-h 'ldap:// ldapi://%2fvar%2frun%2fopenldap%2fslapd.sock'"

Запуск сервиса openldap:

/etc/init.d/slapd start

Проверка работоспособности, выполним поиск по каталогу:

ldapsearch -x -D "cn=Manager,dc=server,dc=com" -W

Должны получить похожий вывод:

ldapsearch -x -D "cn=Manager,dc=server,dc=com" -W

 Enter LDAP Password:
# extended LDIF
#
# LDAPv3
# base <> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

# search result
search: 2
result: 32 No such object

# numResponses: 1

Теперь необходимо создать корневую запись. Для этого сформируем файл:

root.ldif

dn: dc=server,dc=com
ObjectClass: dcObject
ObjectClass: organization
dc: server
o : Server

Добавим эту запись в каталог:

ldapadd -x -D "cn=Manager,dc=server,dc=com" -W < root.ldif

Если всё прошло успешно то при поиске теперь должны получить следующие данные:

ldapsearch -x -D "cn=Manager,dc=server,dc=com" -W

Enter LDAP Password:
# extended LDIF
#
# LDAPv3
# base <> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

# server.com
dn: dc=server,dc=com
objectClass: dcObject
objectClass: organization
dc: server
o: Server

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1

Установка веб-интерфейса (phpldapadmin)

Установка необходимый расширений для php:

echo dev-lang/php hash ldap pcre session xml nls >> /etc/portage/package.use/php

Пересборка php с нужными расширениями:

emerge dev-lang/php -1Nav

Установка пакета:

emerge net-nds/phpldapadmin -av

Возможно потребуется размаскировать пакет:

echo net-nds/phpldapadmin >> /etc/portage/package.keywords/phpldapadmin

Далее необходимо настроить phpldapadmin. Если установка проводилась с выключенным флагом vhosts то конфиг находиться здесь /var/www/localhost/htdocs/phpldapadmin/config/config.php

Файл конфигурации по-умолчанию вполне подходит для начала, поэтому необходимо произвести настройку вашего веб-сервера и веб-интерфейс будет готов к работе.

Связка с nginx

Пример настройки для веб-сервер nginx.

/etc/nginx/sites-available/phpldapadmin_vhosts.conf

server {
        listen          *:80;
        server_name     phpldapadmin.server.com;

        index index.php;

        root /var/www/localhost/htdocs/phpldapadmin;

        location ~ \.php$ {
                fastcgi_pass   unix:/var/run/spawn-fcgi/spawn-fcgi.admin.sock;
        }
}

Настройка php+spawn-fcgi выходит за рамки этого howto.

Теперь веб-интерфейс к openldap будет доступен по адресу http://phpldapadmin.server.com

Дополнительная информация

Обсуждение

vitas.yin, 2018/06/15 06:21
Hi My name is vitas and I find the problem about the add account by phpldapadmin. So I have to add by vim ldif.

But I can't add the policy, I join the include and modulepath ppolicy.so in my slapd.conf When I join that will show adding new entry "cn=ppolicy,cn=schema,cn=config" ldap_add: Insufficient access (50). But I'm the admin only. Please give me something advice Thank you.

Ваш комментарий. Вики-синтаксис разрешён:
247 +4 = 
 
howto/openldap/установка_openldap_на_gentoo_linux.txt · Последнее изменение: 2022/08/31 14:53 — 127.0.0.1
Gentoo Linux Gentoo Linux Driven by DokuWiki