このページは福井県立大学の田中求之が2006年1月まで運用していた Mac のサーバ運用に関する会議室 「Web Scripter's Meeting」の記録です。情報が古くなっている可能性がありますのでご注意ください。

Mac OS X server(10.2)で任意のファイルをSSI処理させたい

発言者:藤川
( Date Monday, January 05, 2004 19:43:43 )


ものすご〜く久しぶりのカキコミです。
最近Xserveを導入しまして、目下準備中なのですが
下記について解決ができません。
ヒントが得られたらと思い投稿いたします。よろしくお願いいたします。

■環境
マシン:Xserve
OS:Mac OS X server(10.2)

■やりたいこと
Mac OS X server(10.2)のWEBサーバ上で任意のファイルをSSI処理させたい。
具体的には、/Library/WebServer/Documents/に置いた「test.html」に
埋め込んだSSIコマンド(例:<!--#echo var="DATE_LOCAL"-->)を機能させたい。

■問題点と試してみた(確認した)こと
過去私が使っていたWEBTENというサーバソフト上では、
httpd.confに下記の様な追記をすることで
任意のファイル(例:test.html)に対して
SSIコマンドが機能するように設定することができました。

例:
<Files "/usr/local/etc/httpd/WebSites/www.mycompany.co.jp/test.html">
SetHandler  server-parsed
</Files>

通常SSIコマンドを含んだ含んだファイルをサーバに認識させる場合
ファイルの拡張子に「.shtml」等を使用するわけですが
この記述により「html」ファイルであっても埋め込まれたSSIコマンドが処理されます。

※なお、httpd.confの中の
   AddType text/html .shtml
   AddHandler server-parsed .shtml
の部分に「html」を加えてしまうと全ての「html」ファイルが
SSI処理されてしまい、サーバに無用な負荷がかかってしまうためNGです。

これと同じ事をMac OS X server10.2でもやりたいと思い
httpd.confに同様な追記をおこない、Apacheを再起動してみましたが
機能しません。
パスの切り方の問題かとも思い試行錯誤してみましたが解決しません。
なお、このファイル拡張子を「.shtml」にすれば機能するので
サーバのSSI設定そのものは問題ないと思われます。

しかし別のマシンのMac OS X10.3(※serverではない)で同様なことを
試してみたところ、何故かこれはOK(動作する!)なのです。
ちなみに追記は下記のみです。

<Files "test.html">
SetHandler  server-parsed
</Files>

httpd.confを見比べるとMac OS X server(10.2)とMac OS X10.3では
細かい部分の差違があるようでMac OS X server(10.2)では別ファイル(httpd_macosxserver.conf)で
管理されいる部分が結構見受けられます。
となるとhttpd_macosxserver.confで何らかの制限を加えているようにも
思えますが、このファイルの書き換えは「推奨しない」とのコメント書きが....。

どなたかヒントをご教示いただけましたら嬉しく思います。
よろしくお願いいたします。

藤川 さんからのコメント
( Tuesday, January 20, 2004 21:57:07 )

自己レスです。
このまま何も回答がないのも気持ち悪いかな?と思いまして
その後の状況をご報告します。

結果から言いますと...気が付いたら「できちゃいました。」
いったい何がどう悪さしていたのかがわからないままに...。
Apacheの再起動(configの再読み込み)がきちんとおこなわれてなかったのか(そんなことあるのかしらん?)...。
なんともモヤモヤしたままの結末で申し訳ないです。

お騒がせいたしました...。