Apache 접속 폴더에 암호 걸기

 

지난번에 awstats를 설치했다.

설치를 하고 작동을 하니 좋긴한데… 접속 카운트가 너무 낮아 남이 볼까 부끄러워 진다.

그래서! 아무나 접속하지 못하게 암호를 걸어보자.

환경

Ubuntu 14.04

1. Apache 설정

#vi /etc/apache2/apache2.conf

암호를 설정하고자 하는 폴더의 Directroy 의 설정에서 AllowOverride None을 AlloOverride All로 변경한다.

<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>

설정에 따라 옵션이 다르게 나타날 수 있으니 AllowOverride 만 보자.

지난번 AWstats 설치내용에 보면 /etc/apache2/conf-available/serve-cgi-bin.conf 파일이 있었는데, 내 경우에서는 같은 내용을 이 파일에서 수정하였다.

(도대체 이 파일은 왜 생긴겨…)

2. .htaccess 파일 생성

해당 폴더에 .htaccess 파일을 생성한다.

# vi /usr/lib/cgi-bin/.htaccess
AuthType Basic
AuthName “Namoosoup.com AWstats Login”
AuthUserFile /pass/.htawstats
require valid-user

AuthType 
인증 유형을 설정하는 지시자다. Basic과 Digest를 설정할 수 있다.
Digest의 경우 MD5 방식을 사용하는데 MD5를 지원하는 브라우저가 제한 되어 있다.

AuthName 
인증창의 제목.

AuthUserFile 
사용자 User_ID 정보와 Password 정보가 들어 있는 파일을 지정해 주는 것이다.
보안상 꼭 웹 문서 디렉토리 밖에  위치 시키는 것이 좋다.

파일 이름은 가급적 ‘.ht’로 시작하는 것이 좋다. apache2.conf 파일을 보면 .ht로 시작하는 파일의 접속을 차단해 놓았기 때문.

Require   
인증할 대상을 지정한다.
Revalid-user     –> AuthUserFile에 등록된 모든 사용자를 인증을 통해 받아 들인다는 설정
Require  user  사용자1  사용자2   –> 사용자1과  사용자2만 인증을 통해 받아 들인다는 설정
Require  group  그룹1  그룹2      –> 그룹1 과 그룹2 에 속하는 사용자만을 인증을 통해 받아 들인다는 설정
Require 지시자는 하나의 .htaccess 파일에 2개 이상 설정을 할 수도 있다.

3. 사용자 추가 및 비밀번호 설정

#htpasswd -c /pass/.htpasswd USER_ID

USER_ID란에 생성하고자 하는 ID를 대체해서 넣으면 됨.

비밀번호 입력 및 확인을 하면 완료.

중간에 ‘-c’ 옵션은 처음 파일 생성시에 추가하는 것으로 이후 사용자를 추가할 경우에는 옵션을 빼고 생성하면 된다.

추가할 때 -c 옵션을 주고 생성하면 기존 사용자들이 삭제되어 버리니 주의하자.

4. Apache 재시작 후 접속 확인

#servive apache2 restart

Ref.

https://www.linux.co.kr/home2/board/subbs/board.php?bo_table=lecture&wr_id=216

https://www.linux.co.kr/home/lecture/index.php?cateNo=&secNo=&theNo=&leccode=319

http://faq.hostway.co.kr/Linux_WEB/4526

http://youmust.co.kr/board_Ljff80/723

Troubleshooting

Continue Reading