OpenLdap配置mysql作为后台数据库

首先mysql的安装

yum方式安装mysql5.7

#wget http://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm
#rpm -Uvh mysql57-community-release-el7-10.noarch.rpm
#yum install -y mysql-community-server
#systemctl restart mysqld.service
#grep 'temporary password' /var/log/mysqld.log

根据grep出来的密码登录并修改validate_password_policy参数的值

mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;
mysql> alter user 'root'@'localhost' identified by '123456';
mysql> grant all privileges on *.* to 'root'@'%'identified by '123456';

接着安装依赖的文件

#yum install unixODBC mysql-connector-odbc unixODBC-devel.x86_64 unixODBC-devel.i686 mysql-community-devel.x86_64 mysql-connector-odbc.x86_64

创建ldap的数据库

mysql> create database ldap;
mysql> GRANT ALL PRIVILEGES ON ldap.* TO 'ldap'@'%';

配置ODBC

# cat  /etc/odbc.ini
[ldap]
Description = LdapToMysql
Driver = MySQL
Database = ldap
Server = localhost
User = root
Password = 123456
Port = 3306
charset = UTF8
# cat   /etc/odbcinst.ini
[PostgreSQL]
Description=ODBC for PostgreSQL
Driver=/usr/lib/psqlodbcw.so
Setup=/usr/lib/libodbcpsqlS.so
Driver64=/usr/lib64/psqlodbcw.so
Setup64=/usr/lib64/libodbcpsqlS.so
FileUsage=1
[MySQL]
Description=ODBC for MySQL
Driver=/usr/lib64/libmyodbc8w.so
Setup=/usr/libi64/libodbcmyS.so
Driver64=/usr/lib64/libmyodbc8a.so
Setup64=/usr/lib64/libodbcmyS.so
FileUsage=1
[MySQL ODBC 8.0 Unicode Driver]
Driver=/usr/lib64/libmyodbc8w.so
UsageCount=1
[MySQL ODBC 8.0 ANSI Driver]
Driver=/usr/lib64/libmyodbc8a.so
UsageCount=1

验证是否连接成功

# isql -v ldap
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL> show databases;
+-----------------------------------------------------------------+
| Database                                                        |
+-----------------------------------------------------------------+
| information_schema                                              |
| ldap                                                            |
| mysql                                                           |
| performance_schema                                              |
| sys                                                             |
+-----------------------------------------------------------------+
SQLRowCount returns 5
5 rows fetched
SQL>

最后源码安装openldap

#cd /opt
#wget ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/openldap-2.4.47.tgz
#tar zxvf openldap-2.4.47.tgz
#/opt/openldap-2.4.47
#./configure --prefix=/soft/openldap --enable-sql  --disable-bdb --disable-ndb --disable-hdb
#make depend &&  make && make install
创建软链接
#ln -s /soft/openldap/bin/*  /usr/local/bin/
#ln -s /soft/openldap/sbin/*  /usr/local/sbin/

生成ldap账户密码

#slappasswd    回车输入密码后生成如下字符串
{SSHA}dAf/QkclIvjYOO0q7egQwMa7elYvuw7p

修改ldap配置文件

# cd /soft/openldap/etc/openldap/
# mv slapd.conf  slapd.conf.20200411
#cp /opt/openldap-2.4.47/servers/slapd/back-sql/rdbms_depend/mysql/slapd.conf .
----------------------------------分割线--------------------------------------------------
# cat slapd.conf
# $OpenLDAP$
#
# See slapd.conf(5) for details on configuration options.
# This file should NOT be world readable.
#
include		/soft/openldap/etc/openldap/schema/core.schema
include		/soft/openldap/etc/openldap/schema/cosine.schema
include		/soft/openldap/etc/openldap/schema/inetorgperson.schema
# Define global ACLs to disable default read access.
# Do not enable referrals until AFTER you have a working directory
# service AND an understanding of referrals.
#referral	ldap://root.openldap.org
pidfile		/soft/openldap/var/slapd.pid
argsfile	/soft/openldap/var/slapd.args
#######################################################################
# sql database definitions
#######################################################################
database	sql
#suffix		"o=sql,c=RU"
#rootdn		"cn=root,o=sql,c=RU"
suffix		"dc=example,dc=com"
rootdn		"cn=Manager,dc=example,dc=com"
rootpw		{SSHA}dAf/QkclIvjYOO0q7egQwMa7elYvuw7p
dbname		ldap
dbhost          192.168.40.93
dbuser		root
dbpasswd	123456
subtree_cond	"ldap_entries.dn LIKE CONCAT('%',?)"
insentry_stmt	"INSERT INTO ldap_entries (dn,oc_map_id,parent,keyval) VALUES (?,?,?,?)"
has_ldapinfo_dn_ru	no

为ldap后台数据库添加对应表结构:

# cd /opt/openldap-2.4.47/servers/slapd/back-sql/rdbms_depend/mysql
#mysql -h192.168.40.93 -uroot -p123456
mysql> use ldap
mysql> source backsql_create.sql;
mysql> source  testdb_create.sql;
mysql> source  testdb_data.sql;
mysql> source  testdb_metadata.sql;

安装supervisor服务,并且制作openldap的启动服务

#curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
#sudo python get-pip.py
#pip install supervisor
#echo_supervisord_conf >  /etc/supervisord.conf
#vim /etc/supervisord.conf
[include]
files = /etc/supervisord/*.conf
#mkdir -p  /etc/supervisord/
#cd /etc/supervisord/
#cat  ldap.conf
[program:openldap]
command=/opt/openldap-2.4.47/servers/slapd/slapd -d 5 -h 'ldap:/// ldapi:///' -f /soft/openldap/etc/openldap/slapd.conf
numprocs=1
autostart=true
autorestart=true
startretries=3
user=root
redirect_stderr=true
stdout_logfile=/var/log/openldap.log
#supervisord  -c /etc/supervisord.conf
#supervisorctl
>reread
>update
# netstat -tulnp|grep 389
tcp        0      0 0.0.0.0:389             0.0.0.0:*               LISTEN      20355/slapd         
tcp6       0      0 :::389

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

完颜振江

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值