Logo
Версия для печати

Как запаролить директорию или сайт на сервере Apache.

  • Автор  SeRbGa

Задача: запаролить директорию или весь сайт и как установить пароль на папки (или весь сайт) с помощью Apache.

должно получится при обращении к серверу:

1

1 - Создаем файл паролей путь к которому указывается в качестве параметра к директиве AuthUserFile. Пароли в этом файле должны быть шифрованными, чего можно достигнуть с помощью программы htpasswd, входящей в поставку Apache.

Если Вы набрали в unix shell команду htpasswd и система сообщила, что такого файла нет, выясните у своего хостинг-провайдера где же находится htpasswd.

допустим, htpasswd у нас доступен :

> htpasswd 
Usage: 
htpasswd [-cmdps] passwordfile username 
htpasswd -b[cmdps] passwordfile username password 

-c Create a new file. 
Здесь мы не будем рассматривать все параметры этой команды, но Вы можете сами прочитать подробности, запустив htpasswd в unix shell или ознакомившись с соответствующей страницей документации по Apache. 


Итак, изначально у нас еще нет файла с паролями и нам нужно его создать :
> htpasswd -c .htpasswd user1 
New password: 
Re-type new password: 
Adding password for user user1 

После нажатия Enter, будет предложено вести пароль (с помощью данной команды можно изменить уже присвоенный пароль). После выполнения данной операции htpasswd создаст файл .htpasswd, в котором окажется пользователь user1 и его пароль в зашифрованном виде:

А теперь мы хотим добавить еще одного пользователя. Так как файл с паролями у нас уже есть, мы просто не будем использовать ключ '-c' :

> htpasswd .htpasswd user2 
New password: 
Re-type new password: 
Adding password for user user2 

Можно сделать тоже самое на локале с помощью программы htpasswd, входящей в поставку Apache - если нету -берите тут и запускайте ее из командной строки (cmd)

далее все тоже самое (см. выше)

2

2 - В директории которую хотим запаролить создаем файл .htaccess. Если надо запаролить весь сайт, тогда файл .htaccess помещаем в корень сайта.

В .htaccess прописываем следующие строки:

AuthType Basic
AuthName "Enter password"
AuthUserFile "/usr/local/www/data/.htpasswd"
Require valid-user

Где AuthName "Enter password" – ваше сообщение

“/usr/local/www/data/.htpasswd” путь до файла с паролями.

Обычно на живом хостинге такой (может конесно отличаться - но папка с файлом паролей должна быть задана верно):

/home/s/логин_на_хосте/имя_сайта/public_html/data/.htpasswd

Все готово!

Теперь доступ к папке (или сайту) возможен только после авторизации.

Последнее изменениеПятница, 29 Ноябрь 2013 18:50
  • Оцените материал
    (2 голосов)
  • Опубликовано в Web coding
  • Прочитано 6044 раз
SeRbGa

SeRbGa

мечтатель

Сайт: www.serbga.ru

Оставить комментарий

SeRbGa