Я теряю часы с этой простой задачей (должно быть). Я хочу ограничить доступ к своему веб-сайту, который находится на моем сервере в / var / www /.
Я успешно создал файл / etc / apache2 / passwords с помощью httpasswd (пользователь primoz). Я поместил .htaccess в / var / www /, и вот его содержимое:
AuthType Basic
AuthName "RestrictedFiles"
AuthBasicProvider file
AuthUserFile /etc/apache2/passwords
Require user primoz
Мой сайт все еще доступен. Я также попытался отредактировать строку / etc / apache2 / sites-enabled / 000-default - AllowOverride Нет к AllowOverride All. Не нужно упоминать, что никаких изменений он не вносил.
Должно ли ограничение действительно расстраивать?
РЕДАКТИРОВАТЬ: /etc/apache2/httpd.conf по умолчанию пусто, потому что я запускаю сервер на Debian, который вместо этого использует apache2.conf.
Вот это весь apache2.conf.
Я смог решить эту проблему. Конфигурация в / и т.д. / apache2 / сайты-включен / 000-по умолчанию было AllowOverride Нет вместо того AllowOverride All.
Я был уверен, что изменил это, но думаю, я вернул файл, когда он не работал (не помню почему - возможно, что-то еще было неправильно настроено). В любом случае, первый абзац - это решение.
Включить .htaccess через httpd.conf
а затем поместите этот код в свой .htaccess
под DOCUMENT_ROOT
каталог:
AuthType Basic
AuthName "RestrictedFiles"
AuthUserFile /etc/apache2/passwords
Require valid-user
Также убедитесь, что mod_authn_core включен.
Просто посмотрите на мой (который сейчас используется):
AuthUserFile /var/www/www.site.com/htdocs/.htpasswd
AuthName Password_secure
AuthType Basic
require valid-user
Вам также следует отредактировать свой apache2.conf
и убедитесь, что включены следующие параметры:
LoadModule rewrite_module modules/mod_rewrite.so
И варианты / позволяет:
<Directory /your/path>
Options FollowSymLinks
AllowOverride All
Order deny,allow
Deny from all
Satisfy all
</Directory>
Если это для виртуального хоста, тогда этот блок должен находиться внутри <VirtualHost></VirtualHost>
теги.
Помимо этого, трудно понять, что вызывает у вас проблемы, не глядя на полную apache2.conf