- 1. 概要
- 2. 状況
- 3. 設定
- 4. 注意点
- 5. 参考サイト
1. 概要
インクルードに関する話です。
2. 状況
複数のサイトを運用していて。
/usr/local/etc/apache24/Includes/
に複数の「.conf」を配置して、定義しています。
この中のいくつかで。
<Directory "/usr/local/www/example/">
DirectoryIndex index.php index.html
Options +ExecCGI +FollowSymLinks
AllowOverride None
<RequireAll>
<RequireAny>
Require ip 192.0.2.0/24 198.51.100.0/24 203.0.113.0/24
</RequireAny>
</RequireAll>
</Directory>
という定義をしておりまして。
この「Require ip」の箇所でアクセス制限しておりますが。
この「ip」の中に、ときどきアドレスが変わるものがあります。
変わっちゃうと、毎回それを書き直すのですが、複数のファイルを変更するのでなかなか、手間なのです。
まとめて定義しておいて、それをインクルードするようにしておけば、書き直すファイルは1つだけなので、作業コストを下げられることになります。
3. 設定
例えば、下記のファイルを作成して。
/usr/local/etc/apache24/Includes/require.inc
下記のように記述しておきます。
<RequireAll>
<RequireAny>
Require ip 192.0.2.0/24 198.51.100.0/24 203.0.113.0/24
</RequireAny>
</RequireAll>
前項のファイルを下記のように書き換えます。
<Directory "/usr/local/www/example/">
DirectoryIndex index.php index.html
Options +ExecCGI +FollowSymLinks
AllowOverride None
Include /usr/local/etc/apache24/Includes/require.inc
</Directory>
こうしておいて、アドレス制限の更新がある場合は、インクルード対象のファイルを書き換えて。
service apache24 configtest
service apache24 restart
すれば、少ない作業量で更新することができます。
4. 注意点
注意点として。
/usr/local/etc/apache24/httpd.conf
に。
Include etc/apache24/Includes/*.conf
の記述がありますので。
インクルード対象のファイルの拡張子を「.conf」にしてはいけません。
拡張子を「.conf」にする場合は、別のディレクトリを作成してそこに配置します。
また、インクルードの記述は、まんがいちを考えて、相対パスでなく、絶対パスにしておく方が、無難です。
5. 参考サイト
本ページは、「Gemini」伍長を参考にさせていただきました。
|
|