Миграция с первого Apache на второй: аутентификация
Был у меня сервер, на котором среди прочего крутился Apache версии 1.3.x Потом, поставил AltLinux Server 4.0. В нем на выбор два Apacha: 1-й и 2-й. Решил ставить 2-й. На домашней машине давно уже работает, да и надо же переходить когда-то. Кое-что пришлось настраивать-перенастраивать, но под конец почти все заработало. Остались мелочи. Среди них настройка каталога с доступом по паролю.
Вот тут-то и начались проблемы.
Старый файл .htaccess выглядел следующим образом:
AuthType Basic
AuthName Admins
AuthUserFile /var/www/ab/.htpasswd
AuthGroupFile /dev/null
require valid-userСразу заработать все это не захотело. Пришлось помучиться.
На разных этапах настройки error_log радовал меня сообщениями типа:
[Tue Sep 09 12:42:33 2008] [alert] [client 192.168.1.1] /var/www/ab/.htaccess: Invalid command 'AuthGroupFile', perhaps misspelled or defined by a module not included in the server configurationили
[Tue Sep 09 13:8:10 2008] [crit] [client 192.168.1.1] configuration error: couldn't check access. No groups file?: /ab/Поразному исправлял .htaccess, добавлял разные модули, читал многочисленную ругань по поводу AuthGroupFile - и совсем убирал эту директиву и подставлял реальный файл.
Результат: все заработало после того, как загрузил все необходимые модули.
httpd2 -M сейчас выдает:
core_module (static)
mpm_prefork_module (static)
http_module (static)
so_module (static)
alias_module (shared)
auth_basic_module (shared)
authn_file_module (shared)
authz_groupfile_module (shared)
authz_host_module (shared)
authz_user_module (shared)
autoindex_module (shared)
dir_module (shared)
include_module (shared)
log_config_module (shared)
logio_module (shared)
mime_module (shared)
negotiation_module (shared)Решение: подключение модулей
Отвечающих за аутентификацию модулей четыре. Для их подключения пришлось следующие команды:
cd /etc/httpd2/conf/mods-enabled/
ln -s ../mods-available/auth_basic.load auth_basic.load
ln -s ../mods-available/authn_file.load authn_file.load
ln -s ../mods-available/authz_groupfile.load authz_groupfile.load
ln -s ../mods-available/authz_user.load authz_user.load
service httpd2 restartЧто сказать? Прогресс! В первом Apache мне приходилось работать с модулями только для настройки php. Теперь целых четыре модуля для настройки одной только аутентификации!

Комментарии:
Отправить комментарий