我正在尝试安装 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。
*.src.rpm
从 EPEL下载所需的软件包文件,例如mod_geoip-...src.rpm
。- 跑步
rpmbuild --rebuild mod_geoip-...src.rpm
- 如果一切正常,您将获得
mod_geoip-...x86-64.rpm
适合您的操作系统的版本。
但是直接重建很可能行不通 - 它可能缺少依赖项等。在这种情况下,您必须深入研究 RPM 规范文件并尝试修复它。这可能并不简单,但您肯定会在此过程中学到很多有关如何构建 RPM 的知识 :)