Posted
Filed under Linux
[원본 주소] : http://navyism.com/main/memo.php?bd=apm_tip&no=20
Apache 인증모듈이란 특정 디렉토리에 대한 접근을 apache가 통재하는 것입니다. 관리자페이지가 있는 디렉토리에 설정을 해두면 좋습니다. 본 사항을 적용 후 접속을 하면 브라우저에서 FTP를 접속 할 때와 같은 로그인 창이 뜨게됩니다.
아래글은 tozigy.com에서 가져온 글을입니다._>>


Pbi12라는 분이 linux.co.kr에 올리신 글인데 꼼꼼하게 잘 설명한듯 보여서 올립니다. 저도 도움을 받았고요. 훗;

*전제 조건이 있습니다.  
ROOT 즉 절대 권한을 가진 서버관리자가 셋팅을 해줘야 한다는 것입니다.  
root가 없다면 서버 관리자에게 httpd.conf부분만  
이렇게 해달라고 요청하셔야 합니다.  


1. httpd.conf를 수정한다.  

먼저 /usr/local/apache/conf/httpd.conf에서  
디렉터리에 대한 옵션 부분에 보시면  
AllowOverride None으로 되어 있으면 AllowOverride All로 바꾸줍니다.  
# AccessFileName .htaccess줄이 주석줄로 되어 있으면 주석도 풀어줍니다.  


2. .htaccess파일을 만든다.  

인증을 받고 싶은 디렉토리로 가서 vi로 아래와 같은 파일을 만들어야 합니다.  

======================================================  
AuthType Basic  
AuthName pbi12  
AuthUserFile /home/pbi12/public_html/pds/.htpasswd  
require user pbi12  
======================================================  
이 내용을 .htaccess로 저장해줍니다.  
여기서 name과 아래 3번에서 생성할 .htpasswd 파일의 경로를  
자신의 환경대로 바꾸어 줍니다.  
그리고 마지막에 중요한게 require 인데,  
여기서는 유저 한명씩 할때 처리 방법입니다.  
user 인 pbi12 한명을 넣은 것이죠.  
아래 나오는 부분에서 유저를 생성하게 되는데 그 유저를 여기다가 넣어서  
쓸 수 있는 것입니다. 더 추가 할 때에는 pbi12 다음에 한칸 띄고 나서  
다른 유저 이름을 적으시면 됩니다.  


3. .htpasswd파일을 만든다.  

암호파일(.htpasswd)은 암호화되어서 저장이 되므로 그냥 텍스트로 입력해서는 안되구요,  
/usr/local/apache/bin에 있는 htpasswd라는 프로그램을 이용해서 만드는데,  

shell# /usr/local/apache/bin/htpasswd -c /home/pbi12/public_html/pds/.htpasswd pbi12  

이것은 htpasswd 를 해서 -c 새파일을 만드는데, pbi12의 디렉터리에 .htpasswd로 생성하며,  
pbi12라는 유저를 추가한다는 것입니다.  
이렇게 형식으로 치면 암호를 넣으라고 나오는데 여기에 암호를 적어 넣으면 성공입니다^^;  
(이때 -c 옵션은 처음 넣을때만 하면되며 그 다음 부터 추가할때는 필요가 없습니다.  
그 다음에도 -c 옵션을 추가하면 이전 것(.htpasswd)은 지워버리고 새로 작성되므로 추가 하실때에는 그냥 -c 옵션 없이 다른 유저를 추가하시면 됩니다.)  

그러면 .htpasswd의 파일이 아래와 같이 생성되어진다.  
pbi12:NoWPewwtesgrTR  


4. 아파치를 재시작합니다.  

# /usr/local/apache/bin/apachectl restart  


5. 종료!  

이렇게 되면 자신이 .htaccess 를 넣은 곳을 웹에서 접속하게 되면 아파치 인증창이 뜨게  
됩니다. 자신이 만든 유저 정보를 치고 들어가면 접속이 되는 것이구요~  


보통 사용하실 분들은 여기까지만 보셔두 상관없습니다.  

아래에는 그룹으로 지정하고 싶으신 분을 위한 코너입니다^^;  


ADD1. 그룹으로 아파치 인증을 만들때에...  

유저를 추가하는 것과 크게 다른 점은 없습니다.  
하지만, .htaccess파일을 만들때에  

======================================================  
AuthType Basic  
AuthName pbi12  
AuthUserFile /home/pbi12/public_html/pds/.htpasswd  
AuthGroupFile /home/pbi12/public_html/pds/.group  
require group admin  
======================================================  

이렇게 바뀌어야 합니다.  
그룹을 참조할 파일을 추가 해주는 것입니다.  
그리고 require에서는 group 을 admin 그룹으로 할때 저런식으로 해주는 것입니다.  
admin 그룹을 만드는 법을 알아보겠습니다.  


ADD2. 그룹 참조 파일 생성하기...  

이 부분은 별로 어렵지 않습니다.  
유저를 생성하고 나면 그 내용을 참조해서 그룹으로 묶어 주는 것이기 때문입니다.  
.group 파일안에다가  

===================  
admin: pbi12 pds  
===================  

위의 가운데 한줄입니다.  
저렇게 넣어주면 admin 이라는 그룹안에 pbi12 라는 유저와 pds 라는 유저를 묶으겠다는 말이 됩니다. 그러면 admin 그룹을 사용할 수 있는 것이죠.  

마지막으로 말씀 드리고 싶은 것은 .htpasswd 라는 파일과 .group 파일의 이름은 여러분 마음대로 바꾸셔도 상관없다는 점 말하고 끝내겠습니다.  
아참! .htaccess 파일은 사용하고자 하는 위치에 저 이름 그대로 사용하셔야 하는 점 혼동 마시구요 ~  
그럼 아파치 인증을 마치겠습니다.  
2009/07/27 10:53 2009/07/27 10:53