Apache Password Protected Directory: Difference between revisions

From Ilianko
Created page with "Apache може да инициализира искане за идентификация при достъп до дадена папка от web сървъра. #Създ..."
 
No edit summary
 
(One intermediate revision by the same user not shown)
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 21: 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 53: 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