Я только что установил веб-сервер Apache на Ubuntu 11.04 в VMWare Workstation. Я создал простую HTML-страницу, назвал ее index.html и поместил в каталог / var / www (корень документа).
Я могу получить доступ к этой веб-странице из своей ОС (Windows 7), указав в браузере:
http://192.168.2.2/index.html
где 192.168.2.2 - это IP-адрес виртуальной машины Ubuntu.
Затем, чтобы протестировать различные конфигурации файлов .htaccess, я создал новый каталог в / var / www под названием members.
Внутри этого каталога я создал и поместил файл .htaccess со следующей конфигурацией:
AuthUserFile /www/Neon/auth/.htpasswd
AuthName "neon's home"
AuthType Basic
require valid-user
IndexIgnore */*
Я создал путь к каталогу, например / var / www / Neon / auth /
а затем поместил внутрь него файл .htpasswd.
Чтобы поместить имя пользователя и хэш в файл .htpasswd: я создал имя пользователя "neon", вычислил хэш DES пароля и поместил его в файл .htpasswd в формате:
username:hash
Теперь, когда я пытаюсь получить доступ к веб-странице: http://192.168.2.2/members/
Он не предлагает мне ввести имя пользователя и пароль во всплывающем окне. Вместо этого он просто отображает index.html, который находится в каталоге участников.
Я бы хотел, чтобы эта конфигурация заработала :)
Я бы предложил использовать встроенный инструмент Apache для создания записей htpasswd.
htpasswd -c /www/Neon/auth/.htpasswd username
Это создаст для вас файл .htpasswd. Когда вы собираетесь добавить новое имя пользователя в этот файл, опустите параметр -c, и в него будут добавлены новые записи.
Первое предположение: вам не хватает AuthGroupFile, который может быть установлен в / dev / null, чтобы отключить все функции группы.
Другой вариант: поищите в error_log конкретный сервер / vhost.
Проверьте этот сайт: http://www.htaccesstools.com/htpasswd-generator/
Это может помочь вам создать правильный файл .htpasswd.
Вы уверены, что на вашем сайте conf / etc / apache2 / sites-avaliable (если вы используете apache) есть директива AllowOverride All? В противном случае .htaccess будет проигнорирован из apache.
Извините за плохой английский, но я итальянец.
Возможно, проблема в том, что вы сказали Apache искать файл в /www/Neon/auth/
и вы действительно создали файл в /var/www/Neon/auth
? Другими словами, по какой причине вы думаете, что Apache понимает, что www/Neon/
каталог находится внутри /var/
а не в корне файловой системы?