Apache Password Protected Directory

From Ilianko

Apache може да инициализира искане за идентификация при достъп до дадена папка от web сървъра. За да направим дадена директория защитена трябва да се:

  1. Създадат потребители
  2. Добави конфигурирация за съответната директория в .htaccess или в конфигурацията на apache

създаване на потребители и пароли

За всяка защитена директория може да имаме различен файл с потребители. Файлът с потребителите се препоръчва да стои в директория, където няма web достъп.

Паролите са криптирани. За генериране на файл с пароли използвайте командата htpasswd (за Windows htpasswd.exe от bin директорията на Apache).

Създаване на файл с пароли и добавяне на потребител it. Командата ще генерира нов файл.

:~$ htpasswd -c /etc/apache2/fileUsers it

Добавяне на втори потрбител към същия файл.

:~$ htpasswd potreb ilianko

Съдържание на файла potreb би било подобно:

it:vpEFRx/10q0ew
ilianko:0rebFa20T0482

настройка на директорията

.htaccess

Във файла .htaccess се добавя следната информация

# Тип на автентификацията
AuthType Basic
AuthBasicProvider file
# Пълният път до file-a със паролите и потребителите
AuthUserFile /etc/apache2/fileUsers
# Съобщение при искането за индентификация
AuthName "hello"
# Потребители, които ще имат достъп valid-user <=> всички съществуващи 
require valid-user

конфигурационен файл

<VirtualHost *:80>
...
<Directory /var/www/>
     Options Indexes FollowSymLinks MultiViews
     AllowOverride None
     Order allow,deny
     allow from all

     AuthType Basic
     AuthName "Restricted Files"
     AuthBasicProvider file
     AuthUserFile /var/pass                         
     Require user student              
</Directory>
...
</

Допълнителна информация

http://www.addedbytes.com/lab/password-protect-a-directory-with-htaccess/ http://httpd.apache.org/docs/2.4/howto/auth.html