Powered by SmartDoc

起動プログラム

CGIKitを起動するには、コンポーネントとは別にCGIプログラムを用意します。通常、コンポーネント内のファイルに直接アクセスすることはありません。

起動プログラムで行うことは3つあります。

<番号リスト-1->CKApplicationのインスタンスを生成する

  1. 環境変数を設定する
  2. CKApplication#run()を実行する

CKApplicationのインスタンスを生成する

CKApplicationは、メインページやCGIプログラムのパスなど実行に必要な環境変数を持つ、プログラムを起動するために必要なクラスです。プログラムを起動するには、まずCKApplicationのインスタンスを生成します。

app = CKApplication.new

環境変数を設定する

CKApplicationには以下の環境変数があります(すべてアクセサを用意しています)。

環境変数
環境変数 説明
baseurl Webサーバ上のCGIプログラムのパス。デフォルトは環境変数SCRIPT_NAME
path ファイルシステム上のCGIプログラムのパス。デフォルトは起動プログラムのあるディレクトリ。
component_path コンポーネントを置くディレクトリ。デフォルトは起動プログラムのあるディレクトリ。
resource 画像を置くディレクトリのパス。
main 何も指定がないときに表示するページ。デフォルトはMainPageコンポーネント
locale ロケール。コンポーネントの表示時、設定されているロケール表記のあるHTMLファイルを使う。
master_locale 主ロケール。ロケールが設定されていない場合、または設定されているロケールと主ロケールが同じ場合、ロケール表記のないHTMLファイルを使う。
tmpdir 一時ファイルのディレクトリ。セッションファイルなどを保存する。デフォルトはtmpディレクトリ。
error_page エラーページ。デフォルトはCKErrorPage。
manage_session セッションの自動管理。デフォルトでは自動管理を行わない。
session_key セッションキー。デフォルトは_session_id。
session_id セッションID。
store_in_url セッションIDをURLに付加して保持する。デフォルトは有効。
store_in_cookie セッションIDをクッキーで保持する。デフォルトは有効。
session_cookie_expires セッションIDの保存に使うクッキーの有効期限。nilに設定したとき、セッションの有効期間はブラウザを閉じるまでになる。デフォルトは1週間。
timeout セッションの有効期限(秒)。デフォルトでは1週間保存する(604800秒)
auth_by_user_agent セッションをブラウザで認証する。デフォルトは無効。
auth_by_remote_addr セッションをIPアドレスで認証する。デフォルトは無効。
char_code 文字コード。フォームデータをこの文字コードに変換する。"jis", "sjis", "euc"から選択する。

CKApplication#runを実行する

環境変数を設定したら、最後にCKApplication#runを実行します。

例:HelloWorld.cgi

以下はHelloWorldの起動プログラムです。

#!/usr/local/bin/ruby

require 'cgikit'

app = CKApplication.new
app.run