Dedikuoti serveriai, VDS hostingas, debesų kompiuterija
Interneto vizija
Karjera El. paštas

Grįžti   Dedikuoti.lt forumas > Bendruomenės diskusijos > Pamokos > Web serveriai

Atsakyti
 
Temos įrankiai Ieškoti šioje temoje
  #1  
Senas 2012-08-29, 16:08
IV_RomanL avataras
IV_RomanL IV_RomanL neprisijungęs
Interneto vizija
 
Prisiregistravo: 2011 11
Vieta: Vilnius
Žinutės: 648
Post mod_geoip2 įdiegimas CentOS 6 aplinkoje

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ą:


Kodas:
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ą:


Kodas:
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ą:

Kodas:
yum install yum-priorities -y
Redaguojame repozitorijos failą:

Kodas:
nano /etc/yum.repos.d/epel.repo
Ties grafa [epel] pridėkite eilutę priority=10 , pavyzdys:

Citata:
[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:

Kodas:
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):

Kodas:
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į:

Kodas:
service httpd restart
3. Atlikime testą tam jog įsitikintume, jog modulis veikia korektiškai. Sukuriame testinį failą:

Kodas:
nano /var/www/html/geo.php
Įrašome:
PHP kodas:
<?php 
print_r
($_SERVER); 
?>
Apsilankius adresu http://jūsų_IP/geo.php turėtumėte išvysti panašų vaizdą:

PHP kodas:
[...]
[
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ą:

PHP kodas:
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į:

PHP kodas:
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ų:

PHP kodas:
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ų:

PHP kodas:
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 
Atsakyti su citata
Atsakyti

Žymės
.htaccess, apache, centos 6, geoip

Temos įrankiai Ieškoti šioje temoje
Ieškoti šioje temoje:

Detali paieška

Žinučių rašymo taisyklės
Jūs negalite kurti naujų temų
Jūs negalite rašyti žinučių
Jūs negalite įkelti failų
Jūs negalite redaguoti savo įrašų

BB kodas yra Įjungtas
Šypsenos yra Įjungtas
[IMG] kodas yra Įjungtas
HTML kodas yra Išjungtas

Greita navigacija

Panašios temos
Tema Temą sukūrė Forumas Atsakymai Paskutinė žinutė
mod_security įdiegimas CentOS 6 aplinkoje IV_RomanL Web serveriai 17 2016-10-03 11:17
Git įdiegimas CentOS 6 aplinkoje IV_VygandasS Kitos aplikacijos 0 2013-10-15 18:00
phpPgAdmin įdiegimas CentOS 6 aplinkoje IV_VygandasS Duomenų bazių serveriai 0 2013-10-02 09:54
OpenVPN diegimas CentOS 6 aplinkoje IV_RomanL Kitos aplikacijos 6 2013-01-09 14:25
mod_evasive įdiegimas CentOS 6 aplinkoje IV_RomanL Web serveriai 12 2012-11-11 11:42


Visi laikai yra GMT +3. Šiuo metu yra 03:55.


Powered by vBulletin®
Copyright ©2000 - 2018, vBulletin Solutions, Inc.