Вы можете использовать пропатченную версию mod-auth-mysql, чтобы принимать зашифрованные пароли Phpass. Я включу инструкции о том, как это сделать в Ubuntu и Debian.
Необработанный файл исправления доступен здесь
Исправление Mod-auth-mysql в Ubuntu/Debian для поддержки Phpass
Эти инструкции были протестированы в Ubuntu 10.4, 12.04 и 14.04.5, но должны работать и на многих других платформах на основе Debian с минимальными изменениями.
Создайте рабочий каталог для сборки исправленного пакета .deb.
mkdir mod-auth-mysql-phpass
cd mod-auth-mysql-phpass
Получите зависимости, необходимые для сборки пакета и исходного кода пакета.
sudo apt-get build-dep mod-auth-mysql fakeroot
apt-get source mod-auth-mysql
Перейдите во вновь созданную исходную папку.
cd mod-auth-mysql-4.3.9
Используйте инструмент Debian для создания патча в правильном формате Debian (.dpatch). Сначала проверьте текущий список патчей.
cat debian/patches/00list
Последний официальный патч будет в конце списка. Используйте имя последнего патча в качестве последнего аргумента команды dpatch-edit-patch ниже. Также выберите номер на один больше для имени нового патча phpass. В моем случае последний патч в списке был 017-doc_persistent_conn.dpatch, а имя патча phpass тогда 018-phpass.
dpatch-edit-patch patch 018-phpass 017-doc_persistent_conn.dpatch
dpatch-edit-patch запустит новую оболочку в специальной папке, которую она будет использовать для создания пользовательского патча в формате Debian.
скачать сырой патч
wget https://pelam.fi/published_sources/mod-auth-mysql-phpass/patch.diff
Примените необработанный патч и удалите его.
patch < patch.diff
rm patch.diff
Сообщите dpatch-edit-patch, что наш пользовательский патч может быть сгенерирован.
exit
Удивитесь вашему новому правильно отформатированному патчу Debian. Вам также следует ознакомиться с изменениями, внесенными этим неофициальным патчем, если вы заботитесь о безопасности :)
cat debian/patches/018-phpass.dpatch
Добавьте новый патч в список патчей, которые будут применяться при сборке пакета .deb.
echo 018-phpass.dpatch >> debian/patches/00list
Соберите пропатченный пакет
dpkg-buildpackage -b -uc
Теперь вы можете установить созданный вами пакет .deb (имя собранного пакета может отличаться в зависимости от вашей системы).
sudo dpkg --install ../libapache2-mod-auth-mysql_4.3.9-13.1ubuntu3_amd64.deb
Настройка Mod-auth-mysql для аутентификации в Wordpress с использованием Phpass
Включить mod-auth-mysql:
sudo a2enmod auth_mysql
Перезапустите apache, чтобы новый модуль вступил в силу:
sudo service apache2 restart
Документацию (теперь включая Phpass) можно просмотреть, например. меньше команды
zless /usr/share/doc/libapache2-mod-auth-mysql/DIRECTIVES.gz
Вот пример файла .htaccess, доступ к которому разрешен только администраторам Wordpress:
AuthType Basic
AuthName "Give Wordpress Administrator username and password"
Auth_MySQL_User YOUR_MYSQL_USER_HERE
Auth_MySQL_Password YOUR_MYSQL_PASSWORD_HERE
Auth_MySQL_Host YOUR_MYSQL_SERVER_HERE
AuthBasicAuthoritative Off
# I don't know a better way to disable the default password file authentication
AuthUserFile /dev/null
Auth_MySQL on
Auth_MySQL_DB YOUR_WORDPRESS_MYSQL_SCHEMA_NAME_HERE
Auth_MySQL_Password_Table wp_users
Auth_MySQL_Username_Field wp_users.user_login
Auth_MySQL_Password_Field wp_users.user_pass
Auth_MySQL_Encryption_Types PHPass PHP_MD5
Auth_MySQL_Group_Table "wp_users, wp_usermeta"
Auth_MySQL_Group_Clause "AND wp_users.ID = wp_usermeta.user_id AND wp_usermeta.meta_key='wp-capabilities' and m.meta_value like '%s:13:\"administrator\"%'"
Auth_MySQL_Persistent On
Auth_MySQL_Authoritative Off
Auth_MySQL_CharacterSet utf8
Require valid-user
Order allow,deny
Allow from all
person
Peter Lamberg
schedule
22.09.2012