最近公司要全面去微软化,首先就拿AD域开刀。替代方案就只能是OpenLDAP。国内搜索一圈大部分教程都过时了。只能Google了。自此做个记录。系统ubuntu 16.04 server,最小化安装。
1,安装LDAP
sudo apt-get update sudo apt-get install slapd ldap-utils sudo dpkg-reconfigure slapd
执行第二条命令会出现一个输入密码的对话框记得记住密码
执行的三条命令的时候,会出现配置对话框。记住选择项顺序 NO——》love.com(这里输入自己想要的域名)——》love(输入组织名与域名一致)——》管理员密码——》再输入管理密码(都输入一样的)——》HDB——》NO——》Yes——》NO
至此,安装完成。
2,安装phpldapadmin
sudo apt-get install phpldapadmin
这里会默认安装php和apache2
给系统增加中文显示
sudo apt-get install language-pack-zh-hans
3,配置phpldapadmin
sudo vi /etc/phpldapadmin/config.php
搜索以下部分并相应地进行修改。
将domain_nam_or_IP_address值更改你的ip地址或者域名。
$ servers-> setValue('server','host',' domain_nam_or_IP_address ');
对于下一部分,将dc=test改成你自己的域名与之前输入的一致。
$ servers-> setValue('server','base',array('dc = test ,dc = com '));
$ servers-> setValue('login','bind_id','cn = admin,dc = test ,dc = com ');
取消注释这一行并将值设置为“true”以避免一些不重要的恼人警告。
$ config-> custom-> appearance ['hide_template_warning'] = true ;
保存并关闭文件。重启下apache。
浏览器输入http://你自己的ip/phpldapadmin,打开后输入之前设置的密码。如果安装了防火墙请自己打开80端口对外开放。
方法2,编译安装openldap,准备环境
wget ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/openldap-2.4.47.tgz wget https://download.oracle.com/berkeley-db/db-4.8.30.tar.gz sudo apt install gcc sudo apt install libwrap0-dev sudo apt install make
解压db-4.8.30.tar.gz,cd到db-4.8.30目录安装BDB数据库
tar zxvf db-4.8.30.tar.gz cd db-4.8.30/build_unix ../dist/configure && make && sudo make install
解压openldap-2.4.47.tgz,cd到openldap目录
./configure --prefix=/usr/local/openldap \ --enable-wrappers \ --enable-syslog \ --enable-modules \ --enable-debug \ --with-tls \ CPPFLAGS="-I/usr/local/BerkeleyDB.4.8/include" \ LDFLAGS="-L/usr/local/BerkeleyDB.4.8/lib"
遇到报错请参考下面命令,或自行解决
sudo sed -i '$a \/usr\/local\/BerkeleyDB.4.8\/lib' /etc/ld.so.conf.d/libc.conf sudo ldconfig -v ldconfig -n /usr/local/BerkeleyDB.4.8/lib
配置openLdap
创建快捷链接,设置可执行环境
cd /usr/local/openldap ln -s /usr/local/openldap/bin/* /usr/local/bin/ ln -s /usr/local/openldap/sbin/* /usr/local/sbin/
目录功能如下
bin/ --客户端工具如ldapadd、ldapsearch etc/ --包含主配置文件slapd.conf、schema、DB_CONFIG等 include/ lib/ libexec/ --服务端启动工具slapd sbin/ --服务端工具如slappasswd share/ var/ --bdb数据、log存放目录
设置密码为123456
{SSHA}GEWXOBz58bm07aIOleMj0RlvfAflc7cS
编辑配置文件
sudo vi /usr/local/openldap/etc/openldap/slapd.conf
schema默认只有core.schema,各级需要添加如下
include /usr/local/openldap/etc/openldap/schema/collective.schema include /usr/local/openldap/etc/openldap/schema/corba.schema include /usr/local/openldap/etc/openldap/schema/cosine.schema include /usr/local/openldap/etc/openldap/schema/duaconf.schema include /usr/local/openldap/etc/openldap/schema/dyngroup.schema include /usr/local/openldap/etc/openldap/schema/inetorgperson.schema include /usr/local/openldap/etc/openldap/schema/java.schema include /usr/local/openldap/etc/openldap/schema/misc.schema include /usr/local/openldap/etc/openldap/schema/nis.schema include /usr/local/openldap/etc/openldap/schema/openldap.schema include /usr/local/openldap/etc/openldap/schema/pmi.schema include /usr/local/openldap/etc/openldap/schema/ppolicy.schema
修改如下地方为自己定义
suffix "dc=sys,dc=com" rootdn "cn=admin,dc=sys,dc=com" rootpw {SSHA}GEWXOBz58bm07aIOleMj0RlvfAflc7cS #这里是之前生成的密码123456
初始化ldap
cd /usr/local/openldap/var/openldap-data/ cp DB_CONFIG.example DB_CONFIG cat /usr/local/openldap/base.ldif dc: dc=sys,dc=com o: ldap objectslass: dcobject objectclass: organization sudo /usr/local/openldap/bin/ldapadd -x -D "cn=admin,dc=sys,dc=com" -W -f /usr/local/openldap/base.ldif #记得替换自己的 /usr/local/openldap-2.4.44/libexec/slapd #启动
按上面一样安装phpldapadmin,登陆之后默认什么都没有。需要先创建posixGroup,才能创建用户。至此完成安装工作。