如何在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