BLOG main image
분류 전체보기 (122)
일상 (29)
IT이야기 (64)
시스템이야기 (29)
194,289 Visitors up to today!
Today 0 hit, Yesterday 110 hit
daisy rss
한RSS에 추가
tistory 티스토리 가입하기!
'geoip'에 해당되는 글 1건
2008/04/23 23:19
MaxMind의 GeoIP 데이터와 GeoIP apache 모듈을 사용하여, 아파치의 웹로그에 국가코드를 남겨보자.

1. GeoIP C API 설치한다.
2. 그리고, Apache mod_geoip2 모듈을 설치한다. (apache 2.x 기준임)

apache 모듈이 설치된 상태에서 phpinfo() 를 살펴보면, Apache Environment 부분에서 GEOIP_CONTINENT_CODE, GEOIP_COUNTRY_CODE, GEOIP_COUNTRY_NAME환경 변수를 볼 수 있다.
이중에서 GEOIP_COUNTRY_CODE 변수값을 로그에 남기면 된다.

사용자 삽입 이미지

<IfModule geoip_module>
        GeoIPEnable On
        GeoIPDBFile /usr/local/GeoIP/share/GeoIP/GeoIP.dat
</IfModule>

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %{Host}i %{GEOIP_COUNTRY_CODE}e" cnxlog

CustomLog logs/access_log cnxlog

위에서 %{변수명}i 형식은 Header중 해당 변수값을 말한다. %{변수명}e 는 환경변수를 의미한다.

%{Host}i : 요청한 호스트명을 로그에 남긴다. 이를테면 하나의 서버에 2개 이상의 도메인을 갖고 있을 때 유용하다.  www.foobar.com, www.foobar.net, foobar.com 등의 도메인이 있을 때 어떤 도메인으로 요청했는지를 남길 수 있게 된다.
%{GEOIP_COUNTRY_CODE}e : GEOIP_COUNTRY_CODE 환경변수, 즉 국가코드를 남긴다.

로그는 다음과 같이 남는다.

125.129.xxx.xxx - - [01/Apr/2008:01:07:15 +0900] "GET /bbs/ HTTP/1.1" 200 29388 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; ko; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13" foobar.com KR
61.243.xxx.xxx - - [01/Apr/2008:01:17:20 +0900] "GET /data/linux_base/editors.html HTTP/1.1" 403 520 "-" "Mozilla/4.0 (compatible; MSIE 5.5; Windows 98; DigExt)" foobar.com CN

자세한 것은 커피닉스의 'GeoIP 활용(아파치 웹로그에 국가코드 남기기 외)' 에 정리해뒀다.

이올린에 북마크하기(0) 이올린에 추천하기(0)
Trackback Address :: http://truefeel.tistory.com/trackback/111 관련글 쓰기
Tracked from 디지문닷넷 | 2008/11/08 22:38 | DEL
작성자: 주인장 디지문(http://www.digimoon.net/) 간만에 팁 하나 작성합니다. ^^ 이번엔 아파치 웹서버용 웹로그 분석툴 중 가장 대표적인 Webalizer에 관한 팁을 소개하고자 합니다. Webalizer를 설치하는 방법에 대해선 인터넷을 뒤져보면 수두룩하게 나옵니다만 저는 좀 더 진보된 기능을 수행하는 Webalizer 설치법을 소개하고자 합니다. Webalizer에서 국가별 로그 출력하기(GeoIP C API + Apache..
Name
Password
Homepage
Secret
prev"" #1 next