My Advanced Linux/Advanced Linux

htpasswd 인증하기

우주곰 2009. 7. 24. 13:32
.htaccess와 .htpasswd 웹인증은 apache환경에 인증세팅으로 ID/PASSWORD를 넣어서 보안을 강화하는 한 방법이다. 기본적으로 셋팅 되어있지 않으므로 따로 옵션을 주어 셋팅을 하여야 한다.

일단 httpd.conf 파일을 수정해 보자.
AccessFileName .htaccess
을 추가해주자. 물론 .htaccess 파일은 임의로 수정이 가능하다.
그 후, 인증을 거치고 싶은 홈페이지의 최상위 디렉토리 옵션을 찾아서 아래와 같이 수정해 준다.

<Directory "/usr/local/apache2.0/htdocs">
    Options Includes FollowSymLinks
    AllowOverride All   #AllowOverride의 옵션을 ALL로 수정
    Order allow,deny
    Allow from all
</Directory>

이 후, 클라이언트환경을 아래와 같이 설정 해 주자.


[클라이언트 환경]
;인증을 걸고 싶은 폴더에 .htaccess와 .htpasswd 를 생성한다.

.htaccess : vi로 아래 내용을 만든다.
AuthType Basic
AuthName "Password Required"
AuthUserFile /data/wwwdunet/weblog/.htpasswd
AuthGroupFile /dev/null
ErrorDocument 401 "ERROR , NOT CORRECT PASSWORD OR USER"
Require valid-user


.htpasswd : 아이디와 패스워드를 입력한다.
# /home/apache/bin/htpasswd -c .htpasswd 원하는아이디
New password: <="=" 패스워드 입력
Re-type new password: <="=" 패스워드 재입력
Adding password for user 원하는아이디

-c 옵션은 처음 파일 생성할 때쓰는 옵션이니 이 후에는 -c 옵션을 빼고 하여야한다.