fswikiを入れてみる


iPod touch 上で apach が動くと、ネットワークがないときでも Web アプリケーションを動かせる可能性が出てきます。私は個人用メモとかでも Wiki をよく使うので、これが動けばいいなぁと思っています。

今回はPerl CGI で使える fswiki を入れてみました。結論から言うと、ちょっと遅くて常用するにはつらい感じです。以下、インストール作業の記録です。


以下 # は iPod touchssh でログインした後のrootのプロンプトです。

Perl をインストール

Installer.app で入れられます。 Development の下の Perl をインストール。/opt/iphone/bin に入りますが、多くのスクリプトでは /usr/bin/perl にあることを前提にしていますので、シンボリックリンクを張っておきます。

 # cd /usr/local
 # ln -s /opt/iphone/bin/perl .

apache の設定変更

先日のエントリは .php のファイルが phpcgi スクリプトで動くようになる設定でしたが、.cgi の拡張子のファイルを一般的な cgi スクリプトとして認識する設定をします。

まず /etc/httpd/httpd.conf を編集します。

以下の赤い部分を変更します。ディレクトリごとに .htaccessapacheの動作変更ができるようにする設定です。


(中略)
    AllowOverride None

  ↓


(中略)
    AllowOverride All

以下の行のコメントを外します。.cgi ファイルを CGI スクリプトとして認識する設定です。

    # To use CGI scripts:
    #
    #AddHandler cgi-script .cgi

  ↓

    # To use CGI scripts:
    #
    AddHandler cgi-script .cgi

apache を再起動します。

 # /usr/sbin/apachectl restart

fswiki をダウンロード

以下のサイトから fswiki を頂いてきます。

Mac 上で展開して、必要な変更を行い、touch へコピー

ダウンロードしたファイルはwiki3_6_2.zip という名前になっていると思います。touch 上で zip の展開ができなかったので、Mac で展開しておきます。ついでに、必要な変更をしておきましょう。以下は Mac の操作です。通常のエディタでは .htaccess ファイルが編集できない(と思う)ので、ターミナル内で vi か emacs を使う必要があると思います。

(1) 保存したファイルを展開する

 $ cd (wiki3_6_3.zip を保存したディレクトリ)
 $ unzip wiki3_6.2.zip

(2)wiki3_6_3/.htaccess を編集。以下の赤字を追加。ディレクトリ内の CGI スクリプトを実行可能とし、インデックスファイル (URLがディレクトリ名の指定までで止まっている場合に読み込まれるファイル) を wiki.cgi に設定します

Options ExecCGI
DirectoryIndex wiki.cgi

  deny from all

(3) wiki3_6_2/tmpl/site/default/default.tmpl を編集。touch のスクリーンで少し見やすくするための変更です。好みに合わせて "600" の値を変えてみてください。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta name="viewport" content="width=600"> 

viewport に関しては以下を参照。ありがとうございます!


(4) 編集が終わったら、touch へコピーします。

 % scp -pr wiki3_6_2 root@{touchのIPアドレス}:/Library/WebServer/Documents/fswiki

Safari でアクセスしてみる

/Library/WebServer/Documents/fswik にコピーしましたので、URLは

  http://127.0.0.1/fswiki

となります。

アクセスしてみると、ちゃんと表示され機能しますが…残念ながらレスポンスがかなり鈍いです。ページを表示するのに5-6秒かかります。ちょっと常用はつらいスピードですね。

追記(2007/10/27): 最終的なURLを http://localhost/... と書いていましたが、本当に無線LANの接続がないときには、localhost じゃなくて 127.0.0.1 と書かなくてはダメでした。