You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker Compose部署OpenLDAP与phpLDAPAdmin异常排查求助

OpenLDAP & phpLDAPAdmin 部署问题排查方案

核心问题定位

OpenLDAP持续重启的根源是配置目录/etc/ldap/slapd.d为空,但数据库目录/var/lib/ldap非空,导致slapd启动时无法加载必要配置,直接退出(状态码1)。phpLDAPAdmin的连接错误是LDAP服务未正常运行的连锁反应。


解决方案步骤

1. 重置LDAP数据(适合首次部署或可丢弃现有数据场景)

如果不需要保留现有LDAP数据,直接清理关联卷并重新部署:

# 停止并删除容器及关联数据卷
docker-compose down -v
# 重新启动服务
docker-compose up -d

此操作会重建配置目录和数据库目录,镜像会自动初始化默认配置。

2. 保留现有数据修复配置(需保留已有LDAP数据场景)

如果要保留/var/lib/ldap中的数据,需要手动生成配置目录:

  1. 临时启动LDAP容器,挂载现有数据卷:

    docker run -it --rm \
      -v $(pwd)/ldap_data:/var/lib/ldap \
      -v $(pwd)/ldap_config:/etc/ldap/slapd.d \
      osixia/openldap:1.5.0 \
      bash
    

    (注:如果用命名卷,把$(pwd)/ldap_data换成卷名,比如ldap_data)

  2. 在临时容器内执行以下命令修复配置:

    # 导出现有数据的配置信息
    slapcat -n 0 -l /tmp/config.ldif
    # 清空空的配置目录
    rm -rf /etc/ldap/slapd.d/*
    # 导入配置到slapd.d目录
    slapadd -n 0 -F /etc/ldap/slapd.d -l /tmp/config.ldif
    # 修正目录权限
    chown -R openldap:openldap /etc/ldap/slapd.d
    
  3. 退出临时容器,重新启动docker-compose服务:

    docker-compose up -d
    

3. phpLDAPAdmin连接问题修复

等LDAP服务稳定运行后,检查以下配置:

  • 确认docker-compose.yml中phpLDAPAdmin的PHPLDAPADMIN_LDAP_HOSTS设置为LDAP服务的容器名(比如openldap),确保容器间网络连通。
  • 登录LDAP的正确DN格式:默认管理员DN为cn=admin,dc=coolstuff-enterprise,dc=org(而非直接使用base DN),密码为部署时设置的LDAP_ADMIN_PASSWORD。

验证配置示例

确保你的docker-compose.yml包含必要环境变量:

version: '3'
services:
  openldap:
    image: osixia/openldap:1.5.0
    container_name: openldap
    environment:
      LDAP_DOMAIN: coolstuff-enterprise.org
      LDAP_ADMIN_PASSWORD: your_admin_password
    volumes:
      - ldap_data:/var/lib/ldap
      - ldap_config:/etc/ldap/slapd.d
    ports:
      - "389:389"
      - "636:636"
    restart: unless-stopped

  phpldapadmin:
    image: osixia/phpldapadmin:0.9.0
    container_name: phpldapadmin
    environment:
      PHPLDAPADMIN_LDAP_HOSTS: openldap
      PHPLDAPADMIN_HTTPS: "false"
    ports:
      - "8080:80"
    depends_on:
      - openldap
    restart: unless-stopped

volumes:
  ldap_data:
  ldap_config:

内容的提问来源于stack exchange,提问作者scruffycoder86

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 13:13:19