An dieser Stelle ist mir klar, dass diese Frage über 4 Jahre alt ist, aber ich wollte weitere Details dazu hinzufügen, wie Benutzer neuerer Versionen von Mac OS X wie Mac OS X 10.7 (Lion), Mac OS X 10.8 (Mountain Lion) und Mac OS X 10.9 (Mavericks) - können GeoIP auf ihren Computern installieren. Dies wurde von mir bis Mac OS X 10.9.5 getestet, aber ich glaube, dass genau die gleichen Anweisungen für Mac OS X 10.10 (Yosemite) funktionieren sollten.
Was die Integration von Python / Django angeht, bin ich ziemlich sicher, dass, wenn die GeoIP-Binärdatei und die zugehörigen Datenbanken systemweit ordnungsgemäß installiert werden, Sie sich nicht mit den GEOIP_PATH
entsprechenden Einstellungen befassen müssen . Wäre aber offen für andere in den Kommentaren, wenn meine Annahme falsch ist.
Voraussetzungen.
Zunächst muss Xcode installiert sein. Und seit Xcode - ich glaube zumindest seit Version 4.3 - enthält die GNU-Versionen von nicht mehr autoconf
, automake
und libtool
diese müssen ebenfalls installiert werden. Ich detaillierte Angaben darüber, wie die Installation autoconf
, automake
und libtool
in dieser Antwort . Für den Rest dieser Antwort wird davon ausgegangen, dass Ihr System diese Einstellung bereits hat.
GeoIP von der Quelle installieren.
Mit den genannten Voraussetzungen können Sie die GeoIP von MaxMind wie folgt installieren.
Legen Sie das Arbeitsverzeichnis auf Ihr Basisverzeichnis fest:
cd
Holen Sie sich den Quellcode und dekomprimieren Sie ihn:
curl -O http://www.maxmind.com/download/geoip/api/c/GeoIP-latest.tar.gz tar -xvzf GeoIP-latest.tar.gz
Gehen Sie in das unkomprimierte Quellcode-Verzeichnis:
cd ./GeoIP*
Führen Sie libtoolize
den Quellcode aus:
libtoolize -f
Wenn dies erledigt ist, führen Sie das configure
Skript im Quellcode aus:
./configure
Führen make
Sie jetzt aus, um es zu kompilieren:
make
Dann lauf make check
, um zu überprüfen, ob alles gut ist:
make check
Jetzt installieren Sie es:
sudo make install
Überprüfen Sie die Installation, indem Sie den geoiplookup
Befehl ausführen, dessen Ausgabe etwa wie folgt aussehen sollte:
Usage: geoiplookup [-h] [-?] [-d custom_dir] [-f custom_file] [-v] [-i] [-l] <ipaddress|hostname>
Jetzt haben Sie den GeoIP-Quellcode kompiliert, aber Sie haben keine GeoIP-Datenbanken installiert, auf denen / referenziert werden kann. Also lass uns sie installieren.
GeoIP-Datenbanken installieren.
Wir werden also die drei (3) großen GeoIP-Datenbanken, die so verfügbar sind, bekommen curl
. Legen Sie das Arbeitsverzeichnis auf Ihr Basisverzeichnis fest:
cd
Und jetzt verwenden curl
, um die GeoIP.dat.gz
, GeoLiteCity.dat.gz
und GeoIPASNum.dat.gz
Datenbanken zu erhalten:
curl -O http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz curl -O http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz curl -O http://geolite.maxmind.com/download/geoip/database/asnum/GeoIPASNum.dat.gz
Verschieben Sie sie in das richtige Verzeichnis, damit das GeoIP-Programm darauf verweist /usr/local/share/GeoIP/
. Wenn das Verzeichnis auf Ihrem System nicht vorhanden ist, können Sie es folgendermaßen machen:
sudo mkdir -p /usr/local/share/GeoIP/
Nun damit fertig, bewegen Sie die heruntergeladenen GeoIP.dat.gz
, GeoLiteCity.dat.gz
und GeoIPASNum.dat.gz
Datenbanken in das Verzeichnis:
sudo mv ~/GeoIP.dat.gz /usr/local/share/GeoIP/ sudo mv ~/GeoLiteCity.dat.gz /usr/local/share/GeoIP/ sudo mv ~/GeoIPASNum.dat.gz /usr/local/share/GeoIP/
Und dekomprimieren sie an Ort und Stelle:
sudo gzip -d -f /usr/local/share/GeoIP/GeoIP.dat.gz sudo gzip -d -f /usr/local/share/GeoIP/GeoLiteCity.dat.gz sudo gzip -d -f /usr/local/share/GeoIP/GeoIPASNum.dat.gz
Wir müssen auch umbenennen, GeoLiteCity.dat
um GeoIPCity.dat
dies zu mögen:
sudo mv /usr/local/share/GeoIP/GeoLiteCity.dat /usr/local/share/GeoIP/GeoIPCity.dat
Endgültiger GeoIP-Binärtest.
Wenn die GeoIP-Binärdatei aus der Quelle kompiliert und installiert ist und die Datenbanken installiert sind, geoiplookup
sollte dies erwartungsgemäß funktionieren. Lassen Sie uns beispielsweise eine GeoIP-Suche bei Google durchführen:
geoiplookup google.com
Die Ausgabe dieses Befehls sollte, wenn alles gut gelaufen ist, sein:
GeoIP Country Edition: US, United States GeoIP City Edition, Rev 1: US, CA, California, Mountain View, 94043, 37.419201, -122.057404, 807, 650 GeoIP ASNum Edition: AS15169 Google Inc.