故有って、Linux Mint 17 で開発環境を構築していてふと思った…
なぜか、Apache でページを表示する事が出来ない…
調べてみたら、設定が少し変わっていたみたいで、困らない様に備忘録として残しておく事にした
client denied by server configuration
こんなエラーがログに残され、目的のページが表示出来ない現象に苦しんでしまった
[Tue Jul 01 13:54:27.361868 2014] [authz_core:error] [pid 4464] [client 172.16.xxx.xxx:60070] AH01630: client denied by server configuration: /mnt/hgfs/VMWare Share/xxxxxxx/
[Tue Jul 01 13:54:28.415033 2014] [authz_core:error] [pid 4464] [client 172.16.xxx.xxx:60070] AH01630: client denied by server configuration: /mnt/hgfs/VMWare Share/xxxxxxx/
ご覧の通り、VMware の子供同士で共有フォルダーに成果物を構築してゆこうと想った矢先で、もう、何度も使っている手法だ!
だけど、なぜか上手く行かない…
これに対する、設定ファイルはこんな感じ
Alias /xxxxxxx/ "/mnt/hgfs/VMWare Share/xxxxxxx/"
<Directory "/mnt/hgfs/VMWare Share/xxxxxxx">
AllowOverride All
DirectoryIndex index.html index.php
Order Deny,Allow
Deny from All
Allow from all
</Directory>
そんなに変じゃないと思う
だけれども、ログには denied by server と書いてある
apache2ctl configtest などを何度繰り返してもエラーの報告などはしてくれませんでした
Allow と Deny に関して、色々書き換えて確認しても、現象が換わらなくて困り果ててしまった ^^;…
Require Directive
調べた結果、mod_authz_core の書き方が違うらしいという事が判った ^^b
http://httpd.apache.org/docs/current/mod/mod_authz_core.html#require
説明は、ここに書いてあるので確認すると良いと思います ^^/
Alias /xxxxxxx/ "/mnt/hgfs/VMWare Share/xxxxxxx/"
<Directory "/mnt/hgfs/VMWare Share/xxxxxxx">
AllowOverride All
DirectoryIndex index.html index.php
Require all granted
</Directory>
結論
確認し無かったのも悪いが、ログをよく見ると、こんな感じ…
Tue Jul 01 13:55:36.018970 2014] [mpm_prefork:notice] [pid 2001] AH00163: Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.2 configured -- resuming normal operations
[Tue Jul 01 13:55:36.019033 2014] [core:notice] [pid 2001] AH00094: Command line: '/usr/sbin/apache2'
Apache 2.4.7 ってしっかり書いてありますが、すっかり見落としてしまいました…
いっぱいググっても見落としていましたし、自分の記憶でも 2.2 とか 1.2 のままの通例をなぞってしまったのが敗因でした…
ログも、どのモジュールが報告しているか教えてくれています
一番上の引用のログにも authz_core と、しっかり書いてありますよね ^^…
迷わず、エラーしているモジュールのディレクティブを、慌てず騒がず確認する様に留意しよっと!
教訓
あたらしい環境で何か始める場合は、充分環境を確認して、記憶より新しいドキュメントなどを確認しよう!
ちゃんちゃん ^^;