安装环境:CentOS 7

1.安装和设置数据库

在CentOS7下,默认安装的数据库为MariaDB,属于MySQL数据库的一个分支,所以我还是使用了MariaDB。安装命令为:

[root@localhost ~]# yum install mariadb-server -y

安装时间不长,安装完成后的样子如下:

然后启动数据库服务:

[root@localhost ~]# systemctl start mariadb

[root@localhost~]# systemctl enable mariadb //设置开机自启

对数据库进行一些基本设置:

[root@localhost ~]# mysql_secure_installation

初始情况下没有密码,直接回车,它会自动提示你重新设置密码,这时就可以设置自己的数据库密码了。设置完密码之后是一些其他的基本设置,都是直接'y'或者'n'就能解决的,对照着它给出的提示就可以完成设置。然后设置字符集,字符集的设置在/etc下:

[root@localhost ~]# vim /etc/my.cnf

#在[mysqld]标签下添加如下内容:

default-storage-engine =innodb

innodb_file_per_table

max_connections= 4096collation-server =utf8_general_ci

character-set-server =utf8

[root@localhost~]# vim /etc/my.cnf.d/client.cnf

#在[client]标签下添加如下内容:

default-character-set=utf8

[root@localhost~]# vim /etc/my.cnf.d/mysql-clients.cnf

#在[mysql]标签下添加如下内容:

default-character-set=utf8

接着重启服务:

[root@localhost ~]# systemctl restart mariadb

此时就大概完成了数据库的安装和设置。因为要将该数据库做完LDAP的后端数据库,所以先新建一个用户ldap和数据库ldap作为连接LDAP的数据库:

[root@localhost ~]# mysql -uroot -p

添加ldap用户,设置密码为ldap,添加权限给ldap用户并新建数据库ldap:

MariaDB [(none)]> CREATE USER 'ldap'@'%' IDENTIFIED BY 'ldap';

MariaDB [(none)]> GRANT ALL PRIVILEGES ON ldap.* TO 'ldap'@'%';

MariaDB [(none)]> CREATE USER 'ldap'@'localhost' IDENTIFIED BY 'ldap';

MariaDB [(none)]> GRANT ALL PRIVILEGES ON ldap.* TO 'ldap'@'localhost';

MariaDB [(none)]> show databases;

然后退出数据库,进行第二步。

2.安装ODBC并配置ldap数据库

直接yum安装:

[root@localhost ~]# yum install unixODBC mysql-connector-odbc

创建连接配置文件odbc.ini:

[root@localhost ~]# vim /etc/odbc.ini

#添加如下内容

[ldap]

Description=LdapToMysql

Driver=MySQL

Database=ldap

Server= 127.0.0.1User=ldap

Password=ldap

Port= 3306

验证是否连接成功:

[root@localhost ~]# isql -v ldap

进入如下界面:

输入查看数据库的命令:

SQL> show databases;

连接成功!

3.下载安装并配置OpenLDAP

安装LDAP到/opt目录下:

[root@localhost ~]# yum install wget make gcc mysql-devel unixODBC-devel groff -y

[root@localhost~]# cd /opt

[root@localhost opt]#wget ftp://mirror.switch.ch/mirror/OpenLDAP/openldap-release/openldap-2.4.43.tgz

[root@localhost opt]# tar zxvf openldap-*.tgz

[root@localhost opt]#rm -rf openldap-*.tgz

[root@localhost opt]#mv openldap-*openldap

[root@localhost opt]# cd/opt/openldap

[root@localhost openldap]# ./configure --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --localstatedir=/var --mandir=/usr/share/man --infodir=/usr/share/info --enable-sql --disable-bdb --disable-ndb --disable-hdb

[root@localhost openldap]#makedepend

[root@localhost openldap]#make[root@localhost openldap]#make install

此时安装已经完成,接着配置LDAP,首先生成自己的LDAP密码:

[root@localhost openldap]# slappasswd

输入密码之后它会返回给一个加密的密码,类似于“{SSHA}XDEtT6s3MTzrSbHeJl7OlRoqk0w1By1X”。然后打开LDAP配置文件,该文件在/etc/openldap目录下:

[root@localhost openldap]# vim /etc/openldap/slapd.conf

#在第5行下面添加如下内容

include/etc/openldap/schema/cosine.schema

include/etc/openldap/schema/inetorgperson.schema

#修改第55行内容

database sql

#修改第56、57行的dc值(这里最好设置为example,因为后面要用ldap的数据库数据,如果这里使用别的值,那么对应的要把数据库中的所有dn都改掉)

suffix"dc=example,dc=com"rootdn"cn=Manager,dc=example,dc=com"#修改第61行rootpw的值,就是之前获取到的加密密码

rootpw {SSHA}XDEtT6s3MTzrSbHeJl7OlRoqk0w1By1X

#注释掉第65、67行的内容

#directory/var/openldap-data

#index objectClass eq

#在第61行rootpw下面添加如下内容

rootpw {SSHA}XDEtT6s3MTzrSbHeJl7OlRoqk0w1By1X

dbname ldap

dbuser ldap

dbpasswd ldap

has_ldapinfo_dn_ru no

subtree_cond"ldap_entries.dn LIKE CONCAT('%',?)"

关于dc(domainComponent)的问题,在https://www.bbsmax.com/A/WpdKKPaodV/这篇文章里面讲解的很好,我的安装配置也是从这里学的。

到此,OpenLDAP的安装与配置完成,但此时还不能运行LDAP,因为数据库中没有对应的表结构,LDAP虽然可以使用除BDB之外的数据库,但必须要使用它定义的表结构。对应的表结构在/opt/openldap/servers/slapd/back-sql/rdbms_depend/目录下,该目录下有多种数据库的表结构,包括MySQL、Oracle和PGSQL等,进入mysql目录下,有如下几个sql文件:

backsql_create.sql是基础的表结构,不论其它表有没有,这几个表必须有;testdb_create.sql是测试的表结构,包含几个像person表之类的表结构;testdb_data.sql是测试表中的数据;testdb_metadata.sql是基础表中的数据。进入数据库中执行这几个sql文件:

[root@localhost ~]# mysql -uldap -p

Enter password:

Welcome to the MariaDB monitor. Commands end with ; or \g.

Your MariaDB connectionid is 8Server version:5.5.52-MariaDB MariaDB Server

Copyright (c)2000, 2016, Oracle, MariaDB Corporation Ab and others.

Type'help;' or '\h' for help. Type '\c' to clearthe current input statement.

MariaDB [(none)]>use ldap

MariaDB [ldap]> source /opt/openldap/servers/slapd/back-sql/rdbms_depend/mysql/backsql_create.sql

MariaDB [ldap]> source /opt/openldap/servers/slapd/back-sql/rdbms_depend/mysql/testdb_create.sql

MariaDB [ldap]> source /opt/openldap/servers/slapd/back-sql/rdbms_depend/mysql/testdb_data.sql

MariaDB [ldap]> source /opt/openldap/servers/slapd/back-sql/rdbms_depend/mysql/testdb_metadata.sql

此时运行LDAP:

[root@localhost ~]# /opt/openldap/servers/slapd/slapd -d 5 -h 'ldap:/// ldapi:///' -f /etc/openldap/slapd.conf &

4.安装和配置LDAP管理工具PHPldapadmin

首先安装Apache和PHP:

[root@localhost ~]# yum -y install httpd php php-ldap php-gd php-mbstring php-pear php-bcmath php-xml

然后安装phpldapadmin:

[root@localhost ~]# yum -y install epel-release

[root@localhost~]# yum --enablerepo=epel -y install phpldapadmin

接着修改配置文件:

[root@localhost ~]# vim /etc/phpldapadmin/config.php

#397行取消注释,398行添加注释

$servers->setValue('login','attr','dn');//$servers->setValue('login','attr','uid');

[root@localhost~]# vim /etc/httpd/conf.d/phpldapadmin.conf//修改配置

# Apache2.4Require local

#添加一行内容,指定可访问的ip段(虽然我也不知道为什么,但不填不能运行这个管理工具,我就直接写的本地ip)

Require ip192.168.85.132

设置开机自启并启动Apache:

[root@localhost ~]# systemctl enable httpd

[root@localhost~]# systemctl start httpd

此时phpldapadmin可以访问但可能不能登录,这个和系统SELinux有关,如果SELinux关闭的话登录时候会有一个错误:

error Unable to connect to LDAP server Cloud-Lab.Com

error: Can't contact LDAP server (-1) for user

error Failed to Authenticate to server

Invalid Username or Password.

打开这个配置:

[root@localhost ~]# getsebool httpd_can_connect_ldap

httpd_can_connect_ldap-->off

[root@localhost~]# setsebool -P httpd_can_connect_ldap on

[root@localhost~]# getsebool httpd_can_connect_ldap

httpd_can_connect_ldap--> on

浏览器访问phpldapadmin:

http://(localhost或服务器地址)/phpldapadmin/

登录phpldapadmin,用户名密码可以在数据库ldap的表persons中查找。

登录成功的界面:

linux openldap mysql_CentOS7安装OpenLDAP+MySQL+PHPLDAPadmin相关推荐

  1. Linux入门第五集!MySQL8在Linux上的安装!MySQL的Linux资源分享!

    Linux入门第五集!MySQL8在Linux上的安装!MySQL的Linux资源分享! 一.Mysql的Linux版本下载! 博主采用的是mysql-8.0.25-1.el7.x86_64.rpm- ...

  2. linux rpm方式安装jdk+mysql

    linux rpm方式安装jdk+mysql 文章目录 linux rpm方式安装jdk+mysql 1.安装JDK 1.1查看当前linux是否安装java 1.2 上传jdk到linux文件目录 ...

  3. linux查看mariadb安装卸载,MySQL——在Linux下安装和卸载MariaDB

    MySQL--在Linux下安装和卸载MariaDB 摘要:本文主要学习了如何在Linux系统中安装和卸载MariaDB数据库. 查看有没有安装过MariaDB 使用命令查看有没有安装过: 1 [ro ...

  4. Linux基础 (安装JDK MySQL 安装Tomcat)

    文章目录 Linux 概念: 1.基础命令 1.1:ls-l 打印文件详细信息 1.2:vi&vim 创建或编辑 1.3:tar 打包.压缩 1.4:useradd 新增用户 1.5:pass ...

  5. (转) Linux(Centos7)yum安装最新mysql

    原文:http://blog.csdn.net/gebitan505/article/details/54613549 环境 CentOS 7.1 (64-bit system) MySQL 5.6. ...

  6. linux 设置代理 安装jdk mysql tomcat redis hadoop

    1.修改linux用户名和密码 前提进入root用户   原用户名 XX,改成用户名 YY         执行 usermod -l YY XX   修改用户 YY 的密码,如果你在root权限下 ...

  7. php mysql zend linux_在Linux系统中安装Apache+MySQL+php+phpMyAdmin+Zend

    1.安装GD库 所需软件 gd-2.0.33-2 gd-devel-2.0.33-2 gd-progs-2.0.33-2 freetype-utils-2.3.5-1 freetype-2.3.5-1 ...

  8. Mysql 在linux下的安装和启动

    安装之前先检查,linux是否已经安装过mysql: sudo service mysql start 没有安装就执行: sudo apt-get install mysql-servicesudo ...

  9. linux下安装jdk, mysql,tomcat等application示例,并且开启MySQL远程访问权限

    Linux软件安装 jdk,mysql,tomcat 软件安装:软件在阿里云盘下载:30天内有效,如果过期,请联系我 https://www.aliyundrive.com/s/mKjz8t8oF9M ...

最新文章

  1. 解决linux系统CentOS下调整home和根分区大小
  2. 2015总结 2016展望
  3. java:接口和抽象
  4. torch.flatten()函数
  5. Ajax框架,DWR介绍,应用,样例
  6. Hive 03_DML、SerDe、Beeline、JDBC
  7. js读取服务器txt文件,ZK中使用JS读取客户端txt文件内容问题
  8. JavaWEB中读取配置信息
  9. Windows下gmssl使用记录
  10. php tomcat配置_php+tomcat 配置运行环境
  11. 报错TypeError: $(...).live is not a function解决方法
  12. linux虚拟环境tmux,关于在Linux系统中如何把tmux和vim打造成IDE的讲解
  13. steam 加速器_如何在Steam中使用Switch的Pro控制器
  14. c语言中函数值类型的定义,C语言允许函数值类型缺省定义,此时该函数值隐含的类型是( )。(A)float (B)int (C)long (D)double...
  15. Python 爬虫---初窥门径
  16. go包管理工具之govender
  17. 华为云Stack智能进化,三大举措赋能政企深度用云
  18. ArcGIS用土地利用数据导出shp
  19. GitHub忘记用户名和密码如何找回
  20. PKI介绍及搭建Linux私有CA (SSL 示例)

热门文章

  1. ABAP 编程语言中的系统字段(System Fields)
  2. SAP Cloud for Customer的CTI呼叫中心解决方案
  3. SAP CRM Fiori搜索没有命中情况下的调试细节
  4. C4C HTML mashup debug
  5. where and when navigation target url is retrieved by SAP UI5 Framework
  6. click group list in left launchpad
  7. nodejs项目npm start背后的工作原理
  8. Sequence of component save EC and orderadm_h save
  9. Enterprise search - Build Search dropdown list - cache issue
  10. 给特殊类型的Note设置default值