ГлавнаяОперационные системыLinuxКак настроить веб-каталог, защищенный паролем, в Apache

Как настроить веб-каталог, защищенный паролем, в Apache

Apache — один из наиболее широко используемых и популярных веб-серверов в мире, поэтому важно обеспечить конфиденциальность ваших веб-сайтов от неавторизованных пользователей. Аутентификацию Apache можно настроить так, чтобы посетители веб-сайта требовали входа в систему с использованием идентификатора пользователя и пароля. Существует множество способов защитить паролем каталоги на веб-сервере Apache.

В этой статье описан простой способ защитить паролем веб-каталог в Apache с помощью файла .htaccess.

Примечание. Это руководство выполнено на сервере Ubuntu с установленным Apache.

Установка пакета утилит Apache

Сначала вам необходимо установить пакет apache2-utils, который предоставляет утилиту под названием htpasswdдля создания файла паролей.

Вы можете установить его, выполнив следующую команду:

sudo apt-get install apache2-utils

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

По умолчанию Apache не позволяет исп

Установка пакета утилит Apache

Вам нужно будет настроить файл конфигурации Apache, чтобы разрешить аутентификацию на основе.htaccess.

Вы можете сделать это, отредактировав файл конфигурации Apache:

sudo nano /etc/apache2/apache2.conf

Найдите раздел, который начинается с Directory "/var/www/html" , и измените строку с AllowOverride noneна AllowOverride AuthConfig

Options Indexes FollowSymLinks
    AllowOverride AuthConfig
    Require all granted

Сохраните и закройте файл.

Создайте файл паролей

Вы можете использовать утилиту командной строки htpasswdдля создания файла паролей, который Apache может использовать для аутентификации пользователей. Теперь создайте скрытый файл.htpasswd в каталоге конфигурации «/etc/apache2».

sudo htpasswd -c /etc/apache2/.htpasswd authuser1

Вам будет предложено ввести и подтвердить пароль для пользователя authuser1.

Если вы хотите добавить еще одного пользователя, оставьте аргумент -cв команде htpasswd.

Теперь, чтобы создать еще одну аутентификацию для второго пользователя, authuser2:

sudo htpasswd /etc/apache2/.htpasswd authuser2

Вы можете увидеть имя пользователя и зашифрованный пароль для каждой записи, выполнив:

sudo cat /etc/apache2/.htpasswd

Создайте файл паролей

"https://saintist.ru/wp-content/uploads/2024/05/apache_auth_passwdfile.png" alt="apache_auth_passwdfile">

Вам необходимо предоставить пользователю «www-data» разрешение на чтение файла.htpasswd.

sudo chown www-data:www-data /etc/httpd/.htpasswd
sudo chmod 0660 /etc/httpd/.htpasswd

Настроить аутентификацию по паролю Apache

Вам необходимо создать файл «.htaccess» в веб-каталоге, который вы хотите ограничить. В этом примере я создам файл «.htaccess» в каталоге «/var/www/html/», чтобы ограничить весь корень документа.

sudo nano /var/www/html/.htaccess

Добавьте следующий контент:

AuthType Basic
AuthName "Restricted Content"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user

Вот что означает приведенный выше код:

  • AuthType : этот параметр определяет тип аутентификации.
  • AuthName : это контент, который отображается на веб-странице при запросе имени пользователя и пароля.
  • AuthUserFile : этот параметр определяет расположение учетных данных пользователя.
  • require valid-user : это означает, что только успешные запросы, прошедшие проверку подлинности, могут загрузить страницу.

Сохраните и закройте файл и перезапустите Apache, чтобы изменения вступили в силу.

sudo /etc/init.d/apache2 restart

Тестирование аутентификации пароля

Теперь на удаленном компьютере откройте свой веб-сайт в веб-браузере. Вам будет предложено ввести имя пользователя и пароль для доступа к веб-странице.

Настроить аутентификацию по паролю Apachept.png" alt="apache_auth_passwd_prompt">

Если вы введете правильные учетные данные пользователя, вам будет разрешен доступ к контенту. Если вы введете неправильные учетные данные пользователя или нажмете «Отмена», вы увидите страницу с ошибкой Несанкционировано.

apache_auth_passwd_error

Заключение

Теперь у вас должно быть достаточно знаний, чтобы настроить базовую аутентификацию для вашего веб-сервера Apache. Также помните, что защита паролем должна сочетаться с шифрованием SSL, чтобы ваши учетные данные не отправлялись на сервер в виде обычного текста.

Тестирование аутентификации пароля

Заключение

ПОХОЖИЕ СТАТЬИ

Популярные записи