24 Aug, 2016

Настройка стандартной аутентификации в Apache используя .htaccess

.htaccess это конфигурационный файл Apache. .htaccess может быть использован для защиты конкретных каталогов в веб-сервере. Одним из наиболее распространенных видов использования является требование аутентификации пользователя.

 

Номер Раз:

Вы должны иметь директиву AllowOverride AuthConfig в файле httpd.conf . В моём примере корень сайта находится в “/var/www/html”. Поэтому моя запись в httpd.conf выглядит следующим образом:

 

<Directory "/var/www/html">

Options Indexes Includes FollowSymLinks MultiViews
AllowOverride AuthConfig
Order allow,deny
Allow from all

</Directory>

 

где находится httpd.conf ?

 

Шаг 2:

Создаём пароль файл, для этого используем утилиту входящую в стандартную поставку сервера Apache.

htpasswd” команда используется для создания и обновления flat-files (текстовых файлов), используемых для хранения имен пользователей и паролей для базовой аутентификации пользователей Apache.

htpasswd -с /путь/к-файлу/пароль-файл newuser

вывод:

New password:
Re-type new password:
Adding password for user newuser
Внимание! Ключ”-c” создаёт новый пароль-файл. Если пароль-файл уже существует, то он будет перезаписан с данными нового пользователя.

Для добавления новых пользователей в уже существующий файл используйте команду без ключа “-с”:

htpasswd /путь/к-файлу/пароль-файл newuser
Остальные ключи утилиты htpasswd

 

Три:

Убеждаемся, что пароль файл доступен для чтения веб-сервером Apache. Если Apache не может читать файл паролей, он не будет вас идентифицировать. Вам нужно настроить правильное разрешение с помощью команды chown. Обычно Apache использует пользователя www-data. Используйте следующую команду, чтобы выяснить имя пользователя Apache:

grep -e '^User' /etc/httpd/conf/httpd.conf

вывод:

User apache

Так как у нас Apache использует имя пользователя “apache”, меняем права доступа к файлу с учетными данными:

chown apache:apache /путь/к-файлу/пароль-файл
chmod 0660 /путь/к-файлу/пароль-файл

 

Перезапускаем Apache

Создаём файл .htaccess в корне нашего веб-сайта, чтобы защитить весь сайт (или только в той директории которую хотим защитить) со следующим содержимым:

AuthType Basic
AuthName "Доступ ограничен, обратитесь в отдел ИТ"
AuthUserFile /путь/к-файлу/пароль-файл
require valid-user

 

You may also like...