RT 需要研究一下这个东西所以就装一下
1、改计算机名
debian下安装的时候默认会取机器名作为domain name,所以为了方便我们先改一下机器名称为所需的
在hosts里也可以添加一下机器名称,以及对应的外部ip地址到机器名称上
vim /etc/hostname vim /etc/hosts
2、安装组件
apt-get install slapd ldap-utils
安装完成后去改一下配置文件,添加base和uri两个数值到文件的底部即可
vim /etc/ldap/ldap.conf BASE dc=domain,dc=com URI ldap://1.1.1.1:389
保存后我们再对slapd进行配置
dpkg-reconfigure slapd
依次问的问题是:
是否忽略OpenLDAP的设置
DNS Domain name (DN)
Organization name (ON)
管理员密码
重复密码
选择数据库
slapd被删除时是否要删除数据库
移走老数据库
(可能会有)是否兼容LDAPv2协议
全部配置完毕后可以输入slapcat查看一下输出信息来确认是否正确
3、安装nginx和php7.0
nginx可参照这里:编译安装带有RTMP模块的nginx
或者直接apt-get安装也可(如果没啥特殊需求的话)
apt-get install nginx
php就比较简单了,直接安装即可
apt-get install php7.0-fpm
4、安装phpLDAPadmin
查了一下本来是可以apt安装的,但是因为某些原因debian9的库里剔除了这个包,所以我们需要手动下载,这里先留一下apt的安装方式,然后下面跟着手动安装的方式
apt-get install phpldapadmin 访问http://ftp.jp.debian.org/debian/pool/main/p/phpldapadmin/来查看最新版本,目前是1.2.2-6.1 wget http://ftp.jp.debian.org/debian/pool/main/p/phpldapadmin/phpldapadmin_1.2.2-6.1_all.deb dpkg -i phpldapadmin_1.2.2-6.1_all.deb
5、配置phpLDAPadmin
修改配置文件:
vim /etc/phpldapadmin/config.php (1) $servers->setValue('server'. 'host', '127.0.0.1') #修改为某个内网可访问的IP地址 (2) $servers->setValue('server'. 'base', array('dc=example,dc=com')) #修改为baseDN (3) $servers->setValue('login', 'bind_id', 'cn=admin,dc=example,dc=com') #修改为baseDN下的admin (4) $config->custom->appearance['hide_template_warning'] = false #false修改为true(这一行可能是注释着的,记得删掉开头的注释)
6、写nginx和php配置文件
vim /etc/php/7.0/fpm/php-fpm.conf 结尾加上: listen = 127.0.0.1:9000 listen.allowed_clients = 127.0.0.1 listen.backlog = -1 可以选择使用套接字来降低TCP的利用: listen = /run/php/php7.0-fpm.sock vim /etc/nginx/nginx.conf server { server_name ldap.yourdomain.com 1.1.1.1; listen 80; # document root root /usr/share/nginx/html/; index index.php index.html index.htm; # # # application: phpldapadmin location /phpldapadmin { alias /usr/share/phpldapadmin/htdocs; index index.php index.html index.htm; } location ~ ^/phpldapadmin/.*\.php$ { root /usr/share; if ($request_filename !~* htdocs) { rewrite ^/phpldapadmin(/.*)?$ /phpldapadmin/htdocs$1; } # fastcgi_pass unix:/run/php/php7.0-fpm.sock; #这里可选使用套接字,需要配合php-fpm一起修改 fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; include fastcgi_params; } # # logging error_log /var/log/nginx/phpldapadmin.error.log; access_log /var/log/nginx/phpldapadmin.access.log; } systemctl restart php7.0-fpm.service systemctl restart nginx.service
一切正常的话应该就可以通过浏览器访问了,地址是:http://yourdomain.com/phpldapadmin/
7、检查和添加数据
可以通过ldapseach来检查结构,例如
ldapsearch -x -LLL -H ldap:/// -b dc=yourdomain,dc=com ldapsearch -x -LLL -h 1.1.1.1 -p 389 -b dc=yourdomain,dc=com
创建一个新的结构,保存成.ldif文件并利用ldapadd命令将数据添加入数据库
vim structure.ldif dn: ou=office,dc=yourdomain,dc=com objectClass: organizationalUnit ou: office ldapadd -x -D cn=admin,dc=yourdomain,dc=com -W -f structure.ldif
会提示输入密码,导入完成后可以查询来验证一下
ldapsearch -x -LLL -h 1.1.1.1 -p 389 -b dc=yourdomain,dc=com objectClass=*
参考:
Ubuntu下OpenLDAP的安装及配置
https://linoxide.com/linux-how-to/install-openldap-phpldapadmin-nginx-server/
完整版的OpenLDAP搭建全过程