frame

Sveiki apsilankę!

Jei forume lankaisi pirmą kartą, kviečiame registruotis ir prisijungti prie diskusijų.

PrisijungtiRegistruotis

mod_geoip2 įdiegimas CentOS 6 aplinkoje

IV_RomanLIV_RomanL Interneto vizija
edited 2021 sausio 20 Į Archyvas
mod_geoip2 kartu su web serveriu apache sukuria galimybę kontroliuoti tinklalapio lankytojų srautą pagal lankytojų geografinius duomenis. Tai pravartu kuomet turite tinklalapį kuriame:

  • keletas skirtingų kalbų
  • nepageidaujate vienokios ar kitokios šalies lankytojų
  • pageidaujate realizuoti lankytojų srauto paskirstymo mechanizmą
  • naudojate reklamos valdymo sprendimus (pvz.: OpenAds)
0. Patogiam tekstinių failų redagavimui naudojamas "nano" redaktorius. Jį galite įdiegti įvykdę komandą:

yum install nano -y

1. Prieš įdiegiant šį modulį, įsitikinkite jog jūsų turimas dedikuotas serveris jau paruoštas tinklalapių talpinimui (pamoka 1 | pamoka 2). Įdiegiame Epel repozitoriją:

rpm --import https://fedoraproject.org/static/0608B895.txt
rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
Įdiegiame yum-priorities paketą:
yum install yum-priorities -y
Redaguojame repozitorijos failą:
nano /etc/yum.repos.d/epel.repo
Ties grafa [epel] pridėkite eilutę priority=10 , pavyzdys:
[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
[..]

2. Įdiegiame ir konfiguruojame mod_geoip:
yum install mod_geoip -y
Parsisiunčiame geolokacijos duomenų bazę (pravartu periodiškai šią duomenų bazę parsisiūsti iš naujo, tam jog turėtumėte naujausius duomenis):
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
Perkrauname apache serverį:
service httpd restart

3. Atlikime testą tam jog įsitikintume, jog modulis veikia korektiškai. Sukuriame testinį failą:
nano /var/www/html/geo.php
Įrašome:
<?php
print_r($_SERVER);
?>

Apsilankius adresu http://jūsų_IP/geo.php turėtumėte išvysti panašų vaizdą:
[...]
[GEOIP_CONTINENT_CODE] => EU
[GEOIP_COUNTRY_CODE] => LT
[GEOIP_COUNTRY_NAME] => Lithuania
[...]

mod_geopip modulio funcionalumą galite ištestuoti sukurdami .htaccess failą. Keletas pavyzdžių:

Nukreipiame lankytoją kuris atkeliauja iš Lietuvos į lietuvišką tinklalapio versiją:
RewriteEngine on
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^LT$
RewriteRule ^(.*)$  http://www.jūsų_tinklapio_pavadinimas.lt$1 [R,L]

Nukreipiame lankytojus iš keletos skirtingų šalių į tą patį tinklalapį:
RewriteEngine on
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^(LT|US|DE)$
RewriteRule ^(.*)$ http://www.jūsų_tinklapio_pavadinimas.com$1 [R,L]

Blokuokime prieigą prie tinklalapio lankytojams iš tam tikrų šalių:
SetEnvIf GEOIP_COUNTRY_CODE CN BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE RU BlockCountry
# ... galite pridėti tiek šalių kiek pageidaujate
Deny from env=BlockCountry

Suteikime prieigą prie tinklalapio lankytojams tik iš nustatytų šalių:
SetEnvIf GEOIP_COUNTRY_CODE LT AllowCountry
SetEnvIf GEOIP_COUNTRY_CODE DE AllowCountry
SetEnvIf GEOIP_COUNTRY_CODE NO AllowCountry
# ... galite pridėti tiek šalių kiek pageidaujate
Deny from all
Allow from env=AllowCountry
Pažymėtos temos:
Ši diskusija uždaryta
Dedikuoti.lt
Šiame forume rasite informaciją kaip atlikti serverio administravimą, konfigūravimą, įvairių tarnybų bei papildomų aplikacijų diegimą. Taip pat pateiksime rekomendacijų, skirtų serverių saugumui, monitoringui ir optimizavimui. Kviečiame prisijungti prie dedikuotų serverių administratorių bendruomenės, dalyvauti diskusijose ir praplėsti savo žinias serverių administravimo srityje!
© 2007 - 2024 Dedikuoti.lt forumas, visos teisės saugumos.