Установка · 2 min read · Jan 02, 2026

Установка mod_geoip для Apache2 на CentOS 6.3

Установка mod_geoip для Apache2 на CentOS 6.3

Версия 1.0
Автор: Фалко Тимме
Следите за мной в Twitter

Этот гид объясняет, как настроить mod_geoip с Apache2 на системе CentOS 6.3. mod_geoip ищет IP-адрес конечного пользователя. Это позволяет вам перенаправлять или блокировать пользователей в зависимости от их страны. Вы также можете использовать эту технологию для вашего сервера рекламы OpenX (ранее известного как OpenAds или phpAdsNew) для гео-таргетинга.

Я не даю никаких гарантий, что это сработает для вас!

1 Предварительная заметка

Я предполагаю, что у вас есть работающая система CentOS 6.3 с работающим Apache2 + PHP, например, как показано в этом учебнике: Установка Apache2 с поддержкой PHP5 и MySQL на CentOS 6.3 (LAMP).

2 Установка mod_geoip

Поскольку mod_geoip недоступен в официальных репозиториях CentOS, нам нужно включить репозиторий EPEL:

rpm --import https://fedoraproject.org/static/0608B895.txt  
 wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-7.noarch.rpm  
 rpm -ivh epel-release-6-7.noarch.rpm
yum install yum-priorities

Отредактируйте /etc/yum.repos.d/epel.repo…

vi /etc/yum.repos.d/epel.repo

… и добавьте строку priority=10 в секцию [epel]:

| [epel] name=Extra Packages for Enterprise Linux 6 - $basearch #baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch failovermethod=priority enabled=1 priority=10 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 [...] |

Чтобы установить mod_geoip, просто выполните:

yum install mod_geoip

Вы найдете базу данных GeoIP (GeoIP.dat) в каталоге /usr/share/GeoIP. Поскольку географическое распределение IP-адресов может изменяться со временем, разумно скачать самую новую GeoIP.dat сейчас:

cd /usr/share/GeoIP/  
 mv GeoIP.dat GeoIP.dat_orig  
 wget -N -q http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz  
 gunzip GeoIP.dat.gz

Далее мы перезапускаем Apache:

/etc/init.d/httpd restart

Вот и все!

3 Краткий тест

Чтобы проверить, работает ли mod_geoip правильно, мы можем создать небольшой PHP-файл в одном из наших веб-пространств (например, /var/www/html):

vi /var/www/html/geoiptest.php

| |

Вызовите этот файл в браузере, и он должен отобразить массив SERVER, включая значения для GEOIP_COUNTRY_CODE, GEOIP_CONTINENT_CODE и GEOIP_COUNTRY_NAME (убедитесь, что вы вызываете файл с публичного IP-адреса, а не с локального).

Array  
 (  
     [GEOIP_CONTINENT_CODE] => EU  
     [GEOIP_COUNTRY_CODE] => DE  
     [GEOIP_COUNTRY_NAME] => Германия  
     [HTTP_HOST] => 84.143.142.69  
     [HTTP_USER_AGENT] => Mozilla/5.0 (Windows NT 6.1; WOW64; rv:14.0) Gecko/20100101 Firefox/14.0.1  
     [HTTP_ACCEPT] => text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5  
     [HTTP_ACCEPT_LANGUAGE] => en-us,en;q=0.5  
     [HTTP_ACCEPT_ENCODING] => gzip,deflate  
     [HTTP_ACCEPT_CHARSET] => ISO-8859-1,utf-8;q=0.7,*;q=0.7  
     [HTTP_KEEP_ALIVE] => 300  
     [HTTP_CONNECTION] => keep-alive  
     [PATH] => /sbin:/usr/sbin:/bin:/usr/bin  
     [SERVER_SIGNATURE] => 
Apache/2.2.15 (CentOS) Server at www.example.org Port 80
    [SERVER_SOFTWARE] => Apache/2.2.15 (CentOS)     [SERVER_NAME] => 84.143.142.69     [SERVER_ADDR] => 192.168.0.100     [SERVER_PORT] => 80     [REMOTE_ADDR] => 84.143.142.69     [DOCUMENT_ROOT] => /var/www/html     [SERVER_ADMIN] => root@localhost     [SCRIPT_FILENAME] => /var/www/html/geoiptest.php     [REMOTE_PORT] => 57421     [GATEWAY_INTERFACE] => CGI/1.1     [SERVER_PROTOCOL] => HTTP/1.1     [REQUEST_METHOD] => GET     [QUERY_STRING] =>     [REQUEST_URI] => /geoiptest.php     [SCRIPT_NAME] => /geoiptest.php     [PHP_SELF] => /geoiptest.php     [REQUEST_TIME] => 1344547179 )

Если вы хотите использовать Apache2 + mod_geoip для вашего сервера рекламы OpenX, убедитесь, что вы выбрали MaxMind mod_apache GeoIP в разделе Настройки > Основные настройки > Настройки гео-таргетинга:

4 Сценарии использования

Вы можете использовать mod_geoip для перенаправления или блокировки/разрешения пользователей в зависимости от их страны. Вы можете найти несколько полезных примеров для этого здесь: http://www.maxmind.com/app/mod_geoip

5 Ссылки

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.