在 Amazon EC2 Linux 上安装 GeoIP

在 Amazon EC2 Linux 上安装 GeoIP

我正在尝试安装 GeoIP 模块来阻止特定国家/地区的流量访问我的网站。我的网站采用 LAMP 配置,托管在 Amazon AWS EC2 实例上。

根据谷歌上的一些文章,我遵循了以下步骤:

yum install epel-release

作为回应,我得到了

软件包 epel-release-6-8.9.amzn1.noarch 已安装且为最新版本

没事做

我按照下一步操作,

sudo yum --enablerepo epel install mod_geoip GeoIP GeoIP-devel GeoIP-data zlib-devel

并收到冲突错误,

错误:GeoIP-GeoLite-data 与 GeoIP-1.4.8-1.5.amzn1.x86_64 冲突

错误:httpd24-tools 与 httpd-tools-2.2.34-1.16.amzn1.x86_64 冲突

错误:httpd24 与 httpd-2.2.34-1.16.amzn1.x86_64 冲突

如何解决这些冲突或者绕过这些冲突在 EC2 上安装 GeoIP 模块?

答案1

正如@MichaelHampton 所说,EPEL 与 Amazon Linux 不兼容。

不过,你通常可以重建 EPEL源 RPM适用于 Amazon Linux。

  1. *.src.rpm从 EPEL下载所需的软件包文件,例如mod_geoip-...src.rpm
  2. 跑步rpmbuild --rebuild mod_geoip-...src.rpm
  3. 如果一切正常,您将获得mod_geoip-...x86-64.rpm适合您的操作系统的版本。

但是直接重建很可能行不通 - 它可能缺少依赖项等。在这种情况下,您必须深入研究 RPM 规范文件并尝试修复它。这可能并不简单,但您肯定会在此过程中学到很多有关如何构建 RPM 的知识 :)

相关内容