Главная » Статьи » Интернет? Не! Не слышал...

Установить geoip и mod_geoip на FreeBSD
Статья Установить geoip и mod_geoip на FreeBSD


Мне нужно было сделать следующее:
1. Установить geoip и mod_geoip на FreeBSD.
2. Нужно заблокировать доступ к файлам *.php из страны CN
!!!Как я выяснил для моего апача нужен был именноGeoIP-1.4.8!!!
# mkdir /usr/local/src/GeoIP
# cd /usr/local/src/GeoIP
# cd /usr/local/src/geoip
Скачиваем архив и распаковываем его:
# 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
Все! Сам ГеоИП мы установили, нужно для работы скачать еще и мод геоИП:
# fetch http://ftp.uni-erlangen.de/pub/mirrors/FreeBSD/distfiles/mod_geoip2_1.2.8.tar.gz
# tar zxf mod_geoip2_1.2.8.tar.gz
# cd mod_geoip2_1.2.8
# /usr/local/apache2/bin/apxs -i -a -L/usr/local/lib -I/usr/local/include -lGeoIP -c mod_geoip.c
Качаем базу и ложем /usr/local/share/GeoIP/
# wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
# gunzip GeoLiteCity.dat.gz
# wget 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, а именно
……………………………………………………………………………………
;Установить geoip и mod_geoip из исходников на FreeBSD. Его настройка в конфиге апача(httpd.conf)
<Directory «/usr/home/captain/»>
    Options FollowSymLinks Includes
    AllowOverride All
    Order deny,allow
    Allow from all
GeoIPEnable On
GeoIPDBFile /usr/local/share/GeoIP/GeoIP.dat
GeoIPDBFile /usr/local/share/GeoIP/GeoLiteCity.dat
SetEnvIf GEOIP_COUNTRY_CODE CN BlockCountry
Deny from env=BlockCountry
</Directory>
………………………………………………………………….
Или поправим vhosts.conf
…………………………………………………………………………………………………..
<VirtualHost 127.0.0.1:80 >
    ;Установить geoip и mod_geoip из исходников на FreeBSD. Его настройка в конфиге апача(vhosts.conf)
    DocumentRoot /usr/home/captain/test.com/www
    ServerAdmin webmaster@test.com
    ServerName test.com
    ServerAlias www.test.com
    ScriptAlias /cgi-bin/ /usr/home/captain/test.com/cgi-bin/
GeoIPEnable On
GeoIPDBFile /usr/local/share/GeoIP/GeoIP.dat
GeoIPDBFile /usr/local/share/GeoIP/GeoLiteCity.dat
SetEnvIf GEOIP_COUNTRY_CODE CN BlockCountry
Deny from env=BlockCountry
</VirtualHost>
…………………………………………………………………………………………………..

Для проверки работоспособности напишем пхп код, который покажет нужную информацию. Этот файл должен лежать в домашней каталоге apache:

# ee /home/captain/test.com/www/geoip.php
<pre>
Ot kuda prishel:
<?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: » . $country_code . «\n»;
echo «Region:     » . $region . «\n»;
echo «Name of country: » . $country_name . «\n»;
echo «City:  » . $city . «\n»;
?>
</pre>

Перезапустите веб-серверApache
# /usr/local/apache2/bin/apachectl restart

Запустим этот php скрипт, перейдя по ссылке, у меня так:
http://localhost/geoip.php

Установить geoip и mod_geoip из исходников на FreeBSD завершена, если есть вопросы пишите в комментарии. Отвечу и помогу в настройке.

 

Категория: Интернет? Не! Не слышал... | Добавил: vano (07.07.2014)
Просмотров: 2460 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]