前言:
10年积累的成都做网站、网站设计经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有茫崖免费网站建设让你可以放心的选择与我们合作。在安装使用、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
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。