Сбой htdbm и mod_authn_dbm при миграции между серверами apache 2.2

Я перевожу существующий веб-сайт с Apache 2.2.4 на 32-битной Gentoo на Apache 2.2.27 на 64-битной CentOS. Этот конкретный сайт использует DBM для аутентификации с зашифрованными паролями.

На старой системе, если я наберу:

htdbm -l access.db

Я получаю список пользователей в файле.

В новой системе та же команда выводит:

Error opening database access.db
No such file or directory

Я проверил разрешения на access.db и попытался запустить htdbm от имени пользователя root. Это должна быть ошибка формата.

Затем я обнаружил, что Apache не был скомпилирован с --with-berkeley-db, поэтому я включил это и перекомпилировал Apache.

Тем не менее, теперь результат:

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

Я знаю, что этот конкретный файл содержит 68 записей.

Интересно, что этот файл сообщается как:

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

Принимая во внимание, что я нашел другой файл BDB, который работал в этой системе, и он показал:

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

Что еще я могу сделать, чтобы узнать, почему первый файл не может быть прочитан? Если это версия, как я могу преобразовать файл в более новую версию?

1 ответ

Решение

Мое решение на данный момент заключается в использовании

db_dump 

на старом сервере и

db_load

на новом сервере.

Я предполагаю, что смогу сделать все это на новом сервере, если я получу старую версию библиотек BDB и скомпилирую их с использованием

 ---with-dbm

флаг.

Однако в настоящее время, поскольку у меня есть рабочие версии в обоих местах, это самое быстрое решение для меня сейчас.

Другие вопросы по тегам