Проблема.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/ а не в корне файловой системы?

Другие вопросы по тегам