一、安装
首先是Mac的安装 这里吐槽 Mac真尼玛SB 装完没有slapd.d目录 SB的不行 我再也不用了 这里喷一万个大SB.
建议直接从Linux安装开始看。
1、下载LDAP
地址:ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release
版本:2.4.9
2、./configuration
此时会提示
BerkeleyDB Version incompatible 版本不一致。或者
BerkeleyDB not available 没有BerkeleyDB
首先 BerkeleyDB地址:
我尝试安装比较新的版本,make时 会提示一些奇怪的问题 大致提示为c语言的某个函数问题 原因为我gcc是9.x版本 而函数名是下划线开头在9.x版本不允许。
官网提示安装4.1版本 会接着提示版本不一致
我安装的 BerkeleyDB.4.6.21NC这个版本成功!
下载后 在BerkeleyDB目录下:
cd build_unix
../dist/configuration
make
sudo make install
此时BerkeleyDB安装完成。
到OPENLDAP目录下,执行下面几句,即倒入变量 将BerkeleyDB相关位置设置 以便LDAP 执行时使用
CPPFLAGS="-I/usr/local/BerkeleyDB.4.6/include"
export CPPFLAGS
LDFLAGS="-L/usr/local/lib -L/usr/local/BerkeleyDB.4.6/lib -R/usr/local/BerkeleyDB.4.6/lib"
export LDFLAGS
LD_LIBRARY_PATH="/usr/local/BerkeleyDB.4.6/lib"
export LD_LIBRARY_PATH
以上设置完后,最好echo $CPPFLAGS 这样检查下。
都ok了执行 ./configuration
make
sudo make install
LDAP安装完成。
以上只是mac安装成功,但是由于关键的目录不存在,我并没有使用Java操作LDAP成功。下面Linux安装后,我使用Java操作LDAP做了增删改查,测试后觉得没啥大问题。
Linux安装:
1、下载安装ldap:
yum -y install openldap compat-openldap openldap-clients openldap-servers openldap-servers-sql openldap-devel migrationtools
2、slapd -VV查看版本。成功查看则正常。
3、设置初始管理员密码:我以123456为例,可自行更改
slappasswd -s 123456
4、配置文件修改:
进入这个配置文件 vim /etc/openldap/slapd.d/cn=config/olcDatabase\=\{2\}hdb.ldif
进行修改,dc是你的最大上边界目录,cn是管理的账号名称,左侧的属性名在配置文件中能找到,直接修改即可
olcSuffix: dc=back,dc=com
olcRootDN: cn=Manager,dc=back,dc=com
olcRootPW: {SSHA}dXgO/Ipy5SQiKFZ0u7m79Xo7uzKIr038
5、配置文件修改
进入配置文件:vim /etc/openldap/slapd.d/cn=config/olcDatabase\=\{1\}monitor.ldif
修改内容和上面保持一致
olcAccess: {0}to * by dn.base=”gidNumber=0+uidNumber=0,cn=peercred,cn=extern
al,cn=auth” read by dn.base=”cn=Manager,dc=back,dc=com” read by * none
6、配置文件验证:slaptest -u
如果出现succeeded的字样代表设置成功。
7、开启服务。
CentOS6.5 : service slpad start
CentOS7.x:
systemctl enable slapd
systemctl start slapd
systemctl status slapd
服务开启,默认端口 389
二、使用。
接着Linux的描述。
1、配置LDAP数据库
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
chown ldap:ldap -R /var/lib/ldap
chmod 700 -R /var/lib/ldap
ll /var/lib/ldap/
/var/lib/ldap/就是BerkeleyDB数据库默认存储的路径。
2、导入基本Schema
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif
3、修改migrate_common.ph文件
migrate_common.ph文件主要是用于生成ldif文件使用,修改migrate_common.ph文件,如下:
vim /usr/share/migrationtools/migrate_common.ph +71
$DEFAULT_MAIL_DOMAIN = “back.com”;
$DEFAULT_BASE = “dc=back,dc=com”;
$EXTENDED_SCHEMA = 1;
到此OpenLDAP的配置就已经全部完毕。添加各种数据后面说,接下来是开启日志与端口修改(可选)
linux命令查询信息:ldapsearch -x -b “dc=back,dc=com” -H ldap://127.0.0.1
4、添加日志:
cat > /root/loglevel.ldif << “EOF”
dn: cn=config
changetype: modify
replace: olcLogLevel
olcLogLevel: stats
EOF
导入到OpenLDAP中,并重启OpenLDAP服务,如下:
ldapmodify -Y EXTERNAL -H ldapi:/// -f /root/loglevel.ldif
service slapd restart
修改rsyslog配置文件,并重启rsyslog服务,如下:
cat >> /etc/rsyslog.conf << “EOF”
local4.* /var/log/slapd.log
EOF
service rsyslog restart
查看OpenLDAP日志,如下:
tail -f /var/log/slapd.log
5、修改端口:
在前面的文章中,我们已经介绍了OpenLDAP默认监听的端口是389.如果我们现在要修改OpenLDAP监听端口的话,我们可以修改/etc/sysconfig/slapd文件。例如我们现在把OpenLDAP监听的端口修改为4567,可以进行如下操作:
vim /etc/sysconfig/slapd
SLAPD_URLS=”ldapi://0.0.0.0:4567/ ldap://0.0.0.0:4567/”
重启OpenLDAP服务,如下:
service slapd restart