在Apache 2.2服务器之间迁移时,htdbm和mod_authn_dbm失败

我将现有的网站从Gentoo 32位的Apache 2.2.4迁移到CentOS 64位的Apache 2.2.27。 这个特定的站点使用DBM进行encryption密码validation。

在旧的系统上,如果我键入:

htdbm -l access.db 

我得到了文件中的用户列表。

在新系统上,同样的命令输出:

 Error opening database access.db No such file or directory 

我已经检查了access.db的权限,我尝试以根用户身份运行htdbm。 它必须是一个格式错误。

然后,我发现Apache并没有使用–with-berkeley-db编译,所以我启用了并重新编译了Apache。

但是,现在的结果是:

 Dumping records from database -- access.db Username Comment Total #records : 0 

我知道这个特定的文件包含68个logging。

有趣的是,这个文件被报告为:

 access.db: Berkeley DB (Hash, version 7, native byte-order) 

而我发现了另一个在这个系统上工作的BDB文件,它显示:

 restricted.db: Berkeley DB (Hash, version 8, native byte-order) 

我还能做些什么来找出为什么第一个文件不能被读取? 如果是版本,我怎样才能将文件转换为新版本?

我现在的解决scheme是使用

 db_dump 

在旧的服务器上,

 db_load 

在新的服务器上。

我认为我可以在新的服务器上完成这一切,如果我有一个老版本的BDB库,并使用它们进行编译

  ---with-dbm 

旗。

不过,目前这两个版本都有版本,这对我来说是最快的解决scheme。