如何为 easyapache 4 安装 mod_cloudflare

How to install mod_cloudflare for easyapache 4

我正在尝试在 cPanel 服务器上使用 easyapache 4 为 Apache 安装 mod_cloudflare。我是 运行 CentOS 7.2.

我已经按照选项 2 here 下的说明为 EasyApache4 安装了 mod_cloudflare。在 运行 安装程序之后它说 "Done. Please restart EasyApache 4"。然后我进入 WHM -> EasyApache 4 并试图找到服务器模块,但找不到。我单击 "run system update" 按钮并再次尝试,但无济于事。是否有easyapache服务需要通过命令行重启?

我不是托管服务提供商,所以我没有尝试过 CPanel 的 Cloudflare 插件。

* 编辑 2019 年 4 月 9 日 * 将接受的答案更改为 EasyCo 的,因为原始解决方案不再有效。

我找到了一个完美的解决方案。

This github project 安装模块并将其添加到 EasyApache 中,以便将来的重建保持模块处于活动状态。这是我发现的唯一真正适用于 EasyApache 4 的解决方案。其他一切似乎都适用于 EasyApache 3。

CloudFlare 对此也没有太大帮助,因为他们建议我联系我的托管服务提供商寻求帮助。

有关使用 EasyApache4 在 cPanel 上安装 mod_cloudflare 的说明,请参见此处: https://support.cloudflare.com/hc/en-us/articles/206175737-How-do-I-restore-original-visitor-IP-with-EasyApache-cPanel-

bash <(curl -s https://raw.githubusercontent.com/cloudflare/mod_cloudflare/master/EasyApache/installer.sh)

我知道这现在有点老了,但这是 google 中出现的第一个答案。

官方的 cloudflare 答案确实有效,只是没有出现在 EA4 模块列表中。但是它已安装并正常工作。

我想我会使用 Centos 6.9 和 WHM/cPanel 将我的解决方案混合使用。

bash <(curl -s https://raw.githubusercontent.com/cloudflare/mod_cloudflare/master/EasyApache/installer.sh)
wget https://raw.githubusercontent.com/cloudflare/mod_cloudflare/master/mod_cloudflare.c
yum install ea-apache24-devel
apxs -a -i -c mod_cloudflare.c
rm /etc/apache2/conf.modules.d/mod_cloudflare.conf
service httpd restart

发生什么事了?

  1. 我们按照 Cloudflare 的建议使用 cPanel installer.sh,但如果您随后 运行 service httpd restart,编译的 mod_cloudflare.so 会抛出错误。让我们解决这个问题。
  2. 下载源 mod_cloudflare 文件。
  3. 确保我们有正确的 EasyApache4 开发人员工具来构建 mod_cloudflare 模块。
  4. 构建并安装扩展模块。
  5. 删除新的 mod_cloudfare.conf 文件,因为我们更喜欢在步骤 1 中生成和安装的文件。
  6. 重启apache。

注意: mod_cloudflare模块不会在EasyApache4中显示。您可以看到它已通过 运行ning httpd -M | grep cloudflare 启用,您应该会看到类似 cloudflare_module (shared).

的内容

参考文献:

对于像我这样最近到达这里的其他人来说,mod_cloudflare 模块已弃用,并且有一个用于 apache [mod_remoteip] 的本机模块。我可以在 EasyApache(apache 模块部分)中看到它。这里还有一个安装和配置手册:

https://support.cloudflare.com/hc/en-us/articles/200170786-Restoring-original-visitor-IPs

使用此模块,您可以通过

查看客户端 IP
$_SERVER['REMOTE_ADDR']

也没有必要

$_SERVER['HTTP_CF_CONNECTING_IP']