아파치 로그를 분석하여 일별, 주별, 월별, 연별 또는 접속 아이피, 접속 페이지 수 전송량 등 접속 국가까지


다양한 정보를 얻을 수 있다. 이름하야 awstats


설치 방법은 패키지로 설치 할 수도 있고


소스 파일은 다운받아 압축만 풀어서 사용 할 수도 있다.


본인은 소스파일을 다운 받아서 설치 했다.


설치 경로

# cd /usr/local


awstats download

wget http://downloads.sourceforge.net/project/awstats/AWStats/7.1.1/awstats-7.1.1.tar.gz


압축해제

tar zxvf awstats-7.1.1.tar.gz


파일 이동 및 권한 부여

# mv awstats-7.1.1 /usr/local/awstats

# chown -R root.root /usr/local/awstats

# chmod -R /usr/local/awstats


컨피그 파일 디렉토리 생성

# mkdir /etc/awstats

# mkdir /var/lib/awstats


프로그램 configue

# cd /usr/local/awstats/tools

# ./awstats_configue.pl

1 : 로그설정 기본 combine 방식으로 설정 YES

2 : 새로운 컨피그 파일 생성하는지? : YES

3 : 컨피그 파일 이름 (도메인) ex) nicetv.com

4 : 컨피그 파일 저장 경로 (Default : /etc/awstats) : 엔터

press ENTER to continue...


컨피그 파일 수정

# cd /etc/awstats

# vi awstats.nicetv.conf

  - LogFile = "/opt/httpd/logs/nicetv.access.log"  -->> 아파치 로그를 분석하는 것이기 때문에 아파치 로그파일 경로를 맞춰야 한다.

  - Lang = "ko"  -> 언어설정

  - LogFormat="%host %other %logname %time1 %methodurl %code %bytesd"


Log 업데이트 실행

# /usr/local/awstats/tools/awstats_updateall.pl now  ->> 전체 awstats update 실행

# /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=nicetv  -->> 특정 도메인만 update 실행


Crontab에 등록하여 주기적으로 업데이트

# vi /etc/crontab

*/5 * * * * root /usr/local/awstats/tools/awstats_updateall.pl now > /dev/null 2>&1

5분 단위로 수집


아파치 V-호스트 설정

# vi /opt/httpd/conf/httpd.conf

VirtualHost 에 아래 내용 추가

<VirtualHost *:80>

DocumentRoot "/home/nicetv/public_html"

ServerAdmin webmaster@nicetv.com

ServerName nicetv.com

ServerAlias nice.tv *.nicetv.com *.

CustomLog "/opt/httpd/logs/nicetv.access.log" combined

ErrorLog "/opt/httpd/logs/nicetv.error.log"

php_admin_value open_basedir /tmp:/opt/stmp:/home/nicetv/

php_admin_value default_charset "utf-8"

php_admin_value allow_url_fopen Off

        Alias /awstatsclasses "/usr/local/awstats/wwwroot/classes/"

        Alias /awstatscss "/usr/local/awstats/wwwroot/css/"

        Alias /awstatsicons "/usr/local/awstats/wwwroot/icon/"

        ScriptAlias /awstats "/usr/local/awstats/wwwroot/cgi-bin"

<Directory "/usr/local/awstats/wwwroot">

   Options None

   AllowOverride All

   Order allow,deny

   Allow from all

</Directory>

</VirtualHost>


아파치 재시작

# /etc/init.d/httpd restart


접속하여 잘 뜨는지 확인.

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


-- 추가사항

보안을 위한 로그인 화면 생성

# cd /usr/local/awstats/wwwroot/

# vi .htaccess

AuthType Basic 

AuthName "ComeInComeIn"

AuthUserFile /usr/local/awstats/wwwroot/.htpasswd 

require valid-user


# chmod 777 .htaccess


패스워드 생성

# /usr/local/apache2/bin/htpasswd -c .htpasswd root

New password: 

Re-type new password: 

Adding password for user root



-- 추가사항
GeoIP 를 이용한 국가별 아이피 조회

툴팁 활성화

# vi /etc/awstats/awstats.도메인.conf

 - LoadPlugin = "tooltips"   주석해제

GeoIP 활성화

apt-get install  libgeoip1 libgeoip-dev libgeo-ip-perl

# vi /etc/awstats/awstats.도메인.conf

LoadPlugin="geoip GEOIP_STANDARD /usr/share/GeoIP/GeoIP.dat"


IP에 대한 국가 정보를 확인 할 수 있을 것이다.



도움받은 url


by 초보인척 2014. 12. 10. 11:57