[Apache] 특정 디렉토리에 암호를 거는방법

Posted by 대혀니_
2017. 7. 4. 19:36 IT/Linux

1 .httpd.conf를 수정한다.

먼저 /usr/local/apache/conf/httpd.conf에서 

AllowOverride None으로 되어 있으면 AllowOverride All로 바꾸어준다. 그리고 

# AccessFileName .htaccess줄이 주석줄로 되어 있으면 주석을 풀어준다.


2 .htaccess파일을 만든다.

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

AuthType Basic 

AuthName qpiss 

AuthUserFile /home/piss/public_html/qorentks/.htpasswd 

require valid-user

이 내용을 .htaccess로 저장하고 퍼미션을 777로 준다.


3 .htpasswd파일을 만든다.

암호파일(.htpasswd)은 암호화되어서 저장이 되므로 그냥 텍스트로 입력해서는 저장이 안된다. 그래서 /usr/local/apache/bin에 있는 htpasswd라는 프로그램을 이용하여야 한다. 

그래서 만드는 방법은 아래와 같다. 

--- # /usr/local/apache/bin/htpasswd -c /home/piss/public_html/ 

qorentks/.htpasswd piss(한줄에 쭉 달아서 친다.) 

의 형식으로 치면 암호를 넣으라고 나오는데 여기에 암호를 적어 넣으면 된다. 

(이때 -c 옵션은 처음 넣을때만 하면되며 그 다음 부터 추가할때는 필요가 없다. 그 다음에도 -c 옵션을 추가하면 이전 것(.htpasswd)은 지워버리고 새로 작성한다.) 

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

piss:NoWPewwtesgrTR


4. 아파치를 새로 기동시킨다.

# killall httpd 

# /usr/local/apache/bin/apachectl start