mod_geoip - определяет по IP посетителя его страну, регион и город.
С его помощью можно например запретить доступ посетителей с определенных стран.Установить geoip и mod_geoip на FreeBSD необходимо посредством выполнения следующих действий.
Скачиваем архив и распаковываем его:
# wget http://geolite.maxmind.com/download/geoip/api/c/GeoIP.tar.gz
# tar –zxvf GeoIP.tar.gz
Перейдем в директорию и начнем установку:
# cd GeoIP-1.4.8
# ./configure && make && make check && make install
Сам GeoIP мы установили, нужно для работы скачать еще и mod_geoip:
# fetch https://github.com/maxmind/geoip-api-mod_geoip2/archive/1.2.9.tar.gz
# tar zxf mod_geoip2_1.2.9.tar.gz
# cd mod_geoip2_1.2.9
# /usr/local/apache2/bin/apxs -i -a -L/usr/local/lib -I/usr/local/include -lGeoIP -c mod_geoip.c
Качаем базу и ложем /usr/local/share/GeoIP/
# fetch http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
# gunzip GeoLiteCity.dat.gz
# fetch http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
# gunzip GeoIP.dat.gz
# cp GeoIP.dat /usr/local/share/GeoIP/GeoIP.dat
#cp GeoLiteCity.dat /usr/local/share/GeoIP/GeoLiteCity.dat
Открываем /usr/local/apache2/conf/httpd.conf и дописываем
GeoIPEnable On
GeoIPScanProxyHeaders On
GeoIPDBFile /usr/local/share/GeoIP/GeoIP.dat
GeoIPDBFile /usr/local/share/GeoIP/GeoLiteCity.dat
Для примера заблокируем Китай, его код CN
Options FollowSymLinks Includes
AllowOverride All
Order deny,allow
Allow from all
SetEnvIf GEOIP_COUNTRY_CODE CN BlockCountry
Deny from env=BlockCountry
Теперь все должно работать, а 100500 китайцев не смогут зайти на сайт. |