LINUX.ORG.RU
решено ФорумAdmin

Apache+Geoip

 


0

1

Пытаюсь настроить FAMP сервер Установил все из исходников но не получается прикрутить к apache geoip когда я добавляю в настройки httpd.conf

<Directory «/usr/home/www/»> 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>

то при перезапуске apache выдает ошибку и не запускается

Syntax error on line 226 of /usr/local/etc/apache22/httpd.conf: GeoIPDBFile not allowed here /usr/local/etc/rc.d/apache22: WARNING: failed to start apache22

вынеси GeoIPDBFile из Directory типа такого:

        <IfModule mod_geoip.c>
        ##### модуль GeoIP начался
        #
        # Включаем модуль
        GeoIPEnable     On
        # Указываем путь к БД (в доках говориться, что
        # надо тока если местоположение БД нестандартное, но
        # какое считается стандартным - нигде не нашёл - потому
        # на всякий случай указываю) - БД инсталлится вместе с
        # портом GeoIP.
        GeoIPDBFile     /usr/local/share/GeoIP/GeoIP.dat
        # Следующая директива устанавливает где применяется модуль
        # GeoIP (по крайней мере я так понял) - тока в примечаниях apache (Notes),
        # только в переменных окружения (Env) или везде (All - по дефолту):
        GeoIPOutput     All
        # заставляет проверять БД GeoIP.dat чтобы определить, обновлялась ли БД
        # нужно чтобы не перезапускать апач при обновлении БД
        GeoIPFlags      CheckCache

        ###### пример блокировки отдельных стран
        # Блокируем косоглазеньких - всё равно ничё не поймут
        SetEnvIf        GEOIP_COUNTRY_CODE      CN      BlockCountry
        # Блокируем америкосов - тоже ничё не поймут, тупые слишком.
        SetEnvIf        GEOIP_COUNTRY_CODE      US      BlockCountry
        # Что мы, собствено, делаем по вышеуказанным правилам,
        # это должно быть в директории которую блокируем, т.е. внутри
        # <Directory "/usr/local/www/data">
        # ...............
        #Deny from env=BlockCountry
        # </Directory>
        </IfModule>

VegaRus ()
Ответ на: комментарий от VegaRus

Изменил конфигурацию httpd.conf переместил GeoIPDBFile /usr/local/share/GeoIP/GeoIP.dat GeoIPDBFile /usr/local/share/GeoIP/GeoLiteCity.dat

после </Directory>

и apache запустился нормально

rootmaster ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.