Archive

Posts Tagged ‘GeoIP’

Установка mod_geoip на Linux/FreeBSD сервер с DirectAdmin

October 17th, 2009

В случае c Linux:

yum install GeoIP GeoIP-devel
cd /root
wget http://geolite.maxmind.com/download/geoip/api/mod_geoip2/mod_geoip2_1.2.5.tar.gz
tar zxvf mod_geoip2_1.2.5.tar.gz
cd mod_geoip2_1.2.5
apxs -i -a -L/usr/lib -I/usr/include -lGeoIP -c mod_geoip.c

В /etc/httpd/conf/httpd.conf добавляем:

LoadModule geoip_module /usr/lib/apache/mod_geoip.so
GeoIPEnable On
GeoIPDBFile /usr/share/GeoIP/GeoIP.dat
/etc/init.d/httpd restart

В случае с FreeBSD:

cd /usr/ports/net/GeoIP && make install
cd /root
wget http://geolite.maxmind.com/download/geoip/api/mod_geoip2/mod_geoip2_1.2.5.tar.gz
tar zxvf mod_geoip2_1.2.5.tar.gz
cd mod_geoip2_1.2.5
apxs -i -a -L/usr/local/lib -I/usr/local/include -lGeoIP -c mod_geoip.c

Добавление в конфиг апача аналогично.

FreeBSD, linux ,

Автообновление базы GeoIP в CentOS

June 8th, 2009

Для базы по странам добавить в crontab:

cd /usr/share/GeoIP/ && wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz && gunzip -f GeoIP.dat.gz

Для базы по городам:

cd /usr/share/GeoIP/ && wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz && gunzip -f GeoLiteCity.dat && mv ./GeoLiteCity.dat ./GeoIPCity.dat

Uncategorized

Установка Pear PHP GeoIP расширения на Linux

May 15th, 2009

К сожалению, данного расширения нет в RPM-ках поэтому будем ставить его из сорцов:

yum --enablerepo=remi install GeoIP-devel php-devel
cd /usr/local/src
wget http://pecl.php.net/get/geoip
tar zxvf ./geoip-1.0.7.tgz
cd geoip-1.0.7
phpize
./configure
make
make install

Создаем /etc/php.d/geoip.ini:

extension=geoip.so

Рестартим апач:

service httpd reload

php ,

Фильтрация по GeoIP через .htaccess

April 16th, 2009

После установки GeoIP на Апач можно использовать следующие варианты для фильтрации трафика в .htaccess на основании гео-информации:

Для блокировки подключений из России и Китая

SetEnvIf GEOIP_COUNTRY_CODE CN BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE RU BlockCountry
Deny from env=BlockCountry

Перенаправление трафика из Китая на гугл

RewriteEngine on
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^CN$
RewriteRule ^(.*)$ http://www.google.com$1 [L]

Apache ,

Нюанс с GeoIP, nginx, apache-1.3, mod_rpaf

March 3rd, 2009

При реализации указанной связки необходимо проследить что модули в httpd.conf указаны в следующем порядке:

LoadModule geoip_module       libexec/apache/mod_geoip.so
LoadModule rpaf_module        libexec/apache/mod_rpaf.so

В обратной последовательности загрузки модулей стабильно не работает при любых заголовках и тд.

Apache , ,

nginx, ограничение по странам

December 9th, 2008

Будем запрещать доступ только если ип проверен по двум базам. т.к. там встречаются ошибки.
Качаем базу maxmind
ее надо сконвертить в формат Nginx скриптом geo2nginx.pl
Вторую базу качаем отсюда в CIDR формате.
в nginx.conf в http

geo $geo {
        default US;
        include geo-best.conf;
    }

    geo $geo2 {
        default US;
        include worldip.conf;
}

внутри Location

if ($geo ~ "^(CN)$"){
                set $i  "a";
            }
            if ($geo2 ~ "^(CN)$"){
                set $i  "a$i";
            }
            if ($i = "aa"){
                access_log /var/log/httpd/bad-country.log;
                return 403;
            }

FreeBSD ,

GeoIP Apache

December 9th, 2008
cd /usr/ports/www/mod_geoip2 && make install

раскомментить

LoadModule geoip_module       libexec/apache2/mod_geoip.so

добавить:

GeoIPEnable On
GeoIPDBFile /usr/local/share/GeoIP/GeoIP.dat

Apache ,