Проблема.htaccess на веб-сервере Apache в виртуальной машине Ubuntu
Я только что установил веб-сервер Apache на Ubuntu 11.04 на рабочей станции VMWare. Я создал простую 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, который находится внутри каталога members.
Я хотел бы, чтобы эта конфигурация работала:)
4 ответа
Первое предположение: вам не хватает AuthGroupFile, который может быть установлен в /dev/null, чтобы отключить все функциональные возможности группы.
Другое предположение: ищите в error_log конкретный сервер /vhost.
Я бы предложил использовать встроенный в Apache инструмент для генерации записей htpasswd.
htpasswd -c /www/Neon/auth/.htpasswd username
Это создаст файл.htpasswd для вас. Когда вы собираетесь добавить новое имя пользователя в этот файл, пропустите параметр -c, и он добавит новые записи в него.
Проверьте этот сайт: 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/
а не в корне файловой системы?