![Kako promijeniti orijentaciju zaslona u sustavu Windows 11](/f/d6cfbda53b6b127d5b48faafd6bfe06f.jpg?width=100&height=100)
Mod_GeoIP je Apache modul koji se može koristiti za dobivanje geografskog položaja IP adresa posjetitelja u Apač web poslužitelj. Ovaj modul omogućuje vam da odredite posjetitelje zemlja, organizacija, i mjesto. Posebno je korisno za Posluživanje geo oglasa, Ciljani sadržaj, Borba protiv neželjene pošte, Otkrivanje prijevara, Preusmjeravanje/blokiranje posjetitelja na temelju njihove zemlje i još mnogo toga.
GeoIP modul administratorima sustava omogućuje preusmjeravanje ili blokiranje web prometa prema zemljopisnom položaju klijenta. Zemljopisni položaj se uči putem IP adrese klijenta.
Mod_GeoIP ima dvije različite verzije, jedna je Besplatno a još jedan je Plaćeno i koristi MaxMind GeoIP / GeoCity baze podataka.
Ako želite provjeriti više razlika između Besplatno i Plaćeno verziju, posjetite Maxmind.com.
Ovaj članak objašnjava kako postaviti i instalirati Mod_GeoIP modul za Apache u RHEL i CentOS koristiti EPEL spremište sa YUM upravitelj paketa korisnost.
Pretpostavljamo da ste već trčali RHEL i CentOS sustav s ispravnim SVJETILJKA (Linux, Apač, MySQL, i PHP) postaviti. Ako ne, pročitajte naše članke u kojima smo pokazali instalaciju oba operativna sustava s SVJETILJKA.
Prema zadanim postavkama mod_Geoip nije dostupan pod RHEL / CentOS službeno spremište, pa moramo instalirati i omogućiti treću stranu EPEL spremište.
# yum instalirajte epel-release. # yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm [Na RHEL 8]
Nakon što ste EPEL spremište omogućeno na vašem sustavu, možete jednostavno instalirati mod_geoip pokretanjem sljedeće naredbe sa svojim paketima ovisnosti.
# yum install mod_geoip GeoIP GeoIP-devel GeoIP-podaci zlib-devel.
Bilo bi dobro preuzeti najnoviju verziju Geo City i Baza podataka zemlje ostati u toku.
# cd/usr/share/GeoIP/ # mv GeoIP.dat GeoIP.dat_org. # wget http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz. # wget http://geolite.maxmind.com/download/geoip/database/GeoLite2-City.tar.gz. # gunzip GeoLite2-Country.tar.gz. # gunzip GeoLite2-City.tar.gz.
Nakon što je modul instaliran, otvorite i uredite glavnu konfiguracijsku datoteku modula, s uređivačem teksta naredbenog retka, kao što je vi, i aktivirajte modul za cijeli poslužitelj, kao što je prikazano u donjem odlomku.
# vi /etc/httpd/conf.d/geoip.conf.
Postavite liniju GeoIPEnable od Isključeno do Na. Također, svakako dodajte apsolutni put u datoteku baze podataka GeoIP.
GeoIPEnable Uključeno. GeoIPDBFile /usr/share/GeoIP/GeoIP.dat MemoryCache.
Ponovno pokrenite Apač usluga koja odražava promjene.
# systemctl ponovno pokrenite httpd. ILI. # usluga httpd ponovno pokretanje
Međutim, ne preporučuje se uključivanje GeoIP modula na poslužitelju. GeoIP modul trebali biste omogućiti samo u ili blokove gdje biste zapravo izvršili preusmjeravanje prometa ili blokirali.
Za testiranje mod_geoip modul ispravno radi s Apacheom, moramo stvoriti PHP datoteka pod nazivom testgeoip.php pod, ispod Apač korijenski direktorij (npr. /var/www/html).
# vi /var/www/html/testgeoip.php.
Umetnite sljedeći dio php koda u njega.
Koja je moja IP adresa - odredite ili dohvatite moju IP adresu php if (getenv (HTTP_X_FORWARDED_FOR)) {$ pipaddress = getenv (HTTP_X_FORWARDED_FOR); $ ipaddress = getenv (REMOTE_ADDR); echo "Vaša IP adresa proxyja je:". $ pipaddress. "(putem $ ipaddress)"; } else {$ ipaddress = getenv (REMOTE_ADDR); echo "Vaša IP adresa je: $ ipaddress"; } $ country = getenv (GEOIP_COUNTRY_NAME); $ country_code = getenv (GEOIP_COUNTRY_CODE); echo "
Vaša zemlja: $ country ($ country_code)";
Sada pokušajte pozvati datoteku pomoću web preglednika (npr. http://localhost/testgeoip.php). Dobit ćete svoje IP adresa i Zemlja pojedinosti.
GeoIP baza podataka ažurira se svakog mjeseca. Dakle, vrlo je važno ažurirati bazu podataka GeoIP-a. Za preuzimanje najnovije verzije baze podataka upotrijebite sljedeću naredbu.
# cd/usr/share/GeoIP/ # mv GeoIP.dat GeoIP.dat_org. # wget http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz. # wget http://geolite.maxmind.com/download/geoip/database/GeoLite2-City.tar.gz. # gunzip GeoLite2-Country.tar.gz. # gunzip GeoLite2-City.tar.gz.
Napisali smo malu skriptu ljuske koja će automatski preuzimati najnoviju verziju baze podataka GeoIP svaki mjesec. Samo postavite bilo koju od sljedećih skripti ispod /etc/cron.monthly.
# Automatsko ažuriranje baze podataka GeoIP. #!/bin/sh. cd/usr/share/GeoIP. mv GeoIP.dat GeoIP.dat_org. wget -q http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz. gzip -d -f GeoLite2 -Country.tar.gz
#!/bin/sh GEOIP_MIRROR = " http://geolite.maxmind.com/download/geoip/database" GEOIPDIR =/usr/share/GeoIP. TMPDIR = DATABASES = "GeoLiteCity GeoLiteCountry/GeoIP asnum/GeoIPASNum GeoIPv6" if [-d "$ {GEOIPDIR}"]; zatim cd $ GEOIPDIR if [-n "$ {DATABASES}"]; tada je TMPDIR = $ (mktemp -d geoipupdate. XXXXXXXXXX) odjekuje "Ažuriranje GeoIP baza podataka ..." za db u $ DATABASES; do fname = $ (basename $ 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 "dovršeno [-d" $ {TMPDIR} "] && rm -rf $ TMPDIR fi. fi
Primjer koda u nastavku preusmjerit će korisnike na temelju koda zemlje koji smo postavili KAO (Azija). Na ovaj način možete preusmjeriti sve korisnike na temelju njihovog županijskog koda.
GeoIPEnable Uključeno. GeoIPDBFile /usr/share/GeoIP/GeoIP.dat # Preusmjerite jednu državu. Prepiši motor uključen. PrepišiCond %{ENV: GEOIP_COUNTRY_CODE} ^KAO$ Prepišite pravilo ^(.*) $https://www.tecmint.com1 USD [R, L]
Ovaj će primjer blokirati korisnike na temelju koda zemlje koji postavlja GeoIP. Primjer u nastavku blokirat će korisnike KAO (Azija) i NAS (Ujedinjene države) zemlje.
GeoIPEnable Uključeno. GeoIPDBFile /usr/share/GeoIP/GeoIP.dat SetEnvIf GEOIP_COUNTRY_CODE KAO BlockCountry. SetEnvIf GEOIP_COUNTRY_CODE NAS BlockCountry. #... ovdje postavite više zemalja Odbijte iz env = BlockCountry
Ovaj donji primjer dopustit će samo korisnike iz dolje navedenih zemalja.
GeoIPEnable Uključeno. GeoIPDBFile /usr/share/GeoIP/GeoIP.dat SetEnvIf GEOIP_COUNTRY_CODE KAO AllowCountry. SetEnvIf GEOIP_COUNTRY_CODE NAS AllowCountry. #... mjesto više zemalja ovdje Odbijte od svih. Dopusti iz env = AllowCountry
Za više informacija o mod_geoip i njegovu upotrebu možete pronaći na http://www.maxmind.com/app/mod_geoip. Ako imate problema s postavljanjem mod_geoip modula, obavijestite nas putem komentara i ne zaboravite ga podijeliti sa svojim prijateljima.