Como instalar mod_geoip para apache em rhel e centos

Como instalar mod_geoip para apache em rhel e centos

Mod_geoip é um módulo Apache que pode ser usado para obter a localização geográfica do IP endereço do visitante no Apache servidor web. Este módulo permite que você determine o visitante país, organização, e localização. É especialmente útil para AD GEO SERVIÇÃO, Conteúdo alvo, Luta de spam, Detecção de fraude, Redirecionando/bloqueando visitantes baseados em seu país e muito mais.

O módulo Geoip permite que os administradores do sistema redirecionem ou bloqueam o tráfego da Web de acordo com a localização geográfica do cliente. A localização geográfica é aprendida através do endereço IP do cliente.

Mod_geoip tem duas versões diferentes, uma é Livre E outro é Pago e usa maxmind Geoip / Geocidade bancos de dados.

  1. Versão gratuita: Na versão gratuita, o Cidade Geo e Bancos de dados do país estão disponíveis com 99.5% precisão.
  2. Versão paga: Na versão paga, você receberá os dois bancos de dados com 99.8% precisão com alguns detalhes mais avançados sobre IP endereço.

Se você gosta de verificar, mais diferenças entre o Livre e Pago Versão, por favor visite Maxmind.com.

Este artigo explica como configurar e instalar o Mod_geoip módulo para apache em RHEL e CENTOS usando o EPEL Repositório com o Yum Package Manager Utility.

Assumimos que você já está correndo RHEL e CENTOS sistema com um trabalho LÂMPADA (Linux, Apache, Mysql, e Php) configurar. Caso contrário, leia nossos artigos em que mostramos a instalação de ambos os sistemas operacionais com LÂMPADA.

Instalação de Rhel/CentOS
  1. Instalação do RHEL 7 e CENTOS 7 Mínimo.
  2. Instalação do RHEL 8 e CENTOS 8 Mínimo.
Configuração da lâmpada no RHEL/CENTOS
  1. Como instalar Lamp (Linux, Apache, MySQL, PHP) no RHEL e CENTOS 7
  2. Como instalar o Apache, MySQL/Mariadb e PHP no RHEL e CENTOS 8

Ativar repositório EPEL em Rhel e Centos

Por padrão mod_geoip não está disponível em RHEL / CENTOS repositório oficial, por isso precisamos instalar e ativar terceiros EPEL repositório.

# yum installel-lançamento # yum install https: // dl.FedoraProject.org/pub/epel/epel-latest-8.Noarch.RPM [no RHEL 8] 

Instale mod_geoip em rhel e centos

Depois de você EPEL repositório ativado no seu sistema, você pode simplesmente instalar mod_geoip Ao executar o seguinte comando com seus pacotes de dependência.

# yum install mod_geoip geoip geoip-devel geoip-data zlib-devel 

Baixe o último banco de dados Geo City and Country

É uma boa ideia baixar as últimas Cidade Geo e Banco de dados do país para se manter atualizado.

# cd/usr/share/geoip/ # mv geoip.dat geoip.dat_org # wget http: // geolite.maxmind.com/download/geoip/banco de dados/geolite2-country.alcatrão.gz # wget http: // geolite.maxmind.com/download/geoip/banco de dados/geolite2-city.alcatrão.gz # gunzip geolite2-country.alcatrão.gz # gunzip geolite2-city.alcatrão.gz 

Ativar mod_geoip em apache

Depois que o módulo foi instalado, abra e edite o principal arquivo de configuração do módulo, com um editor de texto da linha de comando, como vi, e ativar o módulo em todo o servidor, como ilustrado no trecho abaixo.

# vi/etc/httpd/conf.D/Geoip.conf 

Defina a linha geoipenável de Desligado para Sobre. Além disso, adicione o caminho absoluto ao arquivo de banco de dados Geoip.

 Geoipenable em geoipdbfile/usr/share/geoip/geoip.DAT MemoryCache  

Reinicie o Apache Serviço para refletir mudanças.

# Systemctl Reiniciar httpd ou # serviço httpd reinicialização

No entanto, não é recomendável ativar o módulo Geoip em todo o servidor. Você deve ativar o módulo GeoIP apenas em ou blocos onde você realmente executaria o redirecionamento ou o bloqueio do tráfego.

Módulo MOD_GEOIP de teste

Para testar o mod_geoip O módulo está funcionando corretamente com o Apache, precisamos criar um Php arquivo chamado TestGeoIP.php sob Apache diretório raiz (e.g. /var/www/html).

# vi/var/www/html/testgeoip.php 

Insira a seguinte parte do código PHP.

  Qual é o meu endereço IP - determinar ou recuperar meu endereço IP   Seu país: $ country ($ country_code) "; ?>   

Agora, tente ligar para o arquivo usando um navegador da web (e.g. http: // localhost/testgeoip.php). Você vai conseguir seu endereço de IP e País detalhes.

Atualizando o banco de dados GeoIP

O banco de dados GeoIP é atualizado a partir de cada mês. Portanto, é muito importante manter o banco de dados Geoip atualizado. Para baixar a versão mais recente do banco de dados, use o seguinte comando.

# cd/usr/share/geoip/ # mv geoip.dat geoip.dat_org # wget http: // geolite.maxmind.com/download/geoip/banco de dados/geolite2-country.alcatrão.gz # wget http: // geolite.maxmind.com/download/geoip/banco de dados/geolite2-city.alcatrão.gz # gunzip geolite2-country.alcatrão.gz # gunzip geolite2-city.alcatrão.gz 

Atualização automática de banco de dados GeoIP

Escrevemos um pequeno script de shell que baixará automaticamente a versão mais recente do banco de dados GeoIP todos os meses. Basta colocar qualquer um dos seguintes scripts em /etc/cron.por mês.

Script 1
# Atualização automática de banco de dados GeoIP #!/bin/sh cd/usr/share/geoip mv geoip.dat geoip.dat_org wget -q http: // geolite.maxmind.com/download/geoip/banco de dados/geolite2-country.alcatrão.gz gzip -d -f geolite2 -country.alcatrão.gz
Script 2
#!/bin/sh geoip_mirror = "http: // geolite.maxmind.com/download/geoip/banco de dados "geoipdir =/usr/share/geoip tmpdir = bancos de dados =" geolitecity geolitecountry/geoip asnum/geoipasnum geoipv6 "se [-d" $ geoipdir "]; "$ Bancos de dados"]; então tmpdir = $ (mktemp -d geoipupdate.Xxxxxxxxxxxx) echo "Atualizando bancos de dados GeoIP ..." para DB em bancos de dados $; do fname = $ (nome da base $ db) wget - -no -verbose -t 3 -t 60 "$ geoip_mirror/$ db.dat.gz "-o" $ tmpdir/$ fname.dat.gz "gunzip -fdc" $ tmpdir/$ fname.dat.gz ">" $ tmpdir/$ fname.dat "mv" $ tmpdir/$ fname.dat "" $ geoipdir/$ fname.dat "chmod 0644" $ geoipdir/$ fname.dat "done [-d" $ tmpdir "] && rm -rf $ tmpdir fi fi

Redirecionando usuários com base no país

O código de exemplo abaixo vai redirecionar os usuários com base no código do país para o qual definimos COMO (Ásia). Dessa forma, você pode redirecionar todos os usuários com base no código do condado deles.

Geoipenable em geoipdbfile/usr/share/geoip/geoip.Dat # Redirecionar um país reescreviEngine no rewritetond %Env: geoip_country_code ^COMO$ Rewriturele ^(.*) $ https: // www.Tecmint.com$ 1 [r, l]

Bloqueando os usuários com base no país

Este exemplo bloqueará os usuários com base no código do país que geoip conjunta. O exemplo abaixo vai impedir os usuários de COMO (Ásia) e NÓS (Estados Unidos) países.

Geoipenable em geoipdbfile/usr/share/geoip/geoip.dat setenvif geoip_country_code COMO Blockcountry setenvif geoip_country_code NÓS Blockcountry #… Coloque mais países aqui negar de Env = Blockcountry

Permitindo usuários com base no país

Este exemplo abaixo permitirá apenas usuários de países abaixo mencionados.

Geoipenable em geoipdbfile/usr/share/geoip/geoip.dat setenvif geoip_country_code COMO Permitir o SetEnvif Geoip_Country_Code NÓS Permitir que os países de alvo #… coloque mais países aqui negar de todos permitir de Env = allowCountry

Para mais informações sobre mod_geoip e seu uso pode ser encontrado em http: // www.maxmind.com/app/mod_geoip. Se você está tendo algum problema em configurar um módulo mod_geoip, informe -nos por meio de comentários e não se esqueça de compartilhá -lo com seus amigos.