Alias /hogehoge /usr/local/www/data/hogehoge
<Directory /usr/local/www/data/hogehoge>
Options -Indexes +FollowSymLinks
<RequireAll>
<RequireAny>
Require ip 192.168.0.0/24
</RequireAny>
</RequireAll>
</Directory>
4行目の枠で許可の全体を定義。
5行目の枠で特定の許可を定義。
6行目で、許可する IP を定義。
/usr/local/etc/apache22/Includes/hogehoge.conf
の記述を終えたら、「configtest」と「graceful」を行って、設定を反映させます。
3. .htaccess で設定
/usr/local/etc/apache22/Includes/hogehoge.conf
は下記のように記述します。
Alias /hogehoge /usr/local/www/data/hogehoge
<Directory /usr/local/www/data/hogehoge>
Options -Indexes +FollowSymLinks
Allowoverride All
Require all granted
</Directory>
いったん 「configtest」と「graceful」を行って、設定を反映させます。
この時点で、すべての IP アドレスからアクセス可能になっています。
/usr/local/www/data/hogehoge/.htaccess
を作成して
<RequireAll>
<RequireAny>
Require ip 192.168.0.0/24
</RequireAny>
</RequireAll>
前項までの設定は、特定の IP アドレスにのみ、接続を許可するというものでしたが。
本項では、特定の IP アドレスからの接続を拒否する設定に関して、記述します。
基本は、下記のように書きますが・・・。
(「not ip」以降のアドレスを拒否)
Require all granted
Require not ip 192.168.0.0/24
実は、「Require all granted」のみであれば、「<RequireAll>」で挟まないで、ひとつ上のネストで記述することが可能なのですが・・・。
「Require not ip」の方は、「<RequireAll>」で挟まないで、「/usr/local/etc/apache22/Includes/*.conf」に記述すると
$ service apache24 configtest
Performing sanity check on apache24 configuration:
AH00526: Syntax error on line 行番号 of /usr/local/etc/apache24/Includes/ファイル名.conf:
negative Require directive has no effect in <RequireAny> directive