hnakamur’s blog

ものすごい勢いで忘れる私のために未整理でもいいからとりあえずメモ

2009-08-27

ApacheのServer-Side Includesの設定

背景

ロードバランサの実験用にゲストOSのホスト名を入れたindex.htmlを

Hello, this is vm10.

といった感じで作っていたのですが、ゲストOSごとに書き換えずに済ませたいので Server-Side Includesを使う事にしました。

設定

mod_includeを参考にしました。CentOSの/etc/httpd/conf/httpd.confには

AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
は設定済みだったので、<Directory "/var/www/html">セクションのOptions行に
    Options Indexes Includes FollowSymLinks
のようにIncludesを追加し、DirectoryIndexの行に
DirectoryIndex index.html index.shtml index.html.var
のようにindex.shtmlを追加しました。

そして、index.htmlをindex.shtmlに改名して

Hello, this is <!--#exec cmd="echo -n `hostname`"-->.
のように変更しました。

最初は

Hello, this is <!--#echo var="SERVER_NAME"-->.
にしたのですが、ロードバランサ経由だとリクエストURLのホスト名もしくはIPアドレスになってしまうのでだめでした。

次は

Hello, this is <!--#exec cmd="hostname"-->.
としたのですが、ドットの前に改行が入ってしまうことが判明したので、echo -n `hostname`に変更しました。

0 件のコメント:

ブログ アーカイブ