Установка модуля GeoIP для Apache 1.х и 2.x

Неплохой модуль для apache1.х и 2.х версий - по IP посетителя определяется его страна, регион и город. Может пригодиться, чтобы зарубить левых посетителей к примеру по странам...
Скачиваем нужные файлы:

cd /tmp
wget http://geolite.maxmind.com/download/geoip/api/c/GeoIP.tar.gz
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
 
Для Apache 1.x:
wget http://geolite.maxmind.com/download/geoip/api/mod_geoip/mod_geoip_1.3.4.tar.gz
Или смотрите какой есть последний http://geolite.maxmind.com/download/geoip/api/mod_geoip/
 
Для Apache 2.x:
wget http://geolite.maxmind.com/download/geoip/api/mod_geoip2/mod_geoip2_1.2.5.tar.gz
Или смотрите какой есть последний http://geolite.maxmind.com/download/geoip/api/mod_geoip2/

Ставлю на Apache 2.x и пример дальше идет под 2.х:

Распаковываем файлы:

cd /tmp
tar xzf GeoIP.tar.gz
tar xzf mod_geoip2_1.2.5.tar.gz
gunzip GeoLiteCity.dat.gz
gunzip GeoIP.dat.gz

Приступаем к установке главного пакета для GeoIP и копируем ему новые базы:
cd /tmp/GeoIP-1.4.6
./configure
make install clean
cd /tmp
cp *.dat /usr/local/share/GeoIP/

Теперь компилируем модуль для Apache 2.x (в моем случае стоит directadmin на сервере и в нем используется файл apxs, у Вас может быть apxs2):
cd /tmp/mod_geoip2_1.2.5
apxs -i -a -L/usr/local/lib -I/usr/local/include -lGeoIP -c mod_geoip.c

Теперь добавим строки в файл httpd.conf (в моем случае он находится /etc/httpd/conf/httpd.conf):
LoadModule      geoip_module    /usr/lib/apache/mod_geoip.so
<IfModule mod_geoip.c>
    GeoIPEnable On
    GeoIPDBFile /usr/local/share/GeoIP/GeoIP.dat
    GeoIPDBFile /usr/local/share/GeoIP/GeoLiteCity.dat
    GeoIPOutput All
</IfModule>

Перезагружаем Apache...

Проверяем модуль...
Создадим страничку со следующим кодом php, к примеру страницу geoip.php:

<pre>
Откуда припёрся:
<?php
$country_code = apache_note("GEOIP_COUNTRY_CODE");
$region = apache_note("GEOIP_REGION");
$country_name = apache_note("GEOIP_COUNTRY_NAME");
$city = apache_note("GEOIP_CITY");
echo "Код страны: " . $country_code . "\n";
echo "Регион:     " . $region . "\n";
echo "Имя страны: " . $country_name . "\n";
echo "Город:      " . $city . "\n";
?>
</pre>

Ну и смотрим, что нам выдало...

Также можно скачать и другие базы для более профессионального использования...
Где взять базы - тут лежит какая-то программа, не вникал. С ней идёт несколько баз. Это программа для Windows... В папке с программой есть папка - "Config", с этой папки нам нужны все файлы DAT. Заливаем их на FTP и копируем в папку /usr/local/share/GeoIP/...



Яндекс.Метрика
Счётчик ТЦ#65533;Ц LiveRSS: Каталог русскоязычных RSS-каналов