WebOS Goodies

WebOS の未来を模索する、ゲームプログラマあがりの Web 開発者のブログ。

WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。
Subscribe       

TWiki : インストール

本日は TWiki のインストール方法をご紹介します。TWikiPerl で書かれた非常に多機能な Wiki クローンで、商用サイトにも多数の採用実績があるようです。そらく現在利用可能な Wiki の中でも最も強力なもののひとつではないでしょうか。

実は、私もちゃんと使うのはこれが初めてでして、どんな機能があるのかワクワクです。CMS の研究として、これから数回に分けてレポートする予定です。どうかお付き合いください。

なお、Apache が既にインストールされていることを前提にします。Apache のインストールなどの詳細は、Apache のページを参照してください。

TWiki のパッケージをインストール

GentooLinux には TWiki のパッケージが用意されていますので、それを使ってインストールします。ただ、現在のところ TWiki は unstable となっているので、マスクを解除するために "/etc/portage/package.keyword" に以下の行を追加します。

www-apps/twiki ~x86

詳細はマスクされたパッケージをインストールする方法をご覧ください。これで TWiki をインストールできるようになりました。あとは、いつもどおり emerge を実行します。

emerge www-apps/twiki

vhosts USEフラグを有効にしてある場合は、続けて webapp-config で実際に使用するディレクトリにコピーする必要があります。

webapp-config -I -h <ホスト名> -d <パス> twiki <バージョン>

上記の例では、"/var/www/<ホスト名>/htdocs/<パス>" にインストールされます。<バージョン> にはインストールした TWiki のバージョンを指定してください。「This can take several minutes for large apps」とか表示されてやたらに時間がかかりますが、気長に待ってください。

以降、TWiki のインストールディレクトリの "/var/www" からの相対パスを "$TWIKI" と表記します。上記の場合は "<ホスト名>/htdocs/<パス>" ですね。vhosts が無効のときは試していませんが、"localhost/htdocs/twiki" あたりだと思います。

TWiki の設定ファイルの編集

GentooLinux ではインストール時に多くの設定ファイルを適切に書き換えてくれますので、ほとんどはそのままで OK です。ただし、Apache 2.0 系列を使用している場合は、"/var/www/$TWIKI/bin/LocalLib.cfg" 内でコメントアウトしてある以下の行を有効にしなければなりません。

open(STDERR, ">>/dev/null");      # throw away cgi script errors, or
open(STDERR, ">>/tmp/error.log"); # redirect errors to a log file

これは Apache 2.0 が持つ既知のバグへの対処だそうです。

Apache のホスト設定を編集

次に、Apacheバーチャルホストを設定しましょう。だいたい以下のように設定すればよいと思います。バーチャルホストの設定に関しては Apache のページをご参照ください。また、バージョンによりディレクトリ構成が違うかもしれませんので、念のため "/var/www/$TWIKI/twiki_httpd_conf.txt" に目を通してください。

<VirtualHost *:80>
    # ServerName, DocumentRoot を適切に設定

    ScriptAlias /twiki/bin "/var/www/$TWIKI/bin"
    <Directory "/var/www/$TWIKI/bin">
        Options +ExecCGI FollowSymLinks
        SetHandler cgi-script
        Order allow,deny
	 Allow from all
    </Directory>
    <Directory "/var/www/$TWIKI/pub">
        Options FollowSymLinks +Includes
        AllowOverride None
        Order allow,deny
	 Allow from all
    </Directory>
    <Directory "/var/www/$TWiki">
        deny from all
    </Directory>
    <Directory "/var/www/$TWIKI/data">
        deny from all
    </Directory>
    <Directory "/var/www/$TWIKI/templates">
        deny from all
    </Directory>
    <Directory "/var/www/$TWIKI/twiki/lib">
        deny from all
    </Directory>
</VirtualHost>

上記ではサイトへのアクセスに制限をかけていませんが、もしインターネットに公開されたサーバー上で作業する場合は設定が終了するまで適切にアクセス制限をかけておくべきです。

バーチャルホストの設定が終了したら、リスタートしておきます。

/etc/init.d/apache2 restart

これで TWiki の設定画面にアクセスできるようになっているはずです。

Web ブラウザでの設定

次は Web ブラウザで実際にアクセスして設定をしていきます。その前に、CGI が設定ファイルを変更できるように、一時的にすべてのファイルを apache ユーザーの所有にしておきます。

chown -R apache:apache /var/www/$TWIKI

その後、Web ブラウザを起動して "http://$TWIKI/bin/configure" にアクセスしてみてください。以下のようなページが表示されるはずです。

「Settings」の下の各行をクリックすると、詳細な設定項目が現れます。ページ中央に例が表示されていますが、設定に問題がある項目は赤字で、致命的ではないが注意を要する項目はオレンジで表示されます。私の場合は、「General path settings」にオレンジの項目が 2 つありますが、赤はまったくありません。webapp-config が設定してくれたのでしょう。時間がかかるだけのことはありますね(^^;

設定項目が非常に多いので、すべてはご紹介できません。変更が必要と思われる項目のみリストアップしておきます。英語とはいえ丁寧に説明が書いてあるので、頑張ればなんとかなるはずです。

  • General path settings の {DefaultUrlHost} が "http://localhost" となっていたので、正しいホスト名に修正。
  • Localisation の {UseLocale} にチェックを入れる。
  • Localisation の {Site}{Locale} を ja_JP.eucjp に変更。
  • Localisation の {Site}{CharSet} を euc-jp に変更。
  • Localisation の {Site}{Lang} を ja に、{Site}{FullLang} を ja-jp に変更(ここはまったく自信なし^^;)。
  • RCS がインストールされていない場合、Store settings の {StoreImpl} を RCSLite に変更。

一通り設定を終えたら、ページの左下にある「Next」ボタンをクリックします。すると、ページが切り替わってパスワードの入力を促してきます。これは先ほどの設定ページを利用するためのパスワードなので、必ずできるだけ強固なものを設定してください。

以上が終了したら、"http://$TWIKI/bin/view" をアクセスしてみましょう。以下のようなページが表示されたらインストール成功です。

最後に、先ほど設定したファイルの所有権を戻しておきます。

cd /var/www/$TWIKI
chown -R root:root .
chown -R apache:apache data pub
chgrp -R apache lib templates

本来は "data" と "pub" のみを apache の所有とするだけでよいはずなのですが、なぜか "lib" と "templates" 内のファイルの一部が apache では読めない設定になっています。仕方がないので、それらのディレクトリのグループのみを apache にしました。もしかしたらファイルの属性を変更するほうがよいかもしれません。

今回はだいぶ駆け足になってしまいました。最近ちょっと時間が足りなくて。申し訳ありません(^^ゞ。ともかく、TWiki が無事に動作しました。これから存分にいじってみようと思います。どんなことができるのか、楽しみです。

関連記事

この記事にコメントする

Recommendations
Books
「Closure Library」の入門書です。
詳しくはこちらの記事をどうぞ!
Categories
Recent Articles