Файл .htaccess обеспечивает способ внесения изменений конфигурации для каждого каталога.
Этот файл может содержать одну или несколько конфигурационных директив.
Затем эти директивы будут применены к каталогу, в котором существует файл .htaccess и все его подкаталоги.
Выполните действия, описанные ниже, чтобы защитить каталог с помощью .htaccess и htpasswd.
Ниже приведен пример сервера CentOS / RHEL.
1. Используйте утилиту htpasswd password для создания комбинаций имени пользователя и пароля, не зависящих от пароля входа в систему для доступа к веб-странице.
Укажите местоположение файла пароля, а если он еще не существует, включите в команду ключ -c или create.
Замените имя пользователя на создаваемых юзеров.
# htpasswd -c /etc/httpd/conf/.htpasswd username
Для добавления другого пользователя не используйте параметр -c снова.
# htpasswd /etc/httpd/conf/.htpasswd username
2. Сделайте файл .htpasswd доступным для чтения всем пользователям.
Зависит от того, хотите ли вы предоставлять ли доступ для чтения всем или нет.
# chmod 644 /etc/httpd/conf/.htpasswd
3. Создайте файл .htaccess в каталоге (например, /var/www/html/test), к которому должен применяться парольный контроль.
Ниже приведен пример файла .htaccess:
# cat .htaccess AuthUserFile /etc/httpd/conf/.htpasswd AuthName "Restricted" AuthType Basic require user username
Помните, что этот пароль защищает каталог и все его подкаталоги.
– AuthUserFile сообщает Apache использовать файл .htpasswd.
– Требование инструкции пользователя сообщает Apache, что только пользовательское имя пользователя в файле .htpasswd должно иметь доступ. Если все пользователи .htpasswd должны иметь доступ, замените эту строку на «require valid-user».
– AuthType Basic инструктирует Apache принимать базовые незашифрованные пароли из веб-браузера удаленных пользователей.
# chmod 644 /var/www/html/test/.htaccess
5. Убедитесь, что файл /etc/httpd/conf/http.conf имеет опцию AllowOverride в директиве (/var/www/html/test).
# cat /etc/httpd/conf/http.conf <Directory "/var/www/html/test"> AllowOverride AuthConfig </Directory>
6. Перезапустите Apache.
# service httpd restart
7. Попробуйте получить доступ к веб-сайту http://newsite.com/test/test.html, и он предложит ввести пароль.