使用 Apache 安装 MaxMind

如果我们尝试在实时服务器上安装,可能是在云中或者托管的服务器上,我们可以使用 wget 命令下载 tar包。

从这里下载 mod_maxminddb tar包:https://github.com/maxmind/mod_maxminddb/releases

我安装 mod_maxminddb 的具体步骤如下:

  • wget [URL_TO_tar包_FILE] -P ~/
  • tar -xvzf [PATH_TO_tar包_FILE] -C ~/
  • cd [PATH_TO_EXTRACTED_tar包]
  • ./configure
  • sudo make install

~ 是主目录的缩写。

这将自动安装并启用该模块。

之后我要做的就是使用数据库文件的链接更新我的 Apache 配置文件。
我们可以从 MaxMind 的网站下载数据库文件,请继续阅读以了解如何操作。

安装或者更新数据库

要自动执行以下过程,请阅读本教程:自动更新 GeoIP 数据库

第一次尝试手动安装是个好主意,以便我们熟悉该过程。

1.同样,只需使用 wget 从 maxminds 网站下载数据库文件。
数据库可以在这里找到:https://dev.maxmind.com/geoip/geoip2/geolite2/

2.下载文件后,解压内容,然后将数据库文件移动到/usr/local/share/

这可能取决于发行版,但有时我们可能会在更新系统时丢失存储在非标准位置的文件。
我们可以通过将它们存放在安全的位置来避免这种风险。

/usr/local/share/位置很好,因为它是保存数据库的安全“标准”位置。

链接 GeoIP 数据库

1.我们应该链接到 Apache 配置文件中的数据库文件。

在配置中添加以下内容:

MaxMindDBEnable On
MaxMindDBFile COUNTRY_DB /usr/local/share/GeoIP/GeoLite2-Country.mmdb
MaxMindDBFile CITY_DB    /usr/local/share/GeoIP/GeoLite2-City.mmdb
MaxMindDBEnv COUNTRY_CODE COUNTRY_DB/country/iso_code
MaxMindDBEnv CONTINENT_CODE CITY_DB/continent/code

由于我在我的服务器上托管多个站点,因此我将其添加到 /etc/apache2/sites-available 中的 VHOST 文件中,但我们也可以使用 .htaccess 文件或者主配置。

2.更新或者重新加载 Apache 配置:service apache2 restart

准备工作

  1. 在安装模块之前,我们还需要安装 libmaxminddb 库。
    这可以通过 Ubuntu 中的 PPA 安装。
sudo add-apt-repository ppa:maxmind/ppa
sudo apt update
sudo apt install libmaxminddb0 libmaxminddb-dev mmdb-bin

更多信息在这里:https://github.com/maxmind/libmaxminddb/blob/master/README.md

如果我们决定从 tar包 而不是 PPA 安装 libmaxminddb,可在此处下载:https://github.com/maxmind/libmaxminddb/releases

2.我们还需要为 apache 版本安装 dev 包,在我的情况下,这是按如下方式完成的:

sudo apt install apache2-dev

如果我们尚未安装 apache2-dev 软件包,我们可能会收到类似这样的配置错误:错误:找不到 apxs。
使用 --with-apxs 设置 apxs。

Apache如何安装Mod_maxminddb模块

要为 Apache 安装 并启用 基于地理位置的mod_maxminddb 模块,我们应该从 GitHub 下载 tar包 文件。
我们可以在 GitHub 存储库的发布选项卡下找到它们。

从 tar包 安装在文档中有介绍:http://maxmind.github.io/mod_maxminddb/

请查看官方文档以获取更新说明!

如果我们正确完成了本教程中的所有操作,我们应该能够通过 PHP 中的 $_SERVER 全局访问 GEO 信息。
比如:

echo $_SERVER['COUNTRY_CODE']; //Sometimes return unexpected values (I.e. A1|A2|EU|AP)
//See: https://dev.maxmind.com/geoip/legacy/mod_geoip2/for more information
日期:2020-06-02 22:17:00 来源:oir作者:oir