apache2에서 geoip 적용 및 awstats 설정

### apache2에서 geoip 적용


wget http://mirror.koreaidc.com/geoip/GeoIP-1.4.6.tar.gz


wget http://mirror.koreaidc.com/geoip/mod_geoip2_1.2.5.tar.gz


wget http://mirror.koreaidc.com/geoip/GeoLiteCity.dat.gz
[root@ns1 ~]# yum -y install GeoIP GeoIP-devel GeoIP-data perl-Geo-IP
만약 yum이 되지 않으면 소스 컴파일로 작업해야 한다


### 소스컴파일 작업
[root@ns1 ~]# tar xvfz GeoIP-1.4.6.tar.gz
[root@ns1 ~]# cd GeoIP-1.4.6
[root@ns1 GeoIP-1.4.6]# ./configure && make && make install


### 위에서 yum으로 설치되었으면 컴파일 작업 하지 않아도 된다


 ### 아파치2에 geoip모듈 올리기


[root@ns1 ~]# tar xvfz mod_geoip2_1.2.5.tar.gz
[root@ns1 ~]# cd mod_geoip2_1.2.5
[root@ns1 mod_geoip2_1.2.5]# apxs -i -a -L/usr/local/lib -I/usr/local/include -lGeoIP -c mod_geoip.c


[root@ns1 mod_geoip2_1.2.5]# vi /usr/local/apache/conf/httpd.conf


모듈이 올라왔는지 확인한다
LoadModule geoip_module       modules/mod_geoip.so


[root@ns1 mod_geoip2_1.2.5]# ll /usr/local/apache/modules/mod_geoip.so
-rwxr-xr-x  1 root root 37883 11월 25 11:45 /usr/local/apache/modules/mod_geoip.so
geoip 파일의 압축을 푼다


[root@ns1 mod_geoip2_1.2.5]# cd /root
[root@ns1 ~]# gzip -d GeoLiteCity.dat.gz
[root@ns1 ~]# mkdir /var/geoip/
[root@ns1 ~]# mv GeoLiteCity.dat /var/geoip/


확인
[root@ns1 ~]# ll /var/geoip/
-rw-r–r–  1 root root 27938026 11월  3 04:51 GeoLiteCity.dat


아파치 환경 설정에 mod_geoip를 사용할수 있게 설정한다


[root@ns1 ~]# vi /usr/local/apache/conf/httpd.conf
<IfModule mod_geoip.c>
 GeoIPEnable On
 GeoIPDBFile /var/geoip/GeoLiteCity.dat
</IfModule>
그리고 Logformat 형식을 아래와 같이 입력한다
vi /usr/local/apache/conf/httpd.conf


LogFormat “%V %h %l %u %t \”%r\” %s %b \”%{Referer}i\” \”%{User-Agent}i\” %{Host}i %{GEOIP_COUNTRY_CODE}e” vcommon


만약 vhosts 파일을 사용한다면 log파일 형식을
combined —> vcommon으로 수정해 준다


[root@ns1 ~]# killall -9 httpd


[root@ns1 ~]# apachectl start


로그파일에 국가 코드가 나오는지 확인한다 (kr)



awstats 설치


[root@ns1 ~]# wget http://mirror.koreaidc.com/webalizer/awstats-6.95.tar.gz


[root@ns1 ~]# tar xvfz awstats-6.95.tar.gz


[root@ns1 ~]# mkdir /usr/local/awstats
[root@ns1 ~]# cp -a awstats-6.95/* /usr/local/awstats/
[root@ns1 ~]# cd /usr/local/awstats/tools


[root@ns1 tools]# ./awstats_configure.pl


y입력
도메인입력
엔터
엔터


[root@ns1 tools]# vi /etc/awstats/awstats.xinet.kr.conf
51번라인
LogFile=”/usr/local/apache/logs/access_log


203번라인
DirData=”/usr/local/awstats”


905번라인
Lang=”ko”


1312번라인에 아래 2줄 기입  (실제 국가코드가 있는 dat파일과 city파일이 있는 dat 파일의 경로를 지정해 주면된다)


LoadPlugin=”geoip GEOIP_STANDARD /var/lib/GeoIP/GeoIP.dat”


LoadPlugin=”geoip_city_maxmind GEOIP_STANDARD /var/geoip/GeoLiteCity.dat”


이것을 그대로 복사해서 붙혀넣기 하면 ( ” “) 표시가 되지 않는다  복사후 ” 꼭 입력해야 한다 그래야 아래 실행시 에러 메세지를 표시안해준다


awstats를 실행한다


[root@ns1 tools]# /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=xinet.kr
스크립트 작성


[root@ns1 tools]# vi /shell/awstat


#!/bin/bash


/usr/local/awstats/wwwroot/cgi-bin/awstats.pl -config=unifree3.nayana.com -update


[root@ns1 tools]# chmod 700 /shell/awstat
10분마다 awstat를 실행할수 있게 cron에 등록


[root@ns1 tools]# crontab -e


*/10 * * * * /shell/awstat                      # awstat 로그
[root@ns1 tools]# /etc/rc.d/init.d/crond restart


http://xinet.kr/awstats/awstats.pl?config=xinet.kr


암호인증을 해놨기 때문에 패스워드를 입력해야 한다 (아파치 암호인증은 여기 apache 폴더의 글 내용 참고)


코멘트 쓰기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.

다음의 HTML 태그와 속성을 사용할 수 있습니다:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>



배송정보
배송조회를 하시려면 송장번호를 클릭하세요
배송조회
상품명
주문번호
택배사
송장번호