Интересные статьи

После решения задачи, хочется рассказать об этом

Http авторизация htaccess

Защита директории сайта htpasswd паролем на centos 7

Создаем файл .htpasswd с логином и паролем

Для basic авторизации http необходимо создать файл .htpasswd, где будет храниться учетная запись. Делать это будем через консоль вашей серверной операционной системы CentOS. Для этого в командной строке переходим в директорию вне публичной части сайта и пишем команду htpasswd -mbc .htpasswd login password

В случае если вам необходимо сменить связку логин/пароль в существующем файле пишем команду htpasswd -mb .htpasswd login password

  • login – здесь указать имя пользователя;
  • password – указываем пароль htpasswd.

Ниже напишу список ключей из документации

  • -n Don’t update file; display results on stdout.
  • -c Create a new file.
  • -d Force CRYPT encryption of the password (default).
  • -m Force MD5 encryption of the password.
  • -s Force SHA encryption of the password.
  • -p Do not encrypt the password (plaintext).
  • -D Delete the specified user.
  • -b Use the password from the command line rather than prompting for it.

В файле .htaccess прописываем правило и путь до .htpasswd на centos 7

Теперь в корне сайта или любой директории сайта которую необходимо закрыть в файле .htaccess в самом низу пишем несколько строчек

AuthType Basic
AuthName "Private zone. Only for administrator!"
AuthUserFile url
require valid-user
  • url – путь до файла .htpasswd вида /home/sites/mysite.com/.htpasswd;

Итого, данную задачу - Http авторизация через htaccess - приходится решать очень часто и дабы не держать это все в памяти, решил описать здесь. Задача стоит всегда при создании тестовой версии сайта у себя на сервере, чтобы закрыть сайт от поисковиков, счетчиков метрики и аналитики и другого.

А вообще можно сделать проще. Создать один файл .htpasswd вне публичной версии сайта и для всех тестовых сайтов прописывать в .htaccess одинаковый код из второй части статьи. Тогда не придется выдумывать разные логин/пароль и плодить файлы с учетками.

Проверено на

  • OS CentOS-7-amd64
  • Processor QEMU Virtual CPU version (cpu64-rhel6) 2399.970 MHz
  • Apache 2.4.6-67.el7.centos.6
  • MySQL 5.5.56-2.el7
  • PHP 5.4.16-43.el7_4