如何在linux系统中使用PHPLDAPadmin来管理MYSQL等数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在linux系统中使用PHPLDAPadmin来管理MYSQL等数据相关的知识,希望对你有一定的参考价值。

参考技术A A. 字符编码: “使用命令行方式登陆到mysql服务器, 建立一个数据库,数据库编码设为UTF-8。此时,如果直接在命令行窗口使用insert语句插入中文,就遇到类似 ERROR 1406 (22001): Data too long for column 'name' at row 1 错误。乍一看,是字段长度引起的问题,但是实际是字符编码的问题。可是尝试以下解决方法: 1、在Linux中,使用终端方式登陆MySQL服务器,运行以下命令: set names utf8; 该命令将终端的字符编码设为了UTF-8。此后再插入数据库中的内容都会按照UTF-8的编码来处理。 注意:在Linux中,终端方式中直接插入中文内容,可能并不会出现1406错误,但是这时插入的数据 是按照系统的默认编码进行处理。因此对编码为UTF-8的数据库,在显示数据的地方可能会出现乱码。 2、在Windows下,命令行窗口不支持UTF-8编码,所以使用“set names utf8;”不会达到转化中文的 效果。但是这个问题还是可以解决的: (1)使用默认编码建立数据库。这种情况下就可以直接输入中文了,但是相应的问题,就是会 失去UTF-8编码的灵活性。特别是不利于软件的国际化。 (2)放弃命令行窗口登录MySQL,使用图形化客户端。客户端工具可以MySQL的官方网站上找到。”B. Mysql配置文件: “在my.ini里找到sql- mode='STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'把其中 的STRICT_TRANS_TABLES,去掉,或者把sql- mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION注释掉,然 后重启mysql就ok了”

搭建ldap服务器及web管理服务--phpldapadmin

系统版本:centos6

安装配置openldap: yum install openldap openldap-servers openldap-clients openldap-devel compat-openldap -y

cp /usr/share/openldap-servers/slapd.conf.obsolete   /etc/openldap/slapd.conf  #拷贝配置文件

cp /usr/share/openldap-servers/DB_CONFIG.example   /var/lib/ldap/DB_CONFIG; chown -R ldap.ldap /var/lib/ldap

[root@test ~]# slappasswd    #创建管理员密码
New password:
Re-enter new password:
{SSHA}0TSMZUxWZ4Zv3EHrqA0yq0dvFgnkZhPH

修改配置文件slapd.conf:

        

suffix "dc=my-domain,dc=com"
checkpoint 1024 15
rootdn "cn=Manager,dc=my-domain,dc=com"

改为

suffix "dc=ldap,dc=xxxxx,dc=net" #basedn
checkpoint 1024 15
rootdn "cn=Manager,dc=ldap,dc=xxxxx,dc=net"  #rootdn
rootpw {SSHA}0TSMZUxWZ4Zv3ABqA0yq0dvFgGkZhPH  #管理员修改密码 需调整此配置

配置完后检查下配置:

[root@test openldap]# slaptest -f slapd.conf
config file testing succeeded

启动ldap服务:/etc/init.d/slapd  start

 

迁移用户数据到openldap

安装配置迁移工具: yum install http://mirror.centos.org/centos/6/os/x86_64/Packages/migrationtools-47-7.el6.noarch.rpm  -y

cd /usr/share/migrationtools/  && vim migrate_common.ph

 

70 # Default DNS domain
71 $DEFAULT_MAIL_DOMAIN = "ldap.xxxxx.net";

72

73 # Default base
74 $DEFAULT_BASE = "dc=ldap,dc=xxxxx,dc=net";

 

主要概念:

dn: 唯一区分名

dc: 所属区域

ou: 所属组织

cn/uid: 全名/登录id

#运行脚本 migrate_base.pl,它会创建根项,并未 Hosts、networks、Group和People等创建低一级的组织单元,指定为base.ldif文件

./migrate_base.pl >base.ldif

 ldapadd  -D "cn=Manager,dc=ldap,dc=xxxxx,dc=net" -W -x -f base.ldif

安装phpldapadmin

yum install phpldapadmin  -y #要有epel源

修改httpd配置文件: vim /etc/httpd/conf.d/phpldapadmin.conf 修改为以下

ServerName ldap.xxxx.net
Alias /phpldapadmin /usr/share/phpldapadmin/htdocs
Alias /ldapadmin /usr/share/phpldapadmin/htdocs

      <Directory /usr/share/phpldapadmin/htdocs>
      <IfModule mod_authz_core.c>
      # Apache 2.4
         Require all granted
      </IfModule>
      <IfModule !mod_authz_core.c>
      # Apache 2.2
        Order Deny,Allow
        Allow from all
      </IfModule>
      </Directory>

修改phpldapadmin配置文件:vim /etc/phpldapadmin/config.php

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

 

网页访问phpldapadmin

配置完成。

以上是关于如何在linux系统中使用PHPLDAPadmin来管理MYSQL等数据的主要内容,如果未能解决你的问题,请参考以下文章

docker下快速部署openldap与PHPLdapAdmin

docker下快速部署openldap与PHPLdapAdmin

docker下快速部署openldap与PHPLdapAdmin

phpldapadmin 没有加载 php

12.OpenLDAP管理工具Phpldapadmin的安装及使用

Centos6.8OpenLDAP+PhpLdapAdmin部署