Как запаролить директорию в Apache
Иногда необходимо запоролить директорию или запоролить весь сайт целиком, сделать это можно с помощью стандартных средств Apache. В этом посте я расскажу как установить пароль на папки (или сайт целиком) с помощью Apache.
1. Укажем Apache имя файла .htaccess
Откроем httpd.conf и пропишем строке AccessFileName через пробел значение .htaccess, должно получиться так:
1 |
AccessFileName .htaccess |
Данная строка возможно уже есть по умолчанию.
2. Включим поддержку .htaccess
В httpd.conf находим
1 2 3 4 5 |
<Directory "usr/local/www/data"> ---//--- AllowOverride Node ---//--- </Directory> |
Заменяем AllowOverride Node на AllowOverride All, должно выглядеть так:
1 2 3 4 5 |
<Directory "usr/local/www/data"> ---//--- AllowOverride All ---//--- </Directory> |
Значение All может уже стоять по умолчанию.
3. Перезагружаем Apache
Для Ubuntu
1 |
sudo /etc/init.d/apache2 restart |
Для FreeBSD
1 |
apachectl restart |
Всё поддержка htaccess включена.
4. Создаем файл .htaccess
В директории которую хотим запоролить создаем файл .htaccess. В случаем если нам надо запоролить весь сайт, тогда размешаем .htaccess в корне сайта.
В .htaccess пищем следующие:
1 2 3 4 |
AuthType Basic AuthName "Please login" AuthUserFile "/usr/local/www/data/.htpasswd" Require valid-user |
Где
AuthName «Please login» — любое ваше приглашение
«/usr/local/www/data/.htpasswd» путь до файла с паролями, создадим его.
5. Создаем .htpasswd
В директории /usr/local/www/data/ с помощью следующей команды создадим файл с паролями:
1 |
# htpasswd -c .htpasswd admin |
где admin — логин для открытия доступа к запороленной папке.
Добавим пароль:
1 |
# htpasswd .htpasswd admin |
После нажатия Enter, будет предложено вести пароль.
(с помощью данной команды можно изменить уже присвоенный пароль)
Все теперь доступ к папке (или сайту) возможен только после авторизации.
Вам будет интересно:
Буду признателен если вы поделитесь данным постом