반응형

오늘은 apache2에 패스워드를 처리하는 방법에 대해서 알아보겠다.

외부에 디자인된 파일이나 간단한 공유가 있을때 많이 사용하지만, 별도의 인증과정이 없다보니 구글이나 다른 포털에서 막 긁어가는 경우가 허다해서 보안상 매우 좋지 않다. 이번 기회에 웹 파일용으로 쓰는 모든 것들에 대해서 처리를 해보도록 하자.!

 

1. apache2 설치 및 utils 데몬 설치

$sudo apt-get update
$sudo apt-get install apache2 apache2-utils

위 과정을 통해서 최신 apache2를 설치하도록 한다.

 

2. 유저 패스워드 파일 생성하기

$sudo htpasswd -c /etc/apache2/.htpasswd test_account

여기 test_account 란에 접속할 계정명을 적어주면된다.
만약에 추가로 여러개의 계정을 생성하고자 하는 경우에는 아래와 같은 명령어를 쓰면된다."-c" 옵션만 빼면된다.

$sudo htpasswd /etc/apache2/.htpasswd test2_account

cat 명령어를 통해서 현재 설치된 계정의 파일을 확인해볼 수 있다.

$ cat /etc/apache2/.htpasswd

(결과)
test_account:$apr1$6ktuE~~~~~~~~~~~~~~~~~~~~dsf33###l/

 

3. 아파치 세부 설정

 

3.1 virtural hosting 설정에서 아래의 코드를 추가해준다.

$ cd /etc/apache2/sites-available/

....(중략)
....

<VirtualHost *:80>
         ServerName test.test.com
         DocumentRoot /home/aaaaa/html
         ErrorLog ${APACHE_LOG_DIR}/error.log
         CustomLog ${APACHE_LOG_DIR}/access.log combined
         <Directory /home/aaaaa/html>
                AuthType Basic
                AuthName "Restricted Content"
                AuthUserFile /etc/apache2/.htpasswd
                Require valid-user
         </Directory>
</VirtualHost>

위 코드에서는 test.test.com 이라는 도메인으로 호출했을때만 apache2가 연동되도록 했고 Root Directory를 /home/aaaaa/html 폴더로 설정했다.

AuthUserFile 은 2번 항목에서 설정한 파일의 위치를 적어두었다.

 

3.2 Apache 에서 접근 권한 셋팅

$sudo vi /etc/apache2/apache2.conf

....(중략)

<Directory /home/aaaaa/html>
        Options Indexes FollowSymLinks
        AllowOverride   All
        Require all granted
</Directory>

위 와 같이 설정해주는데 AllowOverride 를 All 로 설정하는것이 중요 포인트이다.

 

4. Apache2 재부팅

$sudo service apache2 restart

이렇게 하면 끝!!!

이제 한번 접속해보자.!

이렇게 로그인이 잘 되는것을 확인할 수 있다.

 

반응형

+ Recent posts