티스토리 뷰

Linux

아파치에 GEO-IP 모듈 올리기

CHOMAN 2015. 6. 11. 17:48

GEOIP API C 받기

http://geolite.maxmind.com/download/geoip/api/c/ 방문해서 최신껄로 받자

./configure --prefix=/usr/local/GeoIP (prefix 를 잡아주니 mod_geoip 할때 에러가 뜨는거 같긴 한데 테스트중)
make
make install

/usr/local/GeoIP/share/GeoIP/GeoIP.dat GEOIP : 국가 정보를 담고 있는 데이터 (디폴트로 저곳에 있다)
- wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz (다운)
- gzip -d GeoIP.dat.gz 받아서 압출풀면 끝임


Mod_geoip 다운

http://www.maxmind.com/download/geoip/api/mod_geoip2/ 방문해서 최신걸로 받자

아래것이 머하는건지는 모르겠는데 아무튼 해주면 됨 둘중 하나만 해주면 될듯 한데 테스트 해봐야겠음

/usr/local/apache/bin/apxs -a -i -L/usr/local/GeoIP/lib -I/usr/local/GeoIP/include -lGeoIP -c mod_geoip.c
/usr/local/apache/bin/apxs -i -a -L/usr/local/lib -I/usr/local/include -lGeoIP -c mod_geoip.c

하고 나면 httpd.conf에 아래라인이 하나 추가되면 성공임
LoadModule geoip_module modules/mod_geoip.so

로그포맷 (하니깐 끝에 KR , CN 이런식으로 아파치 ACCESS LOG에 국가코드가 찍힘)
- LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %{Host}i %{GEOIP_COUNTRY_CODE}e"

httpd.conf
LogFormat "%v %{X-Forwarded-For}i %l %u %t \"%r\" %>s %b %{GEOIP_COUNTRY_CODE}e" KENSEI 
- 프록시를 거쳐도 실제 아이피가 찍히고 끝에 국가코드가 찍히게 함

실제로 적용하려면 아래와 같은 규칙이 필요함 어떻게 적용하느냐에 따라 유연하거나 견고하게 가능할듯함

ex) 아래는 virtualhost로 구성된 서버에 대해 적용해보았다

<IfModule mod_geoip.c>
GeoIPEnable on
GeoIPDBFile /usr/local/GeoIP/share/GeoIP/GeoIP.dat
</IfModule>

<Directory /home/tc>

AllowOverride All
Options +ExecCGI

<Limit GET POST>
SetEnvIf GEOIP_COUNTRY_CODE KR BlockCountry
Order deny,allow
Deny from env=BlockCountry
</Limit>

Allow from XXX.XXX.250.101
</Directory>


ex2) 그냥 웹서버 하나인 경우는 속편하게 아래와 같이 적용시키니 적용이 되었다
저기 아래에 있는 Location 부분이 URL 경로를 의미하는지는 더 테스트 해봐야겠음

<IfModule mod_geoip.c>
GeoIPEnable on
GeoIPDBFile /usr/local/Geoip/share/GeoIP/GeoIP.dat

#<Location />
SetEnvIf GEOIP_COUNTRY_CODE CN BlockCountry

<Limit GET POST>
Order Deny,Allow
Deny from env=BlockCountry
#Allow from XXX.XXX.115.201
</Limit>
#</Location>

참고블로그 : http://www.cyworld.com/ruo91/2842916

'Linux' 카테고리의 다른 글

Apache 2.2.9 재컴파일 하지 않고 mod_rewrite 모듈 올리기  (0) 2015.06.12
nping 명령어  (0) 2015.06.11
Apache Access Log  (0) 2015.06.11
Apache SSL 설치  (0) 2015.06.11
아파치 리다이렉트 관련 (apache Redirect)  (0) 2015.06.11
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함