Kahua2 設定ファイルについて
前回はkahua-spvrでサーバを立ち上げ、ブラウザでアクセスするとこまで行いました。
このkahua-spvrに設定ファイルが関わってきます。
設定ファイルについてKahua.org Tutorialを見ても書いて無く探し出すまでちょっと苦労しました。
ちなみに説明しているのは Kahua.org hello-kahuaとKahua.org Modules|kahua.configです。
まさかモジュールの方に書いてあるとは思いませんでした。
kahua.conf
ファイル名はkahua.confです。サイトバンドル内には"site/etc/kahua.conf"にあります。
まずはいきなり内容を見てみます。
サンプルはインストールしたkahuaディレクトリ以下のetc/kahua/kahua.confにあります。
$ cat /usr/local/kahua/etc/kahua/kahua.conf ;; ;; Sample Kahua configuration file ;; ;; $Id: kahua.conf.sample,v 1.5 2005/12/22 16:29:18 shibata Exp $ (make:sockbase "unix:/usr/local/kahua/tmp/kahua" :working-directory "/usr/local/kahua/var/kahua" :static-document-path "/usr/local/kahua/var/kahua/static" :static-document-url "/kahua" :timeout-mins 60 :userconf-file "/usr/local/kahua/var/kahua/user.conf" ) ;; Local variables: ;; mode: scheme ;; end:
主に何を設定しているかと言うとWebアプリから見た色々なディレクトリを設定しています。
例えば、working-directoryはWebアプリからみた起動時のトップディレクトリになります。
しかし、sys-system関数等で直接サーバにアクセスする場合には影響しません。
それでは意味を見ていきます。
- sockbase サーバが使用するUnixドメインソケットを置く場所のようです。
- working-directory 先ほど書いたとおり、Webアプリからみた起動時のトップディレクトリです。(X)HTMLで"/tmp"とするとworking-directory/tmpとなります。
- static-document-path 静的なファイルの置き場所です。例えば、ロゴイメージやスタイルシート等を置きます。HTTPd(apache等)経由で読み取られるそうです。
- static-document-url Webアプリからみたstatic-document-pathのURLです。上記の場合は、static-document-pathに"logo.jpg"を置くと、"/kahua/logo.jpg"と(X)HTMLに書くことになります。apache経由の場合、設定ファイルにも記述が必要とのことです。
- timeout-mins サーバのセッションタイムアウト時間です。単位は分です。
- userconf-file これも説明がありませんが、中身を見るとユーザIDの管理用のファイルのようです。
- 上記以外 Kahua.org Modules|kahua.configを参照してください。
とりあえず重要なのは、working-directory、static-document-pathとstatic-document-urlです。
これを設定しないと、ファイルへのアクセスが出来ない場合が発生します。
手続き
上記設定からパスを自動生成する等の便利な手続きがあります。
まずは設定ファイルから直接値を取り出す手続きから。
例えば、"static-document-path"を取り出すには次のようにします。
(ref (kahua-config) 'static-document-path)
次はパスの自動生成系です。主に使うのは次の2つでしょう。
- kahua-static-document-path sys-system等で直接ファイルにアクセスする場合に使用します。 "(kahua-static-document-path path)"でpathにはいくつでもパスを指定できます。例えば、"(kahua-static-document-path "css" "stylesheet.css")"とすると"/usr/local/kahua/var/kahua/static/css/stylesheet.css"が取り出せます。
- kahua-static-document-url 上記から想像できるとおもいます。こちらは(X)HTMLからアクセスする場合に使用します。
- 上記以外 Kahua.org Modules|kahua.configを参照してください。