아파치 로그를 분석하여 일별, 주별, 월별, 연별 또는 접속 아이피, 접속 페이지 수 전송량 등 접속 국가까지
다양한 정보를 얻을 수 있다. 이름하야 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
RECENT COMMENT