작은숲:위키노트/AWStats

큰숲백과, 나무를 보지 말고 큰 숲을 보라.

개요

AWStatswebalizer와 비슷한 아파치 로그 분석 도구이다. 아파치 웹 로그를 분석한 후 보기 좋게 그래프로 정리해서 보여준다.

설치

CentOS에서 AWStatsEPEL 저장소에 있으므로, 만약 EPEL 저장소가 지정되지 않았다면 EPEL 저장소부터 설정한다.

# yum install epel-release

그리고, AWStatsmod_perl이 필요하므로 아직 설치하지 않았다면 설치해준다.

# yum install mod_perl

그리고 AWStats를 설치한다.

# yum install awstats

아파치 설정

설치하고 나면 /etc/httpd/conf.d/awstats.conf 파일이 자동으로 생성된다. 이 파일을 자신에 맞게 적당히 수정한다.

Alias /awstatsclasses "/usr/share/awstats/wwwroot/classes/"
Alias /awstatscss "/usr/share/awstats/wwwroot/css/"
Alias /awstatsicons "/usr/share/awstats/wwwroot/icon/"
ScriptAlias /awstats/ "/usr/share/awstats/wwwroot/cgi-bin/"
<Directory "/usr/share/awstats/wwwroot">
    Options None
    AllowOverride None
    # 접속을 제한할 경우 아래 내용을 설정한다.
    <IfModule mod_authz_core.c>
        # Apache 2.4	
        # 접속할 IP 설정
        Require ip 184.0.0.94/24
    </IfModule>
    <IfModule !mod_authz_core.c>
        # Apache 2.2
        Order allow,deny
        # 접속할 IP 설정
        Allow from 184.0.0.94/24
        Allow from ::1
    </IfModule>
</Directory>
# 수동으로 mod_perl을 설치한 경우 아래 내용이 필요할지도 모른다.
<Directory "/usr/share/awstats/wwwroot/cgi-bin">
    SetHandler perl-script
    PerlResponseHandler ModPerl::Registry
    PerlOptions +ParseHeaders
    Options +ExecCGI
</Directory>
<IfModule mod_env.c>
    SetEnv PERL5LIB /usr/share/awstats/lib:/usr/share/awstats/plugins
</IfModule>

만약 아파치를 수동으로 설치한 경우라면 이 설정 파일을 아파치 설정 파일 httpd.conf의 마지막에 추가해준다.

Include /etc/httpd/conf.d/awstats.conf

새로운 설정을 적용하기 위해 아파치 재기동.

# service httpd restart

AWStats 설정

AWStats를 설치하면 /etc/awstats 디렉토리에 기본적인 설정 내용이 담긴 예제 설정 파일이 만들어진다. 이 파일을 복사한 후 수정해서 사용한다.

# cp /etc/awstats/awstats.localhost.localdomain.conf /etc/awstats/awstats.sample.conf

파일 이름 중 sampleAWStats에게 분석할 대상을 알려줄 구분자 역할을 하기 때문에 자신의 호스트 이름이나 도메인으로 설정한다. 또한 이 이름은 나중에 작은숲:위키노트/브라우저AWStats에 접속할 때도 사용되기 때문에 구분하기 쉬운 이름으로 정하는 것이 좋다. 복사한 파일 awstats.sample.conf의 내용은 상당히 많지만 우선 기본적인 설정만 수정한다.

LogFile="/var/log/httpd/sample-access.log"
SiteDomain="sample.com"
HostAliases="www.sample.com"

LogFile 지시자는 아파치 접속 로그 파일을, SiteDomain 지시자는 분석할 사이트의 도메인을, HostAliases 지시자는 호스트 별칭을 쓰는 경우 그 설정한 도메인들을 가리킨다. 아파치 접속 로그 파일을 읽어서 분석하기 때문에 그 접속 로그 상에 기록된 도메인들을 설정해야 한다. 설정이 끝난 후 AWStats에게 방금 수정한 설정 파일을 가지고 분석하도록 한다.

# perl /usr/share/awstats/wwwroot/cgi-bin/awstats.pl -config=sample -update

위 명령에서 -config=sample에는 설정 파일의 이름에 들어간 구분자를 적어야 한다. 이렇게 실행하면 AWStats/etc/awstats/awstats.sample.conf 파일을 읽어서 분석한다. 이제 이후에는 cron에 등록된 /etc/cron.hourly/awstats 파일로 인해 /etc/awstats 디렉토리 내에 있는 모든 설정 파일을 읽어 시간마다 업데이트를 하게 된다. 따라서 여러 도메인에 대한 분석을 해야 한다면 /etc/awstats 디렉토리에 적절한 설정을 한 설정 파일을 만들면 된다.

브라우저에서 AWStats 접속

모든 설정이 끝났다면 작은숲:위키노트/브라우저에서 AWstats에 접속할 수 있다.

http://sample.com/awstats/awstats.pl?config=sample

config=sample에서 sample은 설정 파일의 구분자로 준 도메인이다.

참고

이 작은숲 문서의 출처는 위키노트의 위키노트/AWStats 문서입니다.