Сервер в кармане, или просто о сложном!

главная - Статьи - WWW (HTML, PHP и др.)



Apache - пароль на доступ

Дата обновления: 09.07.2021

Теги: Linux Онлайн сервисы

Чтобы задать пароль на доступ к сайту или его частям, если сайт работает на Apache:

Конфиг Apache

Редактируем файл конфигурации Apache:

# nano /etc/apache2/apache2.conf
...
<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>
...

где AllowOverride All включает поддержку .htaccess файлов, с помощью которых можно управлять настройками каталогов, редиректами, доступом и др.

Рестартуем Apache:

# systemctl restart apache2.service

Файл паролей

Создаем файл паролей для Apache с помощью утилиты htpasswd.

# apt update
# apt install apache2-utils

 

Опции htpasswd:
-c - создать новый файл (перезаписать, если старый существует)
-B - шифрование пароля с помощью bcrypt

# htpasswd -c -B /etc/apache2/.htpasswd user1
New password:
Re-type new password:
Adding password for user user1

Без опции -c:

Добавляем еще одного пользователя:

# htpasswd -B /etc/apache2/.htpasswd user2
New password:
Re-type new password:
Adding password for user user2

Поменять пароль для пользователя:

# htpasswd -B /etc/apache2/.htpasswd user2

Содержимое файла .htpasswd:

# cat /etc/apache2/.htpasswd
user1:$2y$05$kVIWEWI1NHyVqGKp82ZjveZHvWomPCX8TDgnks5eUl89sxffCA3tO
user2:$2y$05$dWSJDUoJFMVhqYh33lmXw.jkOlV49/dx5mI/v8os8DMTGaDIaSXs6

Очевидно, этот файл надо держать в секрете в недоступном для посетителей сайта месте!

.htaccess

Создаем файл .htaccess в директории сайта, которую планируем защитить паролем:

# nano /var/www/html/sarg/.htaccess

AuthName "Auth required"
AuthType Basic
Require valid-user
AuthUserFile /etc/apache2/.htpasswd

Теперь для доступа к директории sarg будет нужно указать логин и пароль.

Естественно, этот вид защиты не защищает паролем файлы при локальном доступе, а только не дает открыть эту директорию через сайт.



Авторизуйтесь для добавления комментариев!


    забыли пароль?    новый пользователь?