Как защитить директорию сайта паролем
Включить htaccess
Сначала надо добавить директиву AllowOverride All
в конфигурации виртуального хоста в секции
И перезапустить службу apache2.<VirtualHost *:80>
...
<Directory /var/www/repo>
Order deny,allow
Allow from all
AllowOverride All
</Directory>
...
Создать .htaccess
После этого добавляем в нужный каталог (в примере /var/www/repo) файл .htaccess со следующим содержимым:
AuthType Basic
AuthName "Secret Repository"
AuthUserFile /var/www/.htpasswd
Require valid-user
Создать файл .htpasswd
Осталось создать файл /var/www/.htpasswd. Его желательно расположить за пределами каталога, где лежат файлы сайта - снаружи где-то. Для генерации этого файла надо установить пакет apache2-utils, который содержит утилиту htpasswd.
apt -y install apache2-utils
htpasswd -c /var/www/.htpasswd <username>