CGIKitを起動するには、コンポーネントとは別にCGIプログラムを用意します。通常、コンポーネント内のファイルに直接アクセスすることはありません。
起動プログラムで行うことは3つあります。
<番号リスト-1->CKApplication
のインスタンスを生成する番号リスト-1->
CKApplication#run()
を実行する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
を実行します。
以下はHelloWorldの起動プログラムです。
#!/usr/local/bin/ruby require 'cgikit' app = CKApplication.new app.run