System/OS

아파치(Apache) 인증사용(htaccess)으로 특정 디렉토리에 암호걸기

by hooni posted Apr 23, 2013
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄
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 파일은 사용하고자 하는 위치에 저 이름 그대로 사용하셔야 하는 점 혼동 마시구요 ~ 
그럼 아파치 인증을 마치겠습니다.