Debian 13 安装 LDAP Account Manager 9.7 指南

在 Debian 13 从零安装 LAM 9.7 并接通 OpenLDAP:apt/官方 deb/tar.bz2 三方案、首次初始化与排障实录,全部命令实测。

LDAP Account ManagerLDAP Account ManagerLDAP 协议PHP 编程2026/10/28

Debian 13 安装 LDAP Account Manager 9.7 指南

目标:在 Debian 13 服务器上从零安装 LDAP Account Manager(LAM)9.7 并接通 OpenLDAP 后端,覆盖 apt 仓库、官方 deb、tar.bz2 三种安装方案、首次初始化全流程与排障实录。本文全部命令与回显已在 Debian 13.7(x86_64)+ OpenLDAP slapd 2.6.10 + Apache 2.4.69 + PHP 8.4.27 环境实测通过,操作日期 2026-10-28。

一、环境信息

  • 操作系统:Debian 13.7(trixie,x86_64)
  • 目录服务后端:OpenLDAP slapd 2.6.10+dfsg-1(同机部署,deb.debian.org 官方源)
  • Web 环境:Apache 2.4.69 + libapache2-mod-php(PHP 8.4.27,deb.debian.org 官方源)
  • 目标软件:LDAP Account Manager 9.7-1(官方 deb,GitHub Releases 2026-10-02 发布)
  • 安装布局(deb 方案):程序 /usr/share/ldap-account-manager/,主配置 /etc/ldap-account-manager/config.cfg,服务器 profile /var/lib/ldap-account-manager/config/,Apache 集成 /etc/ldap-account-manager/apache.conf(软链到 conf-enabled/)
  • 访问入口:http://<服务器IP>/lam/
  • 演示账号:LDAP 管理员 DN cn=admin,dc=example,dc=net,密码 q1w2e3r4;LAM 主配置密码 q1w2e3r4!(LAM 强制要求含字母、数字与符号)
  • 组件版本说明:LAM 自身不含守护进程,它以 PHP 模块形式运行在 Apache 内,systemd 只托管 apache2 与后端 slapd 两个服务

二、前置条件

2.1 系统与硬件

LAM 是轻量 Web 应用,官方手册未给出硬性硬件门槛;实测 2 核 2GB 内存即可流畅运行(PHP 单请求内存上限按官方要求 128M)。操作系统为 Debian 13(其他发行版见 2.4 的兼容说明)。下述两条命令用于确认系统版本与可用磁盘:

cat /etc/debian_version
df -h /usr | tail -1

实测回显:

13.7
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        40G  3.2G   35G   9% /

2.2 PHP 与扩展

LAM 官方手册要求 Apache/Nginx + PHP(手册口径 >= 8.1),需要 ldap、gettext、xml、openssl 扩展;9.5 版发布说明进一步将要求提升为 PHP 8.2 或更高(9.6 起兼容 PHP 8.5)。官方 deb 包 9.7-1 的依赖声明实测(dpkg -I 输出):

 Depends: php (>= 8.1), php-ldap, php-gd | php-imagick, php-json, php-curl, php-sqlite3, php-mysql, php-zip, php-xml, php-gmp, php-mbstring, libapache2-mod-php | libapache2-mod-fcgid | php-fpm, apache2 (>= 2.4.0) | httpd, gettext, fonts-dejavu, php-phpseclib3, php-monolog, libphp-phpmailer, debconf (>= 0.5) | debconf-2.0
 Recommends: php-opcache, php-apcu

逐项说明:php (>= 8.1) 是包级硬依赖;php-ldap 是连 LDAP 的核心扩展;php-sqlite3/php-mysql 供 9.7 审计日志与 LAM Pro 配置库使用;gettext、fonts-dejavu(PDF 导出字体)为独立系统包。本环境安装后 php -m 实测已含全部所需模块:

php -m | grep -iE "^(ldap|gettext|xml|openssl|zip|gd|curl|gmp|mbstring|sqlite3|json)$" | sort

实测回显:

curl
gd
gettext
gmp
json
ldap
mbstring
openssl
sqlite3
xml
zip

php.ini 的 memory_limit 官方要求 128M(大于 1 万条目建议 256M),Debian 官方包默认值即满足:

grep -E "^memory_limit" /etc/php/8.4/apache2/php.ini

实测回显:

memory_limit = 128M

2.3 后端 LDAP 目录

LAM 不存数据,必须连接一个已存在的标准 LDAP 服务器(OpenLDAP、Active Directory、Samba 4、OpenDJ、389 Directory Server、ApacheDS 均可)。本文以同机 OpenLDAP 为例,第 1 步就绪后用 ldapsearch 验证可绑定:

ldapsearch -x -H ldap://localhost -D "cn=admin,dc=example,dc=net" -w q1w2e3r4 -b dc=example,dc=net -s base dn

实测回显:

search: 2
result: 0 Success

2.4 其他注意事项

  • SELinux:官方手册明确 LAM 不附带 SELinux 策略,启用了 SELinux 的系统需自行定制或关闭(Debian 默认未启用,不受影响)。
  • 浏览器:管理台要求支持 CSS2/JavaScript 的现代浏览器(官方口径 Firefox/Edge/Opera/Chrome 均需两年内版本)。
  • lamdaemon(可选):需要通过 LAM 管理 shell 服务器上的配额与家目录时,额外安装 ldap-account-manager-lamdaemon 包并在目标服务器上为 Perl 提供运行环境(perl 在 Debian 13 基础系统自带)。
  • 其他发行版:官方同时发布 Fedora/SUSE RPM(GitHub Releases)与 tar.bz2 通用包;Ubuntu 与 Debian 同构,方法一致。

三、版本选型说明

LAM 的获取渠道有三个,版本与适用场景差异明显,先对照再动手:

渠道实测版本是否需联网适用场景说明
Debian 13 官方仓库(apt)9.0-1需要(deb.debian.org)追求随系统升级、稳定优先版本落后上游约一年,无 9.7 审计日志等新特性
GitHub Releases 官方 deb9.7-1需要(github.com)想用最新稳定版(本文推荐)与上游发布同步,依赖自动补齐
官方 tar.bz2 源码包9.7需要(github.com)自定义 web 根目录、其他发行版、多实例并存安装位置完全自控,配置需手动接管

关键解读:Debian 13 仓库中的 9.0-1 与上游 9.7 的配置文件格式相同(9.0 起改为 JSON),但缺少 9.5 以来的安全修复(CVE-2026-27894、CVE-2026-27895)与 9.7 审计日志。生产环境建议直接用 GitHub 官方 deb 装最新版;apt 仓库方案的优势只在"跟随系统安全更新通道"。

PHP 版本与 LAM 版本的对应关系(官方发布说明与手册口径,查询日期 2026-10-28):

LAM 版本PHP 要求备注
9.7(本文实测)包依赖 >= 8.1;9.5 起官方口径 8.2+Debian 13 自带 PHP 8.4 直接满足
9.6兼容 PHP 8.5最早适配 8.5 的版本
9.58.2 或更高官方预构建发行同期改用 Debian 13 基础
9.2兼容 PHP 8.4—

四、方案 A:apt 安装 Debian 官方仓库版(9.0-1)

4.1 方案说明

Debian 官方仓库收录了 LAM(包名 ldap-account-manager),会自动带入 Apache、PHP 及全部依赖,是最省事的安装方式,代价是版本为仓库冻结的 9.0-1。适合不需要最新特性的场景。

4.2 安装步骤

先刷新索引(Debian 13 官方源当时实测可用,无需换源):

apt-get update

实测回显(节选):

Get:6 http://deb.debian.org/debian trixie-updates/main amd64 Packages [663 B]
Fetched 367 kB in 2s (172 kB/s)
Reading package lists...

安装主包(自动带入 slapd 之外的 Apache/PHP 依赖;此处假设 LDAP 后端已按 2.3 节就绪,如后端也需安装见第八节 8.2 的 preseed 命令组):

DEBIAN_FRONTEND=noninteractive apt-get install -y ldap-account-manager

安装完成后确认版本:

dpkg -l ldap-account-manager | tail -1

实测回显:

ii  ldap-account-manager 9.0-1        all          webfrontend for managing accounts in an LDAP directory

4.3 systemd 托管与验证

deb 包安装时已自动注册 Apache 集成配置(/etc/ldap-account-manager/apache.conf 软链至 conf-enabled/)。设置服务开机自启并启动(LAM 无独立服务,托管的是 Apache 与 slapd):

systemctl enable apache2
systemctl enable slapd
systemctl start apache2
systemctl start slapd

验证两个服务状态与开机自启:

systemctl is-active apache2
systemctl is-active slapd
systemctl is-enabled apache2
systemctl is-enabled slapd

实测回显:

active
active
enabled
enabled

验证登录页:

curl -s -o /dev/null -w "%{http_code}\n" http://localhost/lam/
curl -s http://localhost/lam/ | grep -o "<title>[^<]*</title>"

实测回显:

200
<title>LDAP Account Manager</title>

五、方案 B:GitHub 官方 deb 包安装最新 9.7(推荐)

5.1 方案说明

GitHub Releases 提供 LAM 每个版本的官方 deb(主程序 + lamdaemon 两个包),版本与上游同步。若已按方案 A 装过 9.0-1,用本方案可直接原地升级(5.3 节实测),配置不会丢失。

5.2 下载与安装

下载 9.7 官方 deb(文件大小 31203432 字节):

wget -O /tmp/lam97.deb https://github.com/LDAPAccountManager/lam/releases/download/9.7/ldap-account-manager_9.7-1_all.deb
ls -la /tmp/lam97.deb

实测回显:

-rw-r--r-- 1 root root 31203432 Oct  2 06:14 /tmp/lam97.deb

安装(官方手册口径:若报依赖缺失,紧跟 apt-get -f install 补齐):

dpkg -i /tmp/lam97.deb
apt-get -f install -y

实测回显(dpkg -i 报依赖不全,处于未配置状态):

 dependency problems - leaving unconfigured
Errors were encountered while processing:
 ldap-account-manager

apt-get -f install 补齐后(节选):

Setting up php-sqlite3 (2:8.4+96) ...
Processing triggers for libapache2-mod-php8.4 (8.4.27-1~deb13u1) ...

确认版本已到位:

dpkg -l ldap-account-manager | tail -1

实测回显:

ii  ldap-account-manager 9.7-1        all          webfrontend for managing accounts in an LDAP directory

可选安装 lamdaemon(配额/家目录管理,纯可选组件):

wget -O /tmp/lamd97.deb https://github.com/LDAPAccountManager/lam/releases/download/9.7/ldap-account-manager-lamdaemon_9.7-1_all.deb
dpkg -i /tmp/lamd97.deb

5.3 从 9.0-1 原地升级到 9.7(实测)

若先前用方案 A 安装过 9.0-1,直接重复 5.2 的 dpkg -i 即完成升级,无需卸载旧版(官方手册:DEB 安装升级不需要备份与恢复配置)。升级后版本与配置实测:

dpkg -l ldap-account-manager | tail -1
ls /var/lib/ldap-account-manager/config/

实测回显:

ii  ldap-account-manager 9.7-1        all          webfrontend for managing accounts in an LDAP directory
addressbook.sample.conf
config.cfg
config.cfg.sample
lam.conf
language
pdf
profiles
selfService
templates

⚠️ 注意:升级过程中 Apache 可能未自动重载,执行 systemctl reload apache2 后再访问。本文实测升级后登录页 200、原有 profile 与主配置密码均保留。

5.4 验证

systemctl reload apache2
curl -s -o /dev/null -w "%{http_code}\n" http://localhost/lam/

实测回显:

200

六、方案 C:tar.bz2 源码包安装(自定义 web 根 / 任意发行版)

6.1 方案说明

tar.bz2 通用包适合两类场景:发行版无官方包(如 Rocky/Alma),或需要把 LAM 放到自定义 web 根目录、多版本并存。官方提供两种装法:configure + make install(自动设置目录属主)或手工拷贝(需自行 chown)。本文实测前者。

6.2 下载与解压

wget -O /tmp/lam97.tar.bz2 https://github.com/LDAPAccountManager/lam/releases/download/9.7/ldap-account-manager-9.7.tar.bz2
ls -la /tmp/lam97.tar.bz2
apt-get install -y bzip2
cd /root && mkdir -p lam-src && cd lam-src && tar xjf /tmp/lam97.tar.bz2

实测回显(下载文件 42521725 字节):

-rw-r--r-- 1 root root 42521725 Oct  2 06:14 /tmp/lam97.tar.bz2

⚠️ 排障实录:最小化系统缺 bzip2 时,tar xjf 直接报 tar (child): bzip2: Cannot exec: No such file or directory,先 apt-get install -y bzip2 再解压。若把源码解到挂载了 noexec 的分区(部分服务器对 /tmp 做了 noexec 加固),./configure 会报 Permission denied,换到普通目录(如 /root)即可。

6.3 configure + make install

在解压目录执行配置与安装,三个参数都要给:web 根目录、Apache 运行用户与组(默认组是 httpd,Debian 上是 www-data,缺省会报 chown 错误):

cd /root/lam-src/ldap-account-manager-9.7
./configure --with-web-root=/var/www/lam --with-httpd-user=www-data --with-httpd-group=www-data
make install

实测回显(节选):

checking for perl... /usr/bin/perl
configure: creating ./config.status
config.status: creating Makefile

安装完成后程序落在 /var/www/lam/,可写目录(config/sess/tmp)以软链形式指向运行时目录 /usr/local/lam/(实测属主已设为 www-data):

ls -ld /var/www/lam/sess /var/www/lam/tmp /var/www/lam/config

实测回显:

lrwxrwxrwx 1 root root 18 Oct 28 11:20 /var/www/lam/config -> /usr/local/lam/etc
lrwxrwxrwx 1 root root 23 Oct 28 11:20 /var/www/lam/sess -> /usr/local/lam/var/sess
lrwxrwxrwx 1 root root 22 Oct 28 11:20 /var/www/lam/tmp -> /usr/local/lam/var/tmp

⚠️ 排障实录:只给 --with-httpd-user 不给 --with-httpd-group 时,make install 报 chown: invalid group: 'www-data:httpd'(默认组名 httpd 在 Debian 不存在),目录属主不会设置,LAM 后续写配置/会话会失败。补齐 --with-httpd-group=www-data 重跑 make install 即可。

复制主配置样例并按 web 根修正(tar 包运行时目录在 /usr/local/lam/,首次安装会生成样例文件;若 etc/ 下无 config.cfg,从样例复制):

ls /usr/local/lam/etc/

实测回显:

config.cfg  config.cfg.sample  lam.conf  language  pdf  profiles  selfService  templates

6.4 Apache 集成

tar 包不带 Apache 配置,需手工加一个 Alias(与方案 A/B 的 deb 集成文件同构):

cat > /etc/apache2/conf-available/lam-tar.conf <<'EOF'
Alias /lam /var/www/lam
<Directory /var/www/lam>
  Options +FollowSymLinks
  Require all granted
  DirectoryIndex index.html
</Directory>
EOF
a2enconf lam-tar
systemctl reload apache2

实测回显(a2enconf):

To activate the new configuration, you need to run:
  systemctl reload apache2

⚠️ 排障实录:把配置写进 conf-available/ 后若忘了 a2enconf,访问一律 404(实测复现过);a2enconf 会把文件软链进 conf-enabled/。

6.5 验证

curl -s -o /dev/null -w "%{http_code}\n" http://localhost/lam/
curl -s http://localhost/lam/ | grep -o "<title>[^<]*</title>"

实测回显:

200
<title>LDAP Account Manager</title>

七、方案对比与选择建议

维度方案 A:apt 仓库方案 B:GitHub deb方案 C:tar.bz2
实测版本9.0-19.7-19.7
是否需联网是(deb.debian.org)是(github.com)是(github.com)
依赖处理apt 自动dpkg + apt -f install手动(Apache/PHP/bzip2/perl/make)
Apache 集成自动(conf-enabled)自动手写 Alias + a2enconf
程序位置/usr/share/ldap-account-manager/usr/share/ldap-account-manager自定义(如 /var/www/lam)
配置位置/etc/ldap-account-manager + /var/lib/.../config同左/usr/local/lam/etc
升级方式apt upgrade(随仓库)dpkg -i 新 deb 原地升级覆盖解压 + 手动迁移 config
systemd 服务apache2、slapdapache2、slapdapache2、slapd
适合跟随系统更新、稳定优先最新特性、生产推荐自定义路径/其他发行版/多版本并存

选择建议:可联网的生产服务器首选方案 B(版本最新、升级最省事);内网或对版本保守的环境选方案 A;需要自定义安装位置或非 Debian 系发行版选方案 C。

八、初始化配置(首次访问与后端对接)

安装只是第一步,LAM 首次使用有两道强制初始化:改主配置密码、初始化 LDAP 后缀。本节按实际点击流走完,并给出两处实测踩坑。

8.1 后端 OpenLDAP 准备(若尚未安装)

非交互预置并安装 slapd(域名 example.net、管理员密码 q1w2e3r4、MDB 后端),随后启动并验证:

echo "slapd slapd/no_configuration boolean false" | debconf-set-selections
echo "slapd slapd/domain string example.net" | debconf-set-selections
echo "slapd shared/organization string example.net" | debconf-set-selections
echo "slapd slapd/password1 password q1w2e3r4" | debconf-set-selections
echo "slapd slapd/password2 password q1w2e3r4" | debconf-set-selections
echo "slapd slapd/backend select MDB" | debconf-set-selections
DEBIAN_FRONTEND=noninteractive apt-get install -y slapd ldap-utils
systemctl start slapd
systemctl is-active slapd

实测回显:

active

版本确认与绑定验证:

slapd -VV 2>&1 | head -1
ldapsearch -x -H ldap://localhost -D "cn=admin,dc=example,dc=net" -w q1w2e3r4 -b dc=example,dc=net -s base dn

实测回显:

@(#) $OpenLDAP: slapd 2.6.10+dfsg-1 (May 29 2025 23:41:48) $
search: 2
result: 0 Success

8.2 服务器 profile 对接 slapd

deb 包出厂自带默认 profile lam.conf,其中管理员 DN 与账户类型后缀都是占位值(cn=Manager,dc=my-domain,dc=com、ou=People,dc=my-domain,dc=com)。先改管理员 DN,再把两类账户的后缀改成真实后缀(本文为 ou=people,dc=example,dc=net 与 ou=groups,dc=example,dc=net):

sed -i 's/cn=Manager,dc=my-domain,dc=com/cn=admin,dc=example,dc=net/' /var/lib/ldap-account-manager/config/lam.conf
sed -i 's|ou=People,dc=my-domain,dc=com|ou=people,dc=example,dc=net|; s|ou=group,dc=my-domain,dc=com|ou=groups,dc=example,dc=net|' /var/lib/ldap-account-manager/config/lam.conf
grep -E "Admins|suffix_" /var/lib/ldap-account-manager/config/lam.conf

实测回显:

  "Admins": "cn=admin,dc=example,dc=net",
    "suffix_user": "ou=people,dc=example,dc=net",
    "suffix_group": "ou=groups,dc=example,dc=net",

也可以不改文件、直接在 Web 界面 "Profile editor → Account types" 标签页里改(效果等价,保存后写回同一 JSON 文件)。profile 密码沿用出厂默认(等于主配置密码)。

8.3 第一道初始化:修改主配置密码

浏览器打开 http://<服务器IP>/lam/。LAM 检测到主配置密码仍是出厂默认 lam,会 302 重定向到强制初始化页:

curl -s -i http://localhost/lam/templates/login.php | grep -i "^Location"

实测回显:

Location: setInitialPassword.php

在 New password / Repeat password 两栏填入新主配置密码(本文用 q1w2e3r4!)并提交。

⚠️ 排障实录:主配置密码有强度校验——把密码设为 q1w2e3r4(8 位、无符号)实测被拒,页面原文提示:

Please enter at least 8 characters including letters, a number and a symbol.

即新密码必须同时包含字母、数字与符号。改用 q1w2e3r4! 通过。密码哈希以 {CRYPT-SHA512} 形式写入 /etc/ldap-account-manager/config.cfg 的 password 键。

8.4 登录与第二道初始化:创建 LDAP 后缀

初始化完成后回到登录页:profile 选 lam,用户名下拉即 profile 的 Admins 列表(显示为 admin,完整 DN cn=admin,dc=example,dc=net),密码 q1w2e3r4。输错密码时的报错原文(实测):

Wrong password/user name combination. Please try again.

首次登录成功后 LAM 会跳到后缀初始化页(提示 "The following suffixes are missing in LDAP. LAM can create them for you.",列出 ou=people,dc=example,dc=net 与 ou=groups,dc=example,dc=net),点 Create 提交。验证目录侧已生成:

ldapsearch -x -D "cn=admin,dc=example,dc=net" -w q1w2e3r4 -b dc=example,dc=net dn | grep "^dn"

实测回显:

dn: dc=example,dc=net
dn: ou=people,dc=example,dc=net
dn: ou=groups,dc=example,dc=net

⚠️ 排障实录:profile 里账户类型后缀与 slapd 实际后缀不一致时,点 Create 报 Failed to create entry!。LAM 默认日志去向是 SYSLOG,排查时建议临时改为文件便于定位:把 /etc/ldap-account-manager/config.cfg 的 "logDestination": "SYSLOG" 改为 "/var/lib/ldap-account-manager/lam.log"。本文实测日志与直连 slapd 的 ldapadd 双向印证,底层错误均为:

ldap_add: Server is unwilling to perform (53)
        additional info: no global superior knowledge

原因:LAM 在不存在的父 DN(dc=my-domain,dc=com)下建 OU。改对 8.2 节的后缀并重新登录(profile 在登录会话中缓存,改完必须退出重进)后再点 Create 即成功。

8.5 中文界面(可选)

LAM 界面语言依赖系统 locale。安装 locales 包并生成 zh_CN.UTF-8:

DEBIAN_FRONTEND=noninteractive apt-get install -y locales
sed -i "s/^# zh_CN.UTF-8 UTF-8/zh_CN.UTF-8 UTF-8/" /etc/locale.gen
locale-gen
locale -a | grep zh_CN

实测回显:

Generating locales (this might take a while)...
  zh_CN.UTF-8... done
Generation complete.
zh_CN.utf8

随后在 profile 的 defaultLanguage 设为 zh_CN.utf8(Web 界面 Profile editor → General settings 页选"简体中文"保存,或直接编辑 lam.conf),重新登录即中文界面。

8.6 端到端验证

登录主界面后,Users/Groups 页签可正常列出账户;用命令行建一个用户验证界面与目录互通(LAM 是同一 LDAP 库的另一个视图,命令行写入立即可见):

printf "dn: uid=tester1,ou=people,dc=example,dc=net\nobjectClass: inetOrgPerson\nobjectClass: posixAccount\nobjectClass: shadowAccount\nuid: tester1\ncn: Test User\nsn: User\ngivenName: Test\nuidNumber: 10001\ngidNumber: 10001\nhomeDirectory: /home/tester1\nuserPassword: q1w2e3r4\n" | ldapadd -x -D "cn=admin,dc=example,dc=net" -w q1w2e3r4

实测回显:

adding new entry "uid=tester1,ou=people,dc=example,dc=net"

刷新 LAM 的 Users 列表,tester1(uidNumber 10001)立即出现,即部署端到端完成。日常管理的命令行配套操作(备份、批量增删、密码重置)见 《LDAP Account Manager 9.7 常用 CLI 命令与工具详解》。

九、常见问题(FAQ)

Q1:dpkg -i 安装 9.7 deb 报 dependency problems - leaving unconfigured? deb 声明了 php-gd/php-sqlite3/php-mbstring 等一批扩展依赖,最小化系统未必齐全(实测复现)。按官方手册执行 apt-get -f install -y 自动补齐,随后 dpkg -l ldap-account-manager 应显示 ii 状态。

Q2:tar xjf 报 tar (child): bzip2: Cannot exec? 最小化系统没有 bzip2,apt-get install -y bzip2 后重新解压(实测复现)。

Q3:./configure 报 Permission denied? 源码被解到了挂载 noexec 的分区(常见于加固后的 /tmp)。把源码解到普通目录(如 /root/lam-src)再执行(实测复现)。

Q4:make install 报 chown: invalid group: 'www-data:httpd'? configure 只覆盖了用户没覆盖组,默认组名 httpd 在 Debian 不存在。三个参数一起给:--with-web-root=... --with-httpd-user=www-data --with-httpd-group=www-data,重跑 make install(实测复现)。

Q5:访问 http://<服务器IP>/lam/ 返回 404? 两种实测原因:其一,Apache 配置写进了 conf-available/ 但没 a2enconf 启用;其二,安装后 Apache 未重载,systemctl reload apache2 即可。验证手段:apachectl configtest 应输出 Syntax OK,ls /etc/apache2/conf-enabled/ | grep lam 应能看到软链。

Q6:首次访问被重定向到 setInitialPassword.php,且设密码总被拒? LAM 9.x 首次访问强制把主配置密码从默认 lam 改掉,且新密码必须含字母、数字与符号(报错原文见 8.3 节)。这是预期行为,不是故障。

Q7:后缀初始化报 Failed to create entry!? profile 的账户类型后缀(出厂占位 dc=my-domain,dc=com)与 slapd 实际后缀不一致。按 8.2 节改后缀、退出重登、重新点 Create;底层 LDAP 错误为 53 no global superior knowledge(排障全文见 8.4 节)。

Q8:想升级到最新版怎么办?会不会丢配置? deb 安装直接 dpkg -i 新版 deb 原地升级,配置自动保留(本文 9.0-1 → 9.7-1 原地升级实测,配置完整);tar.bz2 安装升级前按官方手册备份 config/*.conf、config/config.cfg、config/pdf/*.xml、config/profiles/*,装新版后覆盖回运行时目录。

十、卸载与清理

deb 方案卸载主程序与 lamdaemon(保留配置文件,便于日后重装):

apt-get remove -y ldap-account-manager ldap-account-manager-lamdaemon

实测回显(节选):

Conf ldap-account-manager disabled.
Removing ldap-account-manager-lamdaemon (9.7-1) ...

验证程序目录已删除、配置仍保留:

ls -d /usr/share/ldap-account-manager 2>/dev/null || echo "程序目录已删除"
ls /etc/ldap-account-manager/ /var/lib/ldap-account-manager/config/lam.conf

实测回显:

程序目录已删除
apache.conf  config.cfg  nginx.conf
/var/lib/ldap-account-manager/config/lam.conf

如需连同配置一并清除(不可逆,先备份):

apt-get purge -y ldap-account-manager ldap-account-manager-lamdaemon

tar.bz2 方案卸载:删除 web 根目录与运行时目录(按 6.3 节的示例路径):

rm -rf /var/www/lam /usr/local/lam
a2disconf lam-tar
systemctl reload apache2

本文实测过"卸载 → 重装"闭环:apt-get remove 后配置完整保留,重新 dpkg -i 9.7 deb 并 apt-get -f install,未重走首次初始化(主配置密码与 profile 修改全部还在),登录页恢复 200。

十一、参考链接