Instalacja pakietu slapd i phpldapadmin
Redhat 7
yum -y install openldap-servers openldap-clients cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG chown ldap. /var/lib/ldap/DB_CONFIG systemctl start slapd systemctl enable slapd
Instalacja pakietu phpldapadmin nie jest prosta. W repozytoriach RedHata nie ma pakietów do tego i należy użyć repozytoriów EPEL
yum install wget wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -ivh epel-release-latest-7.noarch.rpm yum --enablerepo=epel -y install phpldapadmin
Centos i RedHat
Pakiety możesz zainstalować komenda:
yum install openldap-servers.i686 phpldapadmin.noarch
Debian Etch (Debian 4r0)
Po instalacji pakietów należy wywołać komendę
dpkg-reconfigure slapd
Pozwoli to na przekonfigurowanie demona slapd, gdyż podczas instalacji część konfiguracji jest wykonywana automatycznie i może nie być to dokładnie to co jest potrzebne.
Konfiguracja pakietu slapd
Debian Etch
Wybór portów na których ma działać możesz wykonać edytując plik /etc/defaults/slapd.conf.
Testowanie poprawności konfiguracji
[root@linux ~]# slaptest -F /etc/openldap/slapd.d config file testing succeeded
Logowanie zdarzeń do osobnego pliku
Tworzymy nowy plik w katalogu /etc/rsyslog.d/ i umieszczamy w nim następujaca treść:
# Send slapd(8c) logs to /var/log/slapd.log if $programname == 'slapd' then /var/log/slapd.log & ~
Rotowanie logów
# /etc/logrotate.d/slapd # # Rotate slapd(8) log file. # # David Robillard, April 23rd, 2012. /var/log/slapd.log { rotate 7 compress } # EOF
Teraz przetestujmy konfigurację:
[root@linux log]# logrotate -d /etc/logrotate.d/slapd reading config file /etc/logrotate.d/slapd reading config info for /var/log/slapd.log Handling 1 logs rotating pattern: /var/log/slapd.log 1048576 bytes (7 rotations) empty log files are rotated, old logs are removed considering log /var/log/slapd.log log does not need rotating
Testowanie połaczenia: ldapwhoami
[root@linux log]# ldapwhoami -D cn=Manager,dc=linuxexpert,dc=pl -w XXX dn:cn=Manager,dc=linuxexpert,dc=pl
phpldapadmin
Wymuszenie przejścia na szyfrowanie połaczenie
W pliku /etc/httpd/conf.d/phpldapadmin.conf w sekcji dotyczacej katalogu domowego aplikacji umieszczamy wpis:
RewriteEngine On RewriteCond %{HTTPS} !on RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
Wymusi to działanie w szyfrowanym połaczeniu.