Page 184 - 4636
P. 184
Установка модуля mod_auth_mysql
Щоб можна було використовувати модуль mod_auth_mysql, необхідно встановити сервер Apache
і Mysql — відповідно до інструкцій з додатка А. Потім необхідно виконати ще кілька кроків. Досить
докладні інструкції наведені у файлах README і USAGE дистрибутива, однак у рядах місць вони
посилаються на поведінку попередніх версій. Нижче коротко описані основні дії.
1 Отримайте архів дистрибутиву цього модуля. Остання версія модуля доступна для
завантаження за адресою http: //sourceforge. net /pro jects/modauthmysql/.
2 Скористайтеся утилітами zip і tar для розпакування вихідного коду.
3 Перейдіть у каталог mod_auth__mysql, запустіть make, а потім make install. Можливо, в make-
файлі (Makefile) буде потрібно змінити розташування встановленої копії Mysql.
4 Додайте у файл httpd. conf наступний рядок, який забезпечить динамічне завантаження
модуля в Apache:
5 Loadmodule mysql_auth_module libexec/mod_auth_mysql.so
6 Створіть в Mysql базу даних і таблицю, у якій будуть зберігатися дані аутентифікації. Для
цього не обов'язково створювати окрему базу даних і таблицю. Можна скористатися існуючими
таблицями як auth, яка застосовувалася в прикладах цієї лекції.
7 Додайте у файл httpd. conf рядок параметрів для модуля mod_auth_mysql, які потрібні для
підключення до бази даних. Директива повинна виглядати так:
Auth_Mysql_Info ім'я_хоста ім'я_користувача пароль
Для перевірки, чи працюють скомпільовані модулі, найпростіше перевірити, чи запускається
сервер Apache. Для запуску Apache необхідно ввести команду
/usr/local/apache/bin/apachectl startssl
Якщо сервер запуститься з директивою Auth_Mysql_Info у файлі httpd.conf, модуль modauthmysql
успішно встановлений.
Використання модуля mod_auth_mysql
Після того як модуль mod_auth_mysql успішно встановлений, його використовувати не
складніше, ніж модуль modauth. У лістингу 9.8 показаний приклад файлу .htaccess, що дозволяє
аутентифікувати користувачів із зашифрованими паролями, які будуть зберігатися в базі даних,
створеної раніше в цій лекції.
Лістинг 10.8. .htaccess — цей файл виконує аутентификацию користувачів із
застосуваннями бази даних Mysql
Error-Document 401 /chapterl7/rejection.html
Authxarr.e "Realm-Name" Au-htype Basic
Avnh_Mysql_DB auth Aurh_Mysql_Encryption_Types Mysql
Ajr.h_Mysql_Password_Table authorisedusers Auth_Mysql_Username_Field name
Auth_Mysql_Password_Field password
require valid-user
Як бачите, значна частина цього файлу збігається з файлом, наведеним у лістингу 9.6. Ми, як і
раніше, вказуємо файл із повідомленнями про помилку 401 (невдала аутентифікація). Знову зазначена
базова аутентифікація й ім'я зони. І, як у лістингу 9.6, доступ дозволений будь-якому користувачеві,
який успішно пройшов аутентифікацію.
Оскільки застосовується модуль modauthmysql, і не хотілося б використовувати установки за
замовчуванням, у лістингу 9.8 зазначені додаткові директиви для налаштування. Директиви
Auth_Mysql_DB, Auth_Mysql_Password Table, Auth_Mysql__ UsernameField і
Auth_Mysql_Password_Field використовуються для вказівки, відповідно, імені бази даних,
таблиці й полів імені користувача й пароля.
У лістингу наявна директива Authmysqlencryption Types, яка вказує шифрування паролів
Mysql. Для цієї директиви можливі значення Plaintext, Cryptdes або Mysql. Значення Cryptdes
використовується за замовчуванням, і воно активізує використання стандартного для Unix алгоритму
шифрування паролів DEIS.
181