如何将ldap中的basedn更改为自己定义的
# 前言
在整个go-ldap-admin项目中,通过docker-compose拉起的测试环境时,默认的Base Dn
都是 dc=eryajf,dc=net
,大家想要用在自己的生产环境,自然就需要更改,本文就来讲一下更改这个配置项需要注意的一些问题。
首先我们看下要实现这一需求,所需要准备的文件以及目录分布:
$ tree -N docker-compose/
docker-compose/
├── config
│ ├── config.yml
│ ├── init.ldif
│ └── my.cnf
└── docker-compose.yml
1 directory, 4 files
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
其中的文件均取自与项目的默认配置:
- config.yml取自:config.yml (opens new window)。
- docker-compose目录取自:docker-compose (opens new window)。
# 实操
注意:默认域名为 eryajf.net,现在演示将其改成liql.com。
注意:这里仅讲解通过docker-compose拉起时需要更改的内容,其他部署方式根据情况自行调整。
如下操作都是进入到 docs/docker-compose
目录中执行的。
# 第一步: 更改config.yml
- 在
config.yml
中搜索dc=eryajf,dc=net
,然后全文替换为dc=liql,dc=com
。 - 通常你的
admin密码
应该也不是123456
,那么需要修改admin-pass:
对应字段的值。 - 还需要调整连接MySQL与openLDAP的地址:这一步的操作,与Dockerfile中的定义是一致的。
sed -i 's@localhost:389@openldap:389@g' config/config.yml \
&& sed -i 's@host: localhost@host: mysql@g' config/config.yml
1
2
2
这是因为docker-compose内,go-ldap-admin-server通过另外两个容器的名字进行连接。
# 第二步: 调整docker-compose.yml
- 在
docker-compose.yml
中搜索eryajf.net
,然后全文替换为liql.com
。 - 如果
admin
的密码有修改,也要注意与之对应,需要改这行:LDAP_ADMIN_PASSWORD: "123456"
。 - 还需要取消掉server的volume的注释:即取消如下两行注释。
volumes:
- ./config/config.yml:/app/config.yml
1
2
2
取消注释之后,要注意遵守yml格式的缩进,否则会解析失败。
# 第三步: 调整init.ldif
在 config/init.ldif
中搜索 dc=eryajf,dc=net
,然后全文替换为 dc=liql,dc=com
。这里的内容是ldap拉起时初始化
的一些信息。
# 第四步: 启动
docker-compose up -d
启动项目,即可在平台进行登陆。
# 其他注意
# 数据库数据初始化方式
在config.yml
配置中,有如下一条配置:
# 是否初始化数据(没有初始数据时使用, 已发布正式版改为false)
init-data: true
1
2
2
这条配置控制着MySQL数据初始化的方式,如果为true,则会执行后端定义好的初始化脚本将数据进行落位。
理论上来说,生产环境开启也问题不大,不过当你数据已经落位之后,建议改成false,以免数据发生冲突。
# 管理员非admin
看到有一些朋友定义的ldap管理员账户为 Manager
,而非admin,这可能会带来一些问题,但我没有详细的测验,所以建议与当前项目保持一致。
帮助我们改善此页面 (opens new window)
上次更新: 2023/03/28, 14:14:01