Cara menginstal mod_geoip untuk apache di rhel dan centos

Cara menginstal mod_geoip untuk apache di rhel dan centos

Mod_geoip adalah modul apache yang dapat digunakan untuk mendapatkan lokasi geografis dari AKU P alamat pengunjung ke Apache server web. Modul ini memungkinkan Anda untuk menentukan pengunjung negara, organisasi, Dan Lokasi. Ini sangat berguna untuk GEO AD Sajian, Konten target, Pertarungan spam, Deteksi penipuan, Mengarahkan/memblokir pengunjung berdasarkan negara mereka dan banyak lagi.

Modul Geoip memungkinkan administrator sistem untuk mengarahkan kembali atau memblokir lalu lintas web sesuai dengan lokasi geografis klien. Lokasi geografis dipelajari melalui alamat IP klien.

Mod_geoip memiliki dua versi berbeda satu Bebas dan yang lainnya adalah Dibayar dan menggunakan MaxMind Geoip / Geocity database.

  1. Versi gratis: Dalam versi gratis, Kota Geo Dan Database negara tersedia dengan 99.5% ketepatan.
  2. Versi berbayar: Dalam versi berbayar, Anda akan mendapatkan kedua basis data 99.8% akurasi dengan beberapa detail yang lebih canggih tentang AKU P alamat.

Jika Anda ingin melihat lebih banyak perbedaan antara Bebas Dan Dibayar Versi, silakan kunjungi MaxMind.com.

Artikel ini menjelaskan cara mengatur dan menginstal Mod_geoip Modul untuk Apache di RHEL Dan Centos menggunakan Epel Repositori dengan utilitas Paket Yum.

Kami berasumsi bahwa Anda sudah berlari RHEL Dan Centos Sistem dengan yang berfungsi LAMPU (Linux, Apache, Mysql, Dan Php) mempersiapkan. Jika tidak, maka baca artikel kami di mana kami telah menunjukkan pemasangan kedua sistem operasi dengan LAMPU.

Pemasangan Rhel/Centos
  1. Pemasangan Rhel 7 dan Centos 7 Minimal.
  2. Pemasangan Rhel 8 dan Centos 8 Minimal.
Pengaturan Lampu di Rhel/Centos
  1. Cara memasang lampu (linux, apache, mysql, php) di rhel dan centos 7
  2. Cara menginstal apache, mysql/mariadb, dan php di rhel dan centos 8

Aktifkan Repositori Epel di RHEL dan CENTOS

Secara default mod_geoip tidak tersedia di bawah Rhel / centos repositori resmi, jadi kami perlu menginstal dan mengaktifkan pihak ketiga Epel gudang.

# YUM Instal Epel-Release # YUM Instal https: // dl.Fedoraproject.org/pub/epel/epel-release-latest-8.Noarch.RPM [di RHEL 8] 

Instal mod_geoip di rhel dan centos

Setelah Anda Epel Repositori diaktifkan pada sistem Anda, Anda dapat menginstal mod_geoip dengan menjalankan perintah berikut dengan paket ketergantungan mereka.

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

Unduh database Geo City and Country terbaru

Ide yang bagus untuk mengunduh yang terbaru Kota Geo Dan Database negara untuk tetap diperbarui.

# CD/usr/share/geoip/ # mv geoip.DAT Geoip.dat_org # wget http: // geolite.MaxMind.com/download/geoip/database/geolite2-country.ter.GZ # wget http: // geolite.MaxMind.com/download/geoip/database/geolite2-city.ter.GZ # Gunzip Geolite2-Country.ter.GZ # Gunzip Geolite2-City.ter.GZ 

Aktifkan mod_geoip di Apache

Setelah modul diinstal, buka dan edit file konfigurasi utama modul, dengan editor teks baris perintah seperti vi, dan aktifkan modul di seluruh server, seperti yang diilustrasikan dalam kutipan di bawah ini.

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

Atur garis geoipenable dari Mati ke Pada. Juga, pastikan Anda menambahkan jalur absolut ke file database geoip.

 Geoipenable di GeoIPDBFile/usr/share/geoip/geoip.DAT memorycache  

Restart Apache Layanan untuk mencerminkan perubahan.

# Systemctl Restart httpd atau # layanan httpd restart

Namun, tidak disarankan untuk menyalakan server modul geoip di seluruh. Anda harus mengaktifkan modul geoip hanya atau blok di mana Anda benar -benar akan melakukan pengalihan lalu lintas atau blok.

Modul Pengujian Mod_Geoip

Untuk menguji mod_geoip Modul bekerja dengan benar dengan Apache, kita perlu membuat a Php file dipanggil testgeoip.php di bawah Apache direktori root (e.G. /var/www/html).

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

Masukkan bagian kode PHP berikut ke dalamnya.

  Apa alamat IP saya - tentukan atau ambil alamat IP saya   Negara Anda: $ country ($ country_code) "; ?>   

Sekarang, coba hubungi file menggunakan browser web (e.G. http: // localhost/testgeoip.php). Anda akan mendapatkan alamat IP Dan Negara Detail.

Memperbarui database GeoIP

Database Geoip diperbarui awal setiap bulan. Jadi, sangat penting untuk menjaga database geoip tetap terkini. Untuk mengunduh versi terbaru dari database, gunakan perintah berikut.

# CD/usr/share/geoip/ # mv geoip.DAT Geoip.dat_org # wget http: // geolite.MaxMind.com/download/geoip/database/geolite2-country.ter.GZ # wget http: // geolite.MaxMind.com/download/geoip/database/geolite2-city.ter.GZ # Gunzip Geolite2-Country.ter.GZ # Gunzip Geolite2-City.ter.GZ 

Pembaruan Database Geoip Otomatis

Kami telah menulis skrip shell kecil yang secara otomatis akan mengunduh versi terbaru dari database GEOIP setiap bulan. Tempatkan saja skrip berikut di bawah /etc/cron.bulanan.

Skrip 1
# Pembaruan Database Geoip Otomatis #!/bin/sh cd/usr/share/geoip mv geoip.DAT Geoip.dat_org wget -q http: // geolite.MaxMind.com/download/geoip/database/geolite2-country.ter.GZ GZIP -D -F -GEOLITE2 -COUNTRY.ter.GZ
Skrip 2
#!/bin/sh geoip_mirror = "http: // geolite.MaxMind.com/download/geoip/basis data "geoipdir =/usr/share/geoip tmpdir = database =" geolitecity geolitecountry/geoip asnum/geoipasnum geoipv6 "jika [-d" $ geoipdir "] lalu cd $ geoipdir if [-d" $ geoipdir " "$ Database"]; lalu tmpdir = $ (mktemp -d geoipupdate.Xxxxxxxxxx) echo "memperbarui database geoip ..." untuk db di $ database; do fname = $ (basa $ 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 "selesai [-d" $ tmpdir "] && rm -rf $ tmpdir fi fi

Mengarahkan pengguna berdasarkan negara

Kode contoh di bawah ini akan mengarahkan kembali pengguna berdasarkan kode negara yang kami atur SEBAGAI (Asia). Dengan cara ini Anda dapat mengarahkan kembali pengguna apa pun berdasarkan kode county mereka.

Geoipenable di GeoIPDBFile/usr/share/geoip/geoip.DAT # Redirect One Country REWRITEEngine di REWRITECOND %env: geoip_country_code ^SEBAGAI$ REWRITERULE ^(.*) $ https: // www.tecmint.com$ 1 [r, l]

Memblokir pengguna berdasarkan negara

Contoh ini akan memblokir pengguna berdasarkan kode negara yang ditetapkan Geoip. Contoh di bawah ini akan memblokir pengguna dari SEBAGAI (Asia) Dan KITA (Amerika Serikat) negara.

Geoipenable di GeoIPDBFile/usr/share/geoip/geoip.Dat setenvif geoip_country_code SEBAGAI BlockCountry setenvif geoip_country_code KITA BlockCountry #… Tempatkan lebih banyak negara di sini DENY dari Env = BlockCountry

Memungkinkan pengguna berdasarkan negara

Contoh di bawah ini hanya akan memungkinkan pengguna dari negara -negara yang disebutkan di bawah ini.

Geoipenable di GeoIPDBFile/usr/share/geoip/geoip.Dat setenvif geoip_country_code SEBAGAI AllowCountry setenvif geoip_country_code KITA AllowCountry #… Tempatkan lebih banyak negara di sini DENY dari semua izin dari env = AllowCountry

Untuk informasi lebih lanjut tentang mod_geoip dan penggunaannya dapat ditemukan di http: // www.MaxMind.com/app/mod_geoip. Jika Anda mengalami kesulitan dalam menyiapkan modul MOD_GEOIP, beri tahu kami melalui komentar dan jangan lupa untuk membaginya dengan teman -teman Anda.