Установка 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
Дополнительная информация
2012/02/01 22:55 | ||
2012/02/01 22:55 | ||
2012/02/01 22:55 | ||
2012/02/01 22:55 | ||
2012/02/01 22:55 | ||
2012/02/01 22:55 | ||
2012/02/01 22:55 |
Обсуждение
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.