openldap安装

前言:

目前成都创新互联已为上千余家的企业提供了网站建设、域名、虚拟主机网站托管、企业网站设计、同安网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

在安装使用、openldap的过程中踩过很多坑,有的是自己没理解明白,有的是别人表述不明确,此次就从安装开始,简单权限设置、以及双主,后面包括与confluence、jira,gitlab的关联~

一、安装openldap

此前编译安装过,踩过不少坑,最后还是选择用yum安装来的方便。

`yum install openldap openldap-servers openldap-clients openldap-devel compat-openldap -y`

openldap后端的数据库是Berkeley DB,所以这个也得安装,当时编译安装时,对这个数据库的版本有恨严格的要求,坑很大。。

`yum install db4 db4-utils`

虽说openldap已经提供了足够的命令来创建,搜索,修改数据,但是依然不及web页面显示来的直观,此处我们使用phpldapadmin。

```

wget https://jaist.dl.sourceforge.net/project/phpldapadmin/phpldapadmin-php5/1.2.3/phpldapadmin-1.2.3.zip

unzip phpldapadmin-1.2.3.zip

cp -R phpldapadmin-1.2.3 /var/www/html/phpldapadmin

cd /cd/www/html/phpldapadmin/config

cp config.php.example config.php

```

和大多数php应用一样,得自己复制出一个配置文件。记得修改php的timezone哟。这也算是一个小坑。

`

yum install php php-ldap php-fpm nginx

sed -i '/; date.timezone/a date.timezone =Asia/Shanghai' /etc/php.ini `

下面是我使用的nginx的配置文件

```

vim /etc/nginx/conf/phpldapadmin.conf

server{

   listen      80;

   server_name  ldap.xxx.com;

   location / {

       index index.html index.php;

       root /var/www/html/phpldapadmin;

   if (!-e $request_filename) {

           rewrite ^/(.*)  /index.php?$1 last;

       }

   }

   location ~ \.php$ {

       root /var/www/html/phpldapadmin;

       fastcgi_pass  127.0.0.1:9000;

       fastcgi_index  index.php;

       fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

       include        fastcgi_params;

   }

}

```

接下来就启动nginx、启动php-fpm

```

service nginx start

service php-fpm start

```

继续配置openldap。网上有好多教程都是配置slapd.conf 文件但是,yum安装的默认/etc/openldap/下是没有这个文件的,因为新版的吧一个文件分成了多个。不习惯的可以继续配置原来的slapd.conf文件,然后通过命令将其变成slapd.d/目录下的多个配置文件。

首先生成管理员密码。

slappasswd

输入两次得到一个密码,我的这个密码是1234

{SSHA}7Wi/7NzFL/b6y+a7jZsDos5ax3HK0gUZ

修改数据库配置文件,设置域名,密码等

```

vim /etc/openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif

olcSuffix: dc=xxx,dc=com

#这个主要设置目录树根的域名。

oclRootDN: cn=admin,dc=xxx,dc=com

#这个是设置管理员dn,xxx可以换成自己的域名~

#然后在这歌配置文件的最后一行加入设置管理员密码的条目~

olcRootPW: {SSHA}7Wi/7NzFL/b6y+a7jZsDos5ax3HK0gUZ

```

2、指定监控权限

```

vim /etc/openldap/slapd.d/cn=config/olcDatabase={1}monitor.ldif

dn.base="cn=admin,dc=xxx,dc=com"

#修改其末日域名

```

3、设置数据库缓存

```

cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG

chown -R ldap:ldap /var/lib/ldap

#测试配置文件是否有错,得到`testing succeeded`表示没问题

slaptest -u

```

4、启动openldap

`service slapd start`

此时就可以访问phpldapadmin。web页面了

用户名:cn=admin,dc=ldap,dc=com

密码:1234

不过此处还有一坑,web页面会有一个提示,然后没有目录树的根,原因是根节点还没有被创建。操作如下:

```

vim base.ldif

#以下为base.ldif内的内容

dn: dc=xxx,dc=com

o: ldap

objectclass: dcObject

objectclass: organization

```

然后加入用户

`ldapmodify -x -D "cn=admin,dc=luojilab,dc=com" -W -f base.ldif`

如果是centos7 加一个-a参数,不然老报错。

如果提示`adding new entry "dc=xxx,dc=com"`就表示成功了~

次时再访问web页面就没问题啦~~

倒入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


网页名称:openldap安装
网站地址:http://myzitong.com/article/pechsg.html