Apache 인증을 이용해서, 웹 특정 디렉토리 접근 시 사용자 인증을 걸어 접근을 제한할 수 있습니다.
Apache 사용자 인증을 설정하기 위해서는
mod_auth_basic 아파치 모듈이 존재해야합니다.
해당 모듈은 사용자별로 접근을 제한하는 HTTP Basic Authentication을 제공하는 모듈입니다.
아파치 설정파일 httpd.conf 에서 해당 모듈이 존재하는지 확인합니다.
모듈이 존재한다면 httpd.conf 파일을 수정합니다.
AllowOverride 옵션의 기본 설정값은 None이며, 이 경우 htacess 사용이 불가능하기 때문에 설정을 AuthConfig 또는 All 로 변경합니다.
AuthConfig : 설정한 디렉토리에만 인증이 적용됨
All : 설정한 디렉토리의 하위 디렉토리 전체에 인증이 적용됨
설정파일 수정 후 apache를 재시작합니다.
아파치 재시작 후 인증을 적용할 디렉토리에 htaccess 파일을 생성합니다.
저는 아파치 디렉토리 기본경로에 인증을 적용하였습니다.
# cd /usr/local/apache/htdocs
# vi .htaccess
AuthType Basic// 사용하는 인증 방식
AuthName “사용자 인증 로그인” // 로그인 설정 창 이름
AuthUserFile /usr/local/apache/htdocs/.htpasswd// 사용자 인증 패스워드 위치
<Limit GET POST> // 로그인 가능 유저에게 부여할 권한
Require valid-user
또는
Require user 계정명
</Limit>
접근을 허용하는 사용자 지정
1) 인증을 통과한 모든 사용자의 접근을 허용하는 설정
user와 group 모두 설정할 수 있으며, user명 또는 group을 공백으로 구분하여 작성합니다.
htaccess 파일을 생성하였으면, 사용자 추가 및 패스워드를 설정합니다.
# htpasswd -c /usr/local/apache/htdocs/.htpasswd 계정명
-c 옵션을 이용하여 계정을 새로 생성해주고, 계정에 대한 패스워드를 지정합니다.
사용자 설정 파일은 htaccess에 작성하였던 파일과 동일한 경로로 설정하여 생성합니다.
모든 설정 완료 후 홈페이지에 접속하게 되면
사용자 인증 페이지가 뜨게 됩니다.