このページはWebサーバ(Apache)でSSI(Server Side Include)を利用するための設定方法をご紹介しています。

vinelinuxで自宅サーバー公開ロゴ
サイトマップ

>>Linuxで自宅サーバー公開(TOP) >>SSIの設定


SSIの設定


 
SSIとは? 


  SSI(Sever Side Include)とは、サーバ側(Server Side)で命令を解釈してその結果を
  ウェブデータに含め(Include)ブラウザに返します。
  SSIコマンドが埋め込まれたホームページを閲覧するだけで実行結果を反映したページ
  を表示することが可能となり、アクセスカウンタなど比較的容易に実現することができます。

  但し、Apacheをインストールした状態ではSSIは実行されないようになっています。
  ここでは、以下に示す注意点を考慮したSSIの設定方法をご紹介します。

  ▲ページ先頭に戻る


 SSI利用に際して注意する点

 ●パフォーマンスについて
  全てのファイルをSSI対象にすると、Webデータ全てSSI解析を実行するため
  にサーバーのパフォーマンスが低下するおそれがあります。
  サーバーの負荷を考慮して、特定のファイルでのみSSIを実行できるように
  設定します。
  →SSIを有効にする設定(1)

 ●セキュリティについて
  全てのディレクトリでSSIを実行可能にすることはセキュリティ上望ましく
  ありません。SSIを設定できるディレクトリを限定するように設定します。
  →SSIを有効にする設定(2)


  ▲ページ先頭に戻る


 ApacheでのSSI設定

 ・SSIの設定を有効にする
  まずは、SSIの設定を有効(使える状態)にする必要があります。
 
 Apacheの設定ファイル(httpd.conf)で以下の修正を行います。

 →SSIを有効にする設定(1)
# To use server-parsed HTML files
#
AddType text/html .shtml        <-行先頭のコメント"#"を削除
AddHandler server-parsed .shtml   <-行先頭のコメント"#"を削除


 →SSIを有効にする設定(2)
<Directory /home/httpd/html>
Options
Includes FollowSymLinks MultiViews
#↑/home/httpd/htmlディレクトリでSSIを有効に設定
</Directory>

 あとは、httpdを再起動して設定を反映させれば、SSIが有効となります。

 以上で設定が完了しましたが、本当に有効になっているのか不安ですよね
 SSIが動作しているか確認してみましょう。

 ■簡単な確認方法
 <!--#echo var="DATE_LOCAL"-->
 ※#echo var="変数名" : 変数名("DATE_LOCAL"は現在時刻)を表示

 ↑HTMLのソース内に上記記述を追加してください。
  ※ファイルの拡張子は".shtml"にします。

 以下のような表示がされればSSIが有効になっています。
 (サーバーの現在時刻を表示)
 Saturday, 10-Sep-2005 22:42:44 JST
 ※何も表示されない場合はSSIの設定もしくはソースの間違いかもしれません。

 ちなみに、<!--#include file="aaa.html"-->とすると
 同じディレクトリにある"aaa.html"を取り込んで表示します。
 共通部分をファイル単位で管理できそうです。
 ※ちょっと面白そうなので試してみようと思います^^
  (SSIっていろいろできそうですね)


  ▲ページ先頭に戻る



 Copyright(c) 2005, All Rights Reserved.