kahua:a2cのインストールメモ

kahua:a2cのインストールメモ

kahua:a2cのインストールメモ

インストールした環境

 Debian/Sarge Linux
 kernel 2.6.8-2-686
 apache 2.0.54-5

必要だったもの

 gauche-0.8.7, libc6-i686, Kahua-0.4.1

かかった時間

yasuyuki さんに手伝ってもらいながら 2時間20分。 2回目以降は1時間ぐらいでできると思う。

libc6-i686 のインストール

libc6-i686 は

 $ apt-get install libc6-i686

でインストールできた。

gacuhe のインストール

Debian Sarge の gauche はバージョンが 0.8.3 であるが

Kahua には gauche-0.8.7 がないとだめなのでそれを http://practical-scheme.net/gauche/download-j.html からとってきて /usr/local/gauche/gauche-0.8.7 にローカルインストールすることにした。

 $ tar xvzf Gauche-0.8.7.tgz
 $ cd Gauche-0.8.7

日本語環境はEUC-JPを選んだ また、pthreads が必須なので --enable-threads オプションをつける (あとで確認するとDebian/Sarge のgauche は utf-8 だったのでそのほうがいいかも)

 $ ./configure --enable-multibyte=euc-jp --enable-threads='pthreads' --prefix=/usr/local/gauche/gauche-0.8.7
 $ make
 $ make install

この gauche にパスを通したいが、Debian の gauche も残しておきたいので以下のよう なことを .bashrc に書きパスをその前に通すことにした

 export PATH=/usr/local/gauche/gauche-0.8.7/bin:$PATH

更新のために

 $ source .bashrc

バージョンが0.8.7 になっていることを確認

 $ gosh -V
 Gauche scheme interpreter, version 0.8.7 [euc-jp,pthreads]

Kahuaサーバ用のグループ kahua の作成

kahuaグループを追加する。

 $ groupadd kahua

この後既存のユーザーをkahuaのグループに加えたいので

 $ gpasswd -a username kahua

とした。

Kahua のセットアップに載っている  

 $ usermod -G kahua username

だとすでに登録されているグループからは外されてしまうので既存のユーザーの登録にはむかない。

Kahua のインストール

suExec モードであれば ユーザー権限で動かせそうだったので /home/username/public_html 以下にインストールすることにした。

ただし、ソケットファイルを作る必要があるので /usr/local/kahua はグループ、オーナー共にユーザー権限にした。

もっとも /usr/local/kahua/tmp/kahua 以下にだけ書き込み読み込み権限があれば十分らしい。

 $ tar -xvzf Kahua-0.4.1.tgz
 $ cd Kahua-0.4.1
 $ ./configure --with-cgidir=/home/username/public_html/cgi-bin/kahua --with-cgilogdir=/home/username/log/kahua --prefix=/usr/local/kahua

パスがインストールディレクトリに通っていないとエラーになるので

 export PATH=/usr/local/kahua/bin/kahua:$PATH

などのようなことを .bashrc あたりにかいて

 $ souce .bashrc

しておく。

kahua.conf をその後編集する。

 $ vi /usr/local/kahua/etc/kahua/kahua.conf
 ;; :static-document-path "/var/www/kahua"               ;コメントアウト
 :static-document-path "/home/username/public_html/kahua" ;追加
 ;; :static-document-url  "/kahua"                       ;コメントアウト 
 :static-document-url  "/~username/kahua"                 ;追加

のように編集した。

あとはドキュメントを入れるディレクトリを

 $ mkdir /home/username/public_html/kahua

のようにして作る。

アプリケーションのインストール

 $ make install examples

でアプリケーションが入る。 この際,静的なファイル郡(画像など)はkahua.confで指定したディレクトリに入る

Kahua サーバーの起動

 $ kahua-spvr

でサーバーが起動する。

あとは

 http://localhost/~username/cgi-bin/kahua/kahua.cgi

などにアクセスして lambda-books が表れれば成功。

Kahua アプリケーション hello のインストール

http://www.kahua.org/download/kahua/hello-0.0.2.tgz から hello-0.0.2.tgz をとってくる。

展開し、コンパイルし、インストールする。 この際 --prefix には先ほど Kahua をインストールしたディレクトリを必ず指定する

 $ tar xvzf hello-0.0.2.tgz
 $ ./configure --prefix=/usr/local/kahua
 $ make
 $ make install

Kahuaを再起動する。

 $ kahua-admin reload
 $ kahua-admin run hello
 $ kahua-admin ls         #確認
 wno   pid type         since        wid
   0 26273 lambdabooks  May 13 16:34 k9t:2u34q
   1 26276 wiki-iki     May 13 16:34 k9w:2iw6v
   2 26277 login        May 13 16:34 k9x:4ea43
   3 26732 hello        May 13 16:42 kmk:14dpv   <-- hello が動いていることが確認できた。

あとは

 http://localhost/~username/cgi-bin/kahua/kahua.cgi/hello

にアクセスして Hello, world! とでれば成功。

(Shiro (2006/05/13 11:23:25 PDT): ページタイトルがわかりづらいので、できれば 作った人が直して下さい。個人的なメモなら「名前:インストールメモ」とか、 Kahua一般についてのページにしたいなら「Kahua:インストールメモ」とか。 このコメントはその際に消して構いません。)

(a2c (2006/05/20): Gauche 一般に関する wiki ということを忘れてました、以後注意します。タイトルこんな感じでよろしいでしょうか。)

More ...