2010/03/09 14:19 System Story
웹서버 접속제한 설정하기 (.htaccess)
|
인터넷 사이트를 서핑하다보면 ID와 Password를 물어오면서 접속을 제한하는 페이지를 만난적이 있을 것이다. 이는 특정 페이지에 인증을 걸어 지정된 사용자가 아니면 페이지를 보여주지 않는 것으로 보안 및 홈페이지 관리를 위한 페이지 등에서 많이 사용하고 있는 방법이다. |
| 웹서버 접속제한? |
|
앞서 말했듯이 특정 페이지에 인증을 걸어두어 지정된 사용자가 아닌 경우 웹페이지를 보여주지 않도록 설정하는 것을 말하는 것으로, Apache와 같은 웹서버에서는 .htaccess 라는 파일을 생성하여 설정할 수 있다. ========================== |
|
① .htaccess 파일 생성 |
|
먼저 .htaccess 파일을 생성하도록 하자. 인증이 필요한 디렉터리로 이동하여 touch 명령을 통해 파일을 만든다. |
| ② .htaccess 파일 설정 |
|
앞서 생성한 파일은 아무런 내용이 없는 빈 파일이므로 아래와 같은 내용을 입력하자. <Limit GET POST> - AuthName는 암호 인증창에 나타나는 설명을 적는 곳이다. 이곳에 적은 내용이 인증창에 문구로 나오게 된다. ※ satisfy는 all과 any를 지시자로 가질 수 있으며, 각 의미는 아래와 같다. 위는 지시어를 모두 사용하였을 경우에 대한 예제로서, 아래와 같이 간단하게 만들수도 있다. <Limit GET POST> |
| ③ 사용자 및 패스워드 등록 |
|
.htaccess 설정이 완료되었다면, htpasswd 명령을 이용하여 해당 디렉터리로 접근 가능한 사용자 계정 및 패스워드를 생성한다. 아래 예제는 admin 이라는 계정을 추가하는 내용으로 패스워드를 지정하는 부분까지 같이 이루어진다. # htpasswd -c .htpasswd admin ===================================================== ※ -c 옵션은 초기화 후 새롭게 생성할때 이용하는 옵션이다. |
| ④ 웹서버 재시작 |
|
자 이제 설정 및 사용자 등록이 완료되었으므로, 아래와 같은 명령으로 웹서버를 재시작하자. 만약 소스설치를 한 경우라면, apache가 설치되어 있는 경로로 이동하여 bin 디렉터리 하단에 있는 apachectl 실행명령을 stop 및 start 하자. 이제 웹브라우저를 사용하여 admin 디렉터리 하단에 있는 웹페이지를 열어보도록 하자. 사용자 인증창이 정상적으로 나타나는가? |