Apache: ограничение доступа с помощью htaccess и htpasswd

В файле конфигурации Apache /etc/httpd/conf/httpd.conf проверяем наличие строки:

Ниже добавляем такой блок директив:

Где /var/www/any_vhost – путь к каталогу с файлами ваших сайтов.

Проверяем правильно файла конфигурации:

И перезагружаем Apache:

Создаем файл с паролями и добавляем в него пользователя test:

# cat /etc/httpd/.htpasswd
test:$apr1$:LKDsc$jkdsdcDCiudcSD98

Первое поле – логин пользователя, второе – хеш его пароля.

ВАЖНО: создавайте файл в директории, которая находится “выше” каталога с содержимым сайта/ов, что бы ограничить к нему доступ. Файл паролей не обязательно называть .htpasswd – можно дать любое имя. Желательно – сделать его “скрытым”, .т.е добавить точку в начале имени файла.

Теперь в каталоге, который надо закрыть паролем, создаем файл .htaccess с таким содержимым:

Что бы дать доступ к этом каталогу только определенному пользователю или нескольким пользователям, а не всем из файла .htpasswd – меняем строку Require, например – разрешим доступ только пользователям test и website:

Удалить пользователя можно просто редактированием файла .htpasswd, удалив строку с его логином и хешем пароля.
Отредактировать пароль – так же, как создавался пользователь.

Что бы ограничить доступ только к определенному файлу file.txt – указываем такие строки:

Для apache 2.4 если необхоимо исключить localhost

 

Добавить комментарий

Ваш адрес email не будет опубликован.