Difference between revisions of "Apache Password Protected Directory"

From Ilianko
 
Line 1: Line 1:
 
Apache може да инициализира искане за идентификация при достъп до дадена папка от web сървъра.  
 
Apache може да инициализира искане за идентификация при достъп до дадена папка от web сървъра.  
 +
За да направим дадена директория защитена трябва да се:
 +
#Създадат потребители
 +
#Добави конфигурирация за съответната директория в [[.htaccess]] или в конфигурацията на apache
  
 
+
== създаване на потребители и пароли ==
 
 
#Създаване на файл с потребителите и паролите.
 
#Добавяне на няколко параметърна към .htaccess
 
 
 
=== създаване на потребители и пароли ===
 
 
 
 
За всяка защитена директория може да имаме различен файл с потребители. Файлът с потребителите се препоръчва да стои в директория, където няма web достъп.
 
За всяка защитена директория може да имаме различен файл с потребители. Файлът с потребителите се препоръчва да стои в директория, където няма web достъп.
  
 
Паролите са криптирани. За генериране на файл с пароли използвайте командата [http://manpages.ubuntu.com/manpages/dapper/htpasswd.1.html htpasswd] (за Windows htpasswd.exe от bin  директорията на Apache).
 
Паролите са криптирани. За генериране на файл с пароли използвайте командата [http://manpages.ubuntu.com/manpages/dapper/htpasswd.1.html htpasswd] (за Windows htpasswd.exe от bin  директорията на Apache).
  
Създаване на потребител и добавяне на потребител ''it''. Командата ще генерира нов файл.
+
Създаване на файл с пароли и добавяне на потребител ''it''. Командата ще генерира нов файл.
  htpasswd -c potreb it
+
  :~$ htpasswd -c /etc/apache2/fileUsers it
  
 
Добавяне на втори потрбител към същия файл.
 
Добавяне на втори потрбител към същия файл.
  htpasswd potreb ilianko
+
  :~$ htpasswd potreb ilianko
  
 
Съдържание на файла <code>potreb</code> би било подобно:
 
Съдържание на файла <code>potreb</code> би било подобно:
Line 22: Line 19:
 
  ilianko:0rebFa20T0482
 
  ilianko:0rebFa20T0482
  
=== настройка на .htaccess ===
+
== настройка на директорията ==
  
В файла .htaccess се добавя следната информация
+
===.htaccess===
 +
 
 +
Във файла .htaccess се добавя следната информация
 +
 
 +
# Тип на автентификацията
 +
AuthType Basic
 +
AuthBasicProvider file
 
  # Пълният път до file-a със паролите и потребителите
 
  # Пълният път до file-a със паролите и потребителите
  AuthUserFile /full/path/vhosts/ilianko.com/potreb
+
  AuthUserFile /etc/apache2/fileUsers
 
  # Съобщение при искането за индентификация
 
  # Съобщение при искането за индентификация
 
  AuthName "hello"
 
  AuthName "hello"
# Тип на автентификацията
 
AuthType Basic
 
 
  # Потребители, които ще имат достъп valid-user <=> всички съществуващи  
 
  # Потребители, които ще имат достъп valid-user <=> всички съществуващи  
 
  require valid-user
 
  require valid-user
  
 
+
=== конфигурационен файл===
 
<code><pre>
 
<code><pre>
 +
<VirtualHost *:80>
 +
...
 
<Directory /var/www/>
 
<Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
+
    Options Indexes FollowSymLinks MultiViews
                AllowOverride None
+
    AllowOverride None
                Order allow,deny
+
    Order allow,deny
                allow from all
+
    allow from all
AuthType Basic
 
AuthName "Restricted Files"
 
AuthBasicProvider file
 
AuthUserFile /var/pass                       
 
Require user student             
 
 
 
  
 +
    AuthType Basic
 +
    AuthName "Restricted Files"
 +
    AuthBasicProvider file
 +
    AuthUserFile /var/pass                       
 +
    Require user student             
 
</Directory>
 
</Directory>
 +
...
 +
</
 
</pre></code>
 
</pre></code>
  
Line 54: Line 58:
  
 
http://www.addedbytes.com/lab/password-protect-a-directory-with-htaccess/
 
http://www.addedbytes.com/lab/password-protect-a-directory-with-htaccess/
 
+
http://httpd.apache.org/docs/2.4/howto/auth.html
http://httpd.apache.org/docs/2.0/howto/auth.html
 

Latest revision as of 19:08, 13 October 2013

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