ウェブサーバ - インクルード


 クラウディア


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」伍長を参考にさせていただきました。

EaseUS
AbemaTV 無料体験