В: Как сделать, чтобы доступ к определенному каталогу (папке) был запаролен?
О: Для этого необходимо на компьютере, где установлен Apache найти файл htpasswd.exe.
Обычно он находится в папке bin той директории, куда Вы установили Apache.
С помощью него мы создадим специальный скрытый от посторонних глаз файл с логином и зашифрованным паролем .htpass. (название может быть другим, но точка впереди обязательна!)
Запускать его надо из командной строки, указывая правильный путь до него, типа:
С:\Program Files\Apache Group\Apache\bin\htpasswd -bc .htpass UserName YourPass
Данной командой мы создали файл .htpass в той же папке, где хранится утилита htpasswd.
В файле .htpass теперь хранятся имя юзера UserName и его пароль YourPass в зашифрованном виде, разделенные двоеточием.
Если необходимо создать файл .htpass в другой директории, то путь к ней надо указать перед именем создаваемого файла, после ключей b и c. Что они означают? Ключ c говорит утилите, что надо создать новый файл по указанному далее пути и с указанным именем. Ключ b необходим, чтобы утилита ожидала пароль после ввода имени юзера. Если хотите добавить потом в этот же файл .htpass логины и пароли других юзеров, то ключ c указывать не надо.
После создания файла с паролями надо положить его в какую-нибудь директорию, которая находится вне дерева Вашего web-проекта и не будет доступна пользователям из браузера.
Теперь создайте файл .htaccess в котором напишите что-то похожее на следующее:
AuthType Basic
AuthName "BackOffice"
AuthUserFile /var/www/access/.htpass
require valid-user
Теперь поясню. AuthType - это метод аутентификации. AuthName - имя защищаемой области, которое вы выбираете сами. AuthUserFile - ваш путь до файла .htpass (начинается с того момента где заканчивается путь DocumentRoot. Естественно у вас он может быть другим). Require valid-user - говорит, что доступ возможен любому санкционированному юзеру. Если у Вас есть юзер с именем, например, admin и надо дать доступ только ему, то следует написать require user admin. После того как все сделано, поместите файл .htaccess в ту директорию проекта, которую Вы хотите закрыть паролем.