Установка производится на:
# uname -ro FreeBSD 9.1-RELEASE-p5
# httpd -v Server version: Apache/2.2.26 (FreeBSD) Server built: Jan 2 2014 10:12:17
# mysql -V mysql Ver 14.14 Distrib 5.5.35, for FreeBSD9.1 (i386) using 5.2
Ищем порт:
# make search name="phpldapadmin" Port: phpldapadmin-1.2.3_2,1 Path: /usr/ports/net/phpldapadmin Info: PHP application to administer LDAP over the web
# cd /usr/ports/net/phpldapadmin && make install clean
Кроме того, сам PHP должен быть установлен с поддержкой LDAP, что бы проверить это – выполняем:
# php -m | grep ldap ldap
Если его нет – установите отдельно:
# cd /usr/ports/ && make search name=”php53-ldap”
Port: php53-ldap-5.3.28 Path: /usr/ports/net/php53-ldap Info: The ldap shared extension for php Maint: [email protected] B-deps: autoconf-2.69 autoconf-wrapper-20131203 libiconv-1.14_1 libxml2-2.8.0_3 m4-1.4.17,1 openldap-client-2.4.38 pcre-8.34 perl5-5.16.3_6 php53-5.3.28 R-deps: libiconv-1.14_1 libxml2-2.8.0_3 openldap-client-2.4.38 pcre-8.34 php53-5.3.28
И добавьте в файл extensions.ini
стркоу:
extension=ldap.so
После установки нам подсказывают, что:
phpldapadmin-1.2.3_2,1 has been installed into:
/usr/local/www/phpldapadmin
Please edit config.php to suit your needs.
В файл /usr/local/etc/apache22/httpd.conf
добавляем алиас:
# cat /usr/local/etc/apache22/httpd.conf | grep phpldap Alias /phpldapadmin /usr/local/www/phpldapadmin/
В данном случае phpLdapAdmin будет работать на отдельном субдомене и в отдельном виртауалхосте для удобства натройки доступа.
В файл /usr/local/etc/apache22/extra/httpd-vhosts.conf
добавляем:
<VirtualHost 178.***.***.13:80> ServerName "phpldapadmin.domain.in.ua" ServerAlias "www.phpldapadmin.domain.in.ua" DocumentRoot "/usr/local/www/phpldapadmin" ErrorLog "/var/log/apache/phpldapadmin-error.log" CustomLog "/var/log/apache/phpldapadmin-access.log" "combined" <Directory "/usr/local/www/phpldapadmin"> Options -ExecCGI -Indexes +FollowSymLinks -Multiviews AllowOverride All </Directory> </VirtualHost>
В случае, если используется PHP версии 5.5 и выше – необходимо добавить патч (хотя – потом всё равно наблюдались проблемы, поэтому – перешёл на PHP 5.3):
# cd /usr/local/www/phpldapadmin
# mkdir Patch
# cd Patch/
Качаем сам архив с патчем:
# wget http://sourceforge.net/code-snapshots/git/u/u/u/nihilisticz/phpldapadmin.git/u-nihilisticz-phpldapadmin-7e53dab990748c546b79f0610c3a7a58431e9ebc.zip
Страница на Sourceforge с описанием и деталями.
# unzip u-nihilisticz-phpldapadmin-7e53dab990748c546b79f0610c3a7a58431e9ebc.zip
# cd u-nihilisticz-phpldapadmin-7e53dab990748c546b79f0610c3a7a58431e9ebc
# rm -rf /usr/local/www/phpldapadmin/lib/
# mkdir /usr/local/www/phpldapadmin/lib
# cp -R lib/* /usr/local/www/phpldapadmin/lib
Теперь продолжаем обычную установку:
# cd /usr/local/www/phpldapadmin
Редактируем основной файл настроек:
# vim config/config.php
Находим строку:
# $servers->setValue('login','bind_id','cn=Manager,dc=example,dc=com');
И приводим её в соответствие с настройками своего LDAP-a:
// $servers->setValue('login','bind_id',''); $servers->setValue('login','bind_id','cn=root,dc=domain');
// $servers->setValue('login','bind_pass',''); $servers->setValue('login','bind_pass','MyPassword');
Устанавливаем доступ только на чтение себе и группе Apache-а:
# chmod 440 config.php
# ls -l total 112 -r--r----- 1 root www 24929 Jan 2 17:33 config.php
Готово, заходим на страницу http://phpldapadmin.domain.in.ua:
Вместо страницы phpLdapAdmin – Возможно появление ошибки:
Notice: Undefined index: plaConfig in /usr/local/www/phpldapadmin/lib/page.php on line 379
Fatal error: Call to a member function getValue() on a non-object in /usr/local/www/phpldapadmin/lib/page.php on line 379
Возможно – дело в том, что Apache HTTP (как случилось на одном из севреров) настроен на использование suexec (FreeBSD: Apache + mpm_worker + PHP + mod_fcgid).
В таком случае – можно либо изменить владельца каталога и файла config/config.php
, либо открыть доступ на чтение остальным пользователям:
# chmod o+x config/
# chmod o+r config/config.php
# ls -l | grep config dr--r--r-x 2 www www 512 Feb 16 18:46 config
# ls -l config/ total 112 -r--r--r-- 1 www www 24913 Feb 16 18:46 config.php
Слева кликаем Войти:
Готово.