So installieren Sie mod_geoip für Apache in RHEL und CentOS
- 1617
- 145
- Henry Liebold
Mod_geoip ist ein Apache -Modul, das verwendet werden kann, um den geografischen Standort des IP Adresse des Besuchers in die Apache Webserver. Mit diesem Modul können Sie den Besucher bestimmen Land, Organisation, Und Standort. Es ist besonders nützlich für Geo -Anzeige, Zielinhalt, Spam -Kämpfe, Entdeckung eines Betruges, Umleitung/Blockierung Besucher basierend auf ihrem Land und vieles mehr.
Mit dem GEOIP -Modul können Systemadministratoren den Webverkehr gemäß dem geografischen Standort des Kunden umleiten oder blockieren. Der geografische Standort wird über die Client -IP -Adresse gelernt.
Mod_geoip hat zwei verschiedene Versionen einer ist Frei und ein anderer ist Bezahlt und verwendet Maxmind Geoip / Geocity Datenbanken.
- Freie Version: In der freien Version die Geo -Stadt Und Länderdatenbanken sind mit 99.5% Genauigkeit.
- Bezahlversion: In der kostenpflichtigen Version erhalten Sie beide Datenbanken mit 99.8% Genauigkeit mit einigen fortgeschritteneren Details zu IP Adresse.
Wenn Sie sich die mehr Unterschiede zwischen dem ansehen möchten Frei Und Bezahlt Version, bitte besuchen Sie Maxmind.com.
In diesem Artikel wird erläutert, wie Sie die einrichten und installieren Mod_geoip Modul für Apache in Rhel Und Centos Verwendung der Epel Repository mit Yum Paket Manager -Dienstprogramm.
Wir gehen davon aus, dass Sie bereits gelaufen sind Rhel Und Centos System mit Arbeit LAMPE (Linux, Apache, Mysql, Und Php) aufstellen. Wenn nicht, lesen Sie unsere Artikel, in denen wir die Installation beider Betriebssysteme mit gezeigt haben LAMPE.
Installation von Rhel/CentOS
- Installation von RHEL 7 und CentOS 7 minimal.
- Installation von RHEL 8 und CentOS 8 minimal.
Lampenaufbau auf RHEL/CentOS
- So installieren Sie Lampe (Linux, Apache, MySQL, PHP) auf RHEL und CentOS 7
- So installieren Sie Apache, MySQL/Mariadb und PHP auf RHEL und CentOS 8
Aktivieren Sie das Epel -Repository in Rhel und CentOS
Standardmäßig mod_geoip ist nicht verfügbar unter Rhel / Centos Offizielles Repository, daher müssen wir Dritte installieren und aktivieren Epel Repository.
# yum install epel-release # yum install https: // dl.Fedoraproject.org/pub/epel/epel-release-latest-8.Keinarch.Drehzahl [auf Rhel 8]
Installieren Sie mod_geoip in rhel und CentOS
Sobald du Epel Auf Ihrem System aktiviertes Repository können Sie einfach installieren mod_geoip Durch das Ausführen des folgenden Befehls mit ihren Abhängigkeitspaketen.
# yum install mod_geoip geoip geoip-devel geoip-data zlib-devel
Laden Sie die neueste Datenbank Geo City and Country herunter
Es ist eine gute Idee, die neuesten herunterzuladen Geo -Stadt Und Länderdatenbank auf dem Laufenden bleiben.
# cd/usr/share/geoip/ # MV Geoip.dat Geoip.dat_org # wget http: // Geolith.Maxmind.com/download/geoip/database/geolith2-Country.Teer.GZ # WGet http: // Geolith.Maxmind.com/download/Geoip/Datenbank/Geolith2-Städte.Teer.GZ # Gunzip Geolith2-Country.Teer.GZ # Gunzip Geolith2-Städte.Teer.gz
Aktivieren Sie mod_geoip in Apache
Nach der Installation des Moduls öffnen und bearbeiten Sie die Hauptkonfigurationsdatei des Moduls mit einem Befehlszeilen-Texteditor wie z. B vi, Aktivieren Sie das modules Serverweit, wie im folgenden Auszug dargestellt.
# vi/etc/httpd/conf.D/Geoip.Conf
Stellen Sie die Linie geoipenable aus Aus Zu An. Stellen Sie außerdem sicher, dass Sie der GeoIP -Datenbankdatei den absoluten Pfad hinzufügen.
Geoipenable auf Geoipdbfile/usr/share/Geoip/Geoip.DAT MEMPEORCache
Starten Sie das neu Apache Service, um Änderungen widerzuspiegeln.
# SystemCTL Neustart HTTPD oder # Service HTTPD Neustart
Es wird jedoch nicht empfohlen, das server-GeoIP-Modul einzuschalten. Sie sollten das GeoIP -Modul nur in aktivieren oder
Blöcke, bei denen Sie tatsächlich die Verkehrsumleitung oder den Block ausführen würden.
Testen des Moduls mod_geoip
Um die zu testen mod_geoip Das Modul funktioniert korrekt mit Apache, wir müssen a erstellen Php Datei aufgerufen testgeoip.Php unter Apache Wurzelverzeichnis (e.G. /var/www/html).
# vi/var/www/html/testgeoip.Php
Fügen Sie den folgenden PHP -Code ein.
Was ist meine IP -Adresse? Bestimmen oder abrufen meine IP -Adresse oder abrufen Ihr Land: $ Country ($ Country_Code) "; ?>
Versuchen Sie nun, die Datei mit einem Webbrowser anzurufen (e.G. http: // localhost/testgeoip.Php). Sie werden Ihre bekommen IP Adresse Und Land Einzelheiten.
Aktualisieren der Geoip -Datenbank
Die GeoIP -Datenbank wird ab dem gesamten Monat aktualisiert. Es ist also sehr wichtig, die GeoIP-Datenbank auf dem neuesten Stand zu halten. Um die neueste Version der Datenbank herunterzuladen, verwenden Sie den folgenden Befehl.
# cd/usr/share/geoip/ # MV Geoip.dat Geoip.dat_org # wget http: // Geolith.Maxmind.com/download/geoip/database/geolith2-Country.Teer.GZ # WGet http: // Geolith.Maxmind.com/download/Geoip/Datenbank/Geolith2-Städte.Teer.GZ # Gunzip Geolith2-Country.Teer.GZ # Gunzip Geolith2-Städte.Teer.gz
Automatische GEOIP -Datenbank -Aktualisierung
Wir haben ein kleines Shell -Skript geschrieben, das jeden Monat die neueste Version der GEOIP -Datenbank automatisch herunterlädt. Platzieren Sie einfach ein der folgenden Skript unter /etc/cron.monatlich.
Skript 1
# Automatische GEOIP -Datenbank -Update #!/bin/sh cd/usr/share/geoip mv geoip.dat Geoip.DAT_ORG WGet -q http: // Geolith.Maxmind.com/download/geoip/database/geolith2-Country.Teer.gz gzip -d -f Geolith2 -Country.Teer.gz
Skript 2
#!/bin/sh Geoip_mirror = "http: // Geolith.Maxmind.com/download/geoip/database "geoipdir =/usr/share/geoip tmpdir = databases =" GeOlitecity GeOlitecountry/Geoip Asnum/Geoipasnum Geoipv6 "if [-d" $ Geoipdir "]; "$ Datenbanken"]; dann tmpdir = $ (mktemp -d Geoipupdate.Xxxxxxxxxxx) echo "Aktualisieren von GeoIP -Datenbanken ..." für DB in $ Datenbanken; 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 "done [-d" $ tmpdir "] && rm -rf $ tmpdir fi fi
Benutzer auf der Grundlage des Landes umleiten
Der folgende Beispielcode leitet Benutzer basierend auf dem Ländercode um, auf den wir festgelegt haben ALS (Asien). Auf diese Weise können Sie alle Benutzer anhand ihres County -Code umleiten.
Geoipenable auf Geoipdbfile/usr/share/Geoip/Geoip.dat # # ein Land umschreibt RewriteEngine auf Rewritecond %env: Geoip_country_code ^ALS$ Rewriterule ^(.*) $ https: // www.Tecmint.com$ 1 [R, L]
Blockierung von Benutzern basierend auf dem Land
In diesem Beispiel blockiert die Benutzer basierend auf dem Ländercode, den GeoIP setzt. Das folgende Beispiel blockiert Benutzer aus ALS (Asien) Und UNS (Vereinigte Staaten) Länder.
Geoipenable auf Geoipdbfile/usr/share/Geoip/Geoip.DAT SETENVIF GEOIP_COUNTRY_CODE ALS Blockcountry setEnvif geoip_country_code UNS Blockcountry #… Platzieren Sie mehr Länder hier aus env = blockcountry
Nutzern auf der Grundlage des Landes erlauben
In diesem folgenden Beispiel können Benutzer nur aus den folgenden genannten Ländern erlauben.
Geoipenable auf Geoipdbfile/usr/share/Geoip/Geoip.DAT SETENVIF GEOIP_COUNTRY_CODE ALS CALLCOUNTRY SETENVIF GEOIP_COUNTRY_CODE UNS Zulassencountry #… platzieren
Weitere Informationen zu mod_geoip und seine Verwendung finden Sie unter http: // www.Maxmind.com/app/mod_geoip. Wenn Sie Probleme beim Einrichten eines Moduls mod_geoip haben, teilen Sie uns bitte die Über Kommentare mit und vergessen Sie nicht, es mit Ihren Freunden zu teilen.
- « 10 Best Flowdiagramm und Diagrammsoftware für Linux
- So installieren und konfigurieren Sie GitLab auf CentOS 8/7 »