一、安裝
首先是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