So-net無料ブログ作成

wema をインストールしてみた [wema]

wema とは、これ↓
http://wema.sourceforge.jp/
まえから、面白そうだと思っていたのでインストールしてみることにする。

でも、その前に、Ruby が入っていないので、

# emerge ruby 


を実行。
ruby 1.8.3 preview1 っていうのがダウンロードしてインストールされた

wema は http://wema.sourceforge.jp/download.html から 2.0.1 をダウンロード。
http://wema.sourceforge.jp/ の インストールの項の説明にあるように
tarball を解いて、index.cgi に実行のパーミッションを与えればよい。



ちなみに、拡張子.cgi で CGI を実行の httpd.conf の記述例

AddHandler cgi-script .cgi


っていう行を追加して、wema のスクリプトをおいた Directory ディレクティブの所に

Option ExecCGI


の指定をする。



以下は、おまけ。
wema が mod_ruby で動かないそうなので、チャンレンジしてみる。
まず、mod_ruby のインストール。このとき USE フラグに apache2 が追加されている。

# emerge mod_ruby

mod_ruby 1.2.4-r2 っていうのがインストールされたみたい。
上にある「ちなみに、拡張子.cgi で CGI を実行の httpd.conf の記述例」の部分をやめ、
代わりに http://www.nslabs.jp/mod_ruby.rhtml を参考に、

LoadModule ruby_module modules/mod_ruby.so

  RubyRequire apache/ruby-run
  
    SetHandler ruby-object
    RubyHandler Apache::RubyRun.instance
  
  RubyRequire auto-reload


と書く。これで、拡張子.cgi で mod_ruby のハンドラが実行されるようになる。
しかし、この状態で、index.cgi を呼ぶと Internal Server Error になる。
エラーログを見ると

/usr/lib/ruby/1.8/auto-reload.rb:55:in `require': no such file to load -- cgikit (LoadError)


なんて出ている。
wema のアーカイブの lib ディレクトリの中にあるファイルを全部
/usr/lib/ruby/site_ruby/1.8 にコピーして、
もう1回 index.cgi を呼んでみると、今度は、wemaapp.rb 67行目の exist? が
Insecure operation だと言われる。
なんせ、Ruby は全然わからないので、このメッセージの正しい対処はわからないが、
要は、データファイルをおくディレクトリの存在チェックのようなので、
67~ 69 行目をコメントアウトしてみたら、一応 index.cgi (パラメータなし)の呼び出しは表示できた。
・・・が、Menu を選択していろいろやろうとすると、すぐ Internal Server Error になる。
エラーログを見ると、また別のエラーが出ているのでそれを追っていけば良さそうだが、
まだまだ、いくつかハードルがありそう・・・っつーか、Ruby では手も足もでない。

CGI は、そのスクリプトが存在しているディレクトリがカレントディレクトリになるが、
mod_ruby では、Apache プロセスのカレントディレクトリが、
スクリプト実行時のカレントディレクトリのため
wema/lib ディレクトリの中のスクリプトが require できないっていうのが理由みたい。
そして、まだまだ多くのハードルがありそうなので、私にはこれ以上無理・・・終了。


nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0