Назад | Перейти на главную страницу

Проблема .htaccess на веб-сервере Apache в виртуальной машине Ubuntu

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