Include conf ファイルを指定すると Apache Conf が失敗する

Include conf ファイルを指定すると Apache Conf が失敗する

私は Drupal マルチサイト インストールを使用しており、問題なく動作しています。セットアップしてからずっとこの問題が発生しており、なぜ動作しないのかを解明しようとしています。

Apache をリロードすると、「Include conf.d/ip.conf」行のコメントが解除されているときに次のエラーが発生します。

allow not allowed here
   ...fail!

IP アドレスを以下のように指定すると (現在はコメント化されています)、動作します。

アドバイスや助けをいただければ幸いです (明らかに、これらの IP アドレスは私が使用しているものではありません)。

<Directory "/home/d/r/drupal/web/public_html">
    AllowOverride none

    # Define file limitations on drupal files
    <FilesMatch "(install.php|cron.php|update.php|\.txt)$">
        Order deny,allow
#=================================================================
# THIS DOES NOT WORK? I GET AN ERROR RESTARTING APACHE FOR IP.CONF
        Include conf.d/ip.conf
#=================================================================
# SO I MANUALLY ADD THE IP ADDRESSES HERE:
#Allow from 123.123.123.123
#Allow from 222.222.222.222
#Allow from 555.555.555.555
        Deny from all
    </FilesMatch>

   <FilesMatch "robots.txt">
      Allow from all
   </FilesMatch>

    # Read in Drupal default .htaccess file asif conf - easier CVS management
    Include /home/d/r/drupal/web/public_html/.htaccess

        # Offline mode for multisite setup - see file for more info
        # Uncomment the line below to set sites offline
    # Include conf.d/offline.conf

</Directory>

# Sorry, no svn peeking
<DirectoryMatch "\.svn">
    # Currently pointing back to drupal
    # High traffic sites might want custom
    # error pages, no need to load drupal
    ErrorDocument 403 /index.php
    Order allow,deny
    Deny from all
    Satisfy All
</DirectoryMatch>

# Allow the .htacces files to be used in the sites folder where /files are stored
<Directory "/home/d/r/drupal/web/public_html/sites">
    AllowOverride
</Directory>

ip.conf は次のようになります:

Allow from 123.123.123.123
Allow from 222.222.222.222
Allow from 555.555.555.555

答え1

この問題は、apache2.conf が conf.d (conf.d/* を含む) 内のすべてのファイルをロードしていたために発生しました。つまり、ip.conf が間違った場所にロードされていました。つまり、allow fromステートメントがコンテキスト外で処理されていたのです。

関連情報