Server & OS

우분투 아파치 서버로그 분석 (awstats)

컨텐츠 정보

본문


출처: http://mooyou.tistory.com/54 [무유 블로그]

 

 

1. awstats 패키지 설치

 

다음 명령어로 awstats를 설치합니다.

geo 라이브러리는 방문자를 나라별로 분류해서 볼 수 있게 하기위해 설치합니다.

$ sudo apt-get install geoip-bin geoip-database libgeoip-dev libgeoip1 libgeo-ip-perl geoip-database-extra libapache2-mod-geoip

$sudo apt-get install awstats libnet-xwhois-perl



[디렉토리]

/etc/awstats/ : 설정파일 루트 디렉토리

/var/lib/awstats/ : 분석이 끝난 자료를 정리해둔 파일

/etc/cron.d/awstats : cron job 에 등록될 내용이 저장되어 있다.

/usr/lib/cgi-bin/awstats.pl : 실제 실행 파일(cron 에서 매일 실행하거나, 웹에서 보여줄때 모두 사용된다.)


 

 

2. awstats 환경 설정

 

$ sudo vim /etc/awstats/awstats.conf

122번째줄 : LogFormat=4 를 LogFormat=1 로 변경. ubuntu apache 기본값이 1번입니다.

153번째줄 : SiteDomain=”” 를 SiteDomain=”mydomain.com” 로 변경. 작업중인 파일명을 참고하여 변경하세요.

168번째줄 : HostAliases=”localhost 127.0.0.1” 를 HostAliases=mydomain.com localhost 127.0.0.1” 로 변경. 현재 설정파일과 동일하게 취급할 도메인을 띄어쓰기를 구분자로 하여 적어줍니다.

188번째줄 : DNSLookup=1 을 DNSLookup=0 으로 변경. dnslookup 은 부하가 많이 걸리므로 꺼두는게 좋습니다.

905번째줄 : Lang=”auto” 를 Lang=”ko” 로 변경. 강제로 한국어를 지정합니다. awstats에는 한글UI를 지원합니다.

1305번째줄 : LoadPlugin="tooltips" #주석제거 툴팁 활성화 (선택)

1443번째줄 : LoadPlugin="geoip GEOIP_STANDARD /usr/share/GeoIP/GeoIP.dat" #주석제거 방문자를 나라별로 분류해서 볼 수 있습니다.

1462번째줄 : #LoadPlugin="geoip_city_maxmind GEOIP_STANDARD /usr/share/GeoIP/GeoIPCity.dat" #주석제거(선택)


 

 

3. awstats 보안 설정

 

# awstats.도메인명.conf 를 자동으로 불러옴

$ sudo cp /etc/awstats/awstats.conf /etc/awstats/awstats.windwing.co.kr.conf

 

# 보안을 위해서 기본샘플파일인 awstats.conf 파일명을 awstats.conf_ 로 변경

$ sudo mv /etc/awstats/awstats.conf /etc/awstats/awstats.conf_



* 로그업데이트

/usr/lib/cgi-bin/awstats.pl -config=mydomain.com -update

 

 

4. 아파치 환경 설정

 

아파치 환경설정 파일을 읽어옵니다.

$ sudo vim /etc/apache2/sites-enabled/000-default

환경설정 파일에서 VirtualHost 태그 안에 awstats 설정 추가합니다.

<VirtualHost *:80>

    ServerAdmin webmaster@localhost

 

    DocumentRoot /var/www

 

    <Directory />

        Options FollowSymLinks

        AllowOverride None

    </Directory>

    <Directory /var/www/>

        Options Indexes FollowSymLinks MultiViews

        AllowOverride None

        Order allow,deny

        allow from all

    </Directory>

 

 

    ## -- awstats 설정 ##

    Alias /awstatsclasses "/usr/share/awstats/lib/"

    Alias /awstats-icon/ "/usr/share/awstats/icon/"

    Alias /awstatscss "/usr/share/doc/awstats/examples/css"

 

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

    <Directory "/usr/lib/cgi-bin">

        AllowOverride None

        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch

        Order allow,deny

        Allow from all

    </Directory>

 

    ...

</VirtualHost>

아파치 서버 재시작

$ sudo /etc/init.d/apache2 restart


----------------------------------------------------

** 전체 설정 **

1) 아파치 설정

$sudo vi /etc/apache2/conf-enabled/awstats.conf


Alias /awstatsclasses "/usr/share/awstats/lib/" 

Alias /awstats-icon/ "/usr/share/awstats/icon/" 

Alias /awstatscss "/usr/share/doc/awstats/examples/css" 

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ 

ScriptAlias /awstats/ /usr/lib/cgi-bin/ 

Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch


$sudo vi /etc/apache2/apache2.conf


<Directory /usr/lib/cgi-bin>

        Options ExecCGI MultiViews SymLinksIfOwnerMatch FollowSymLinks

        AllowOverride All

        Require all granted

        SetHandler cgi-script

</Directory>


위에 소스를 맨 밑에 추가한다



2) cgi 활성화

$ sudo a2enmod cgi


3) 아파치 재시작

$ sudo /etc/init.d/apache2 restart

---------------------------------------------------- 

 






5. 로그정보 업데이트

 

시스템에서 주기적으로 업데이트 하기위해 crontab 설정합니다. (반드시 sudo를 붙여 관리자 crontab에 등록)

sudo crontab -e

다음과같이 crontab에 awstats 업데이트 구문을 등록합니다. (30분 주기)

# awstats

00,30 * * * * /usr/lib/cgi-bin/awstats.pl -config=mydomain.com -update > /dev/null 2>&


//permission 에러시

chmod 755 /var/log/apache2

 

 

6. 결과 확인

 

다음의 주소로 접근하시면 아파치 로그를 확인하실 수 있습니다.

http://mydomain.com/cgi-bin/awstats.pl

 

 

references

 

https://lael.be/498

http://mcchae.egloos.com/10515893

http://blog.sunghwanyoo.com/59

 

 

출처: http://mooyou.tistory.com/54 [무유 블로그]

관련자료

댓글 0
등록된 댓글이 없습니다.
Today's proverb
해야 함은 할 수 있음을 함축한다. (칸트)