
[ Linux - CentOS - Apache 2.2 - mod_cloudflare - apxs2 ]
ネームサーバーをCloudFlareを指すように変更しました。問題は、すべてのIPアドレスがCloudFlareのものとして入ってくることです。これは良くありません。特定のトラフィックを監視してブロックする必要があるからです。mod_cloudflareはこれを解決するはずですが、これをインストールできませんでした。ドキュメンテーションapxs2 を使用します。これをどうやってインストールするのか、あるいは単に「apache 2.4」用なのかがわかりません。私は 2.2.3 を実行しており、「apxs」を使用できます。
実行すると:
apxs -aic mod_cloudflare.c
エラーが発生します
apxs:Error: Command failed with rc=65536
これは、apxs2 または何か他のものが必要であることを意味しますか? サーバー上で mod_cloudflare を動作させるにはどうすればよいですか?
どのような助けでもありがたいのですが、ドキュメントは曖昧で限られています。
答え1
プラットフォームのRPMを以下から取得します。https://www.cloudflare.com/resources-downloads: 詳しくは、https://github.com/downloads/cloudflare/mod_cloudflare/mod_cloudflare-1.1.1-1.i586.rpm をご覧ください。(32ビット) およびhttps://github.com/downloads/cloudflare/mod_cloudflare/mod_cloudflare-1.1.1-1.x86_64.rpm(64ビット)
インストール:rpm -ivh mod_cloudflare-1.1.1-1.*
編集/etc/httpd/conf/httpd.conf
LoadModule cloudflare_module /usr/lib64/apache2/mod_cloudflare.so
<IfModule mod_cloudflare.c>
CloudFlareRemoteIPHeader CF-Connecting-IP
CloudFlareRemoteIPTrustedProxy 204.93.240.0/24 204.93.177.0/24 199.27.128.0/21 173.245.48.0/20 103.22.200.0/22 141.101.64.0/18 108.162.192.0/18
#DenyAllButCloudFlare
</IfModule>
32ビットlib64
に変更するとlib
答え2
少し遅れましたが、次のエラーが表示されました:
libtool: install: cp .libs/mod_cloudflare.so /usr/lib64/httpd/modules/mod_cloudflare.so
cp: cannot create regular file '/usr/lib64/httpd/modules/mod_cloudflare.so': Permission denied
apxs:Error: Command failed with rc=65536
その理由は、エラーに記載されているとおり、 によるものですPermission denied
。
次のコマンドでコマンドを実行できましたsudo
:
sudo apxs -a -i -c mod_cloudflare.c