前言: 公司的账号管理一直使用的ldap统一管理,之前就部署过,但是时间有点久了,刚好最近需要部署,那就写篇文章记录一下,免得再次忘记
环境准备:
- ubuntu-20.04.6
- docker
- docker-compose
正式开始
-
创建容器需要的目录
mkdir /data/openldap/database -p#数据存储的目录mkdir /data/openldap/config -p#放置配置文件的目录mkdir /data/openldap/certs -p#证书目录
-
docker-compose部署ldap-services和管理界面,进入ldap目录
cd /data/openldap,创建编排文件vim openldap.yamlversion: '3' #创建网络 networks: openldap_net: driver: bridge services: openldap: image: osixia/openldap:1.5.0 container_name: openldap_service hostname: openldap_service restart: always environment: TZ: Asia/Shanghai #所属的组织,一般为企业顶级域名 LDAP_ORGANISATION: "xxx.com" #所属域,一般为域名(顶级域名或者下级域名) LDAP_DOMAIN: "xxx.com" # 管理员用户名 LDAP_ADMIN_USERNAME: "admin" # 管理员根目录 LDAP_ROOT: "dc=xxx,dc=com" # 管理员登录密码 LDAP_ADMIN_PASSWORD: "123456" command: [ '--copy-service' ] volumes: - /data/openldap/database:/var/lib/ldap - /data/openldap/config:/etc/ldap/slapd.d - /data/openldap/certs:/container/service/slapd/assets/certs ports: - 388:389 networks: - openldap_net phpldapadmin: image: osixia/phpldapadmin:0.9.0 container_name: phpldapadmin hostname: phpldapadmin restart: always environment: TZ: Asia/Shanghai # 设置容器时区与宿主机保持一致 PHPLDAPADMIN_HTTPS: "false" # 是否使用https PHPLDAPADMIN_LDAP_HOSTS: openldap_service # 指定LDAP容器名称 ports: - 8090:80 depends_on: - openldap links: - openldap networks: - openldap_net -
执行部署命令:
docker-compose -f openldap.yaml up -d启动完成
-
打开web控制台页面,地址:http://IP:8090
-
Login项 填入配置的LDAP_ADMIN_USERNAME和LDAP_ROOT:
cn=admin,dc=xxx,dc=com,Password项 填入配置的密码LDAP_ADMIN_PASSWORD:123456,点击Authenticate登录成功后就可以愉快的玩耍啦~~~ -
设置中文 进入容器:
docker exec -it phpldapadmin /bin/bash安装中文语言,容器内按顺序执行:#更新包 apt-get update -y #安装中文语言环境 apt-get install -y locales #生成中文环境 echo "zh_CN.UTF-8 UTF-8" >> /etc/locale.gen #设置中文环境 locale-gen #### 写入 bash.bashrc 文件 echo -e "\n# chinese zh_CN.UTF-8" >> /etc/bash.bashrc echo -e "export LANG=\"zh_CN.UTF-8\"" >> /etc/bash.bashrc echo -e "export LANGUAGE=\"zh_CN.UTF-8\"" >> /etc/bash.bashrc echo -e "export LC_ALL=\"zh_CN.UTF-8\"" >> /etc/bash.bashrc #### 写入 profile 文件 echo -e "\n# chinese zh_CN.UTF-8" >> /etc/profile echo -e "export LANG=\"zh_CN.UTF-8\"" >> /profile echo -e "export LANGUAGE=\"zh_CN.UTF-8\"" >> /etc/profile echo -e "export LC_ALL=\"zh_CN.UTF-8\"" >> /etc/profile -
重启容器
docker restart phpldapadmin刷新web页面就可以看到已设置为中文