Обновление до сервера Ubuntu 14.04 (и Apache2 2.4) Я не могу использовать MySQL в качестве htaccess;
До обновления я использовал MySQL в качестве htaccess на виртуальном хосте - работал хорошо:
<Directory /var/www/html/tilmelding/login>
AuthBasicAuthoritative Off
AuthUserFile /dev/null
# begin auth_mysql configuration
AuthMySQL On
AuthMySQL_Host localhost
AuthMySQL_User **********
AuthMySQL_Password *********
AuthMySQL_DB **********
AuthMySQL_Password_Table user_info
AuthMySQL_Username_Field user_name
AuthMySQL_Password_Field user_passwd
AuthMySQL_Empty_Passwords Off
AuthMySQL_Encryption_Types PHP_MD5
AuthMySQL_Authoritative
AuthType Basic
AuthName "auth_mysql test"
Require valid-user
После обновления это не сработало.
В лог-файле я получил:
[:debug] [pid 31333] mod_auth_mysql.c(1578): Constructing password collection query with passfield=[user_passwd], table=[user_info], userfield=[helgoland], where_clause=[]
[:debug] [pid 31333] mod_auth_mysql.c(1410): sec->dbh in /var/www/html/tilmelding/login/ is
[:debug] [pid 31333] mod_auth_mysql.c(1417): Ordinary query
[:debug] [pid 31333] mod_auth_mysql.c(1434): Running query: [SELECT user_passwd FROM user_info WHERE user_name='helgoland']
[:debug] [pid 31333] mod_auth_mysql.c(1522): Checking with PHP_MD5
[:debug] [pid 31333] mod_auth_mysql.c(1524): Auth succeeded
[:error] [pid 31333] No requires line available
Я могу выполнить запрос из CLI и получить MD5 обратно.
Что я пропустил?
Просто добавьте AuthMySQL_Authoritative Off
к .htaccess
Я наткнулся на ту же самую проблему, таким образом, я столкнулся с этим сообщением.
Для любого, кто заканчивает здесь, это - мое заключение.
После дальнейшего поиска сети, большинство людей, кажется, приходит к заключению, что lib-apache2-mod-auth-mysql является несовместимым с Apache 2.4 (стандарт в Ubuntu 14.04), Кроме того, поддерживают для этого модуля, остановился.
Некоторые предлагают перекомпилировать (версия 3.0.0) с некоторыми патчами, решает проблему. Но это кажется вполне "hacky".
официальный "Apache" способ использовать стандартную аутентификацию / MySQL использования авторизации состоит в том, чтобы использовать dbd модуль (mod_authn_dbd). Как сделать, это объяснено вполне ясно в официальной документации Apache. http://httpd.apache.org/docs/current/mod/mod_authn_dbd.html .
Эта документация лицензируется в соответствии с лицензией Apache. http://www.apache.org/licenses/LICENSE-2.0
Так знать, что, хотя Вы могли установить lib-apache2-mod-auth-mysql со способным - входят в Ubuntu 14.04 LTS, этого, вероятно, лучше всего избегают, так как это по сути повреждается для этой версии.
AuthMySQL_Authoritative Прочь также работал на меня (как строка в конфигурации Virtualhost). Я полагаю, что это позволяет mod_auth_mysql передавать учетные данные на mod_auth для аутентификации.