VikiWiki設定メモ

VikiWikiはWikiクローンのひとつです。 大きな特徴として、編集のための動的ページと閲覧のための静的ページを別々のディレクトリに作成することが可能である(CMSとして使える)という特徴があります。

授業のページなどをつくるときに重宝します。

参考

インストール方法

インストール対象のサーバではUTF-8に対応したエディタがインストールされていないので、euc-jpでインストールします。以下の条件でインストールします。適宜読み替えてください。

インストールする際の言語
EUC-JP
認証方法
www認証
ホームディレクトリのフルパス
/export/home/user/public_html
編集ページのインストール先
~/public_html/cgi-bin
静的ページの出力先
~/public_html/static
rubyのパス
/usr/local/bin/ruby
www認証用のパスワードファイル置場所
~/password

Apacheを使用されている場合は、suEXECを用いてユーザ権限でCGIが動かないとVikiWikiをうまくしようできないと思います(少なくとも私はダメでした)

ご自分の使用しているサーバがsuEXECで動いているかどうかを確かめるには、適当なCGI スクリプト(*.cgi)のファイル属性を700(rwx------)にしてみて、CGIスクリプトが実行できるか試してみてください。

  • ファイルを取得後解凍
    % unzip vikiwiki.zip
    % mv vikiwiki cgi-bin
    もしくは
    % cp vikiwiki/* cgi-bin
    
  • EUCで使いたいのでUconvをインストールする

    まず、「よしだむの秘密のページ」さんのRubyモジュールのページ (http://www.yoshidam.net/Ruby_ja.html) からUconvのソースを取得する

    続いてインストール

    % gzip -cd  uconv-**.tar.gz | tar xvf -
    % cd uconv**
    % ruby extconf.rb
    % make
    % su
    # make install 
    

    もしくは、uconv.soを ~/cgi-bin/vikiwiki/libにコピー

    % gzip -cd  uconv-**.tar.gz | tar xvf -
    % cd uconv**
    % ruby extconf.rb
    % make
    % cp uconv.so ~/public_html/cgi-bin/vikiwiki/lib
    
  • EUCにもろもろのものをエンコード
    % cd ~/public_html/cgi-bin
    % ruby tool/unkf.rb -Ue "**/*.txt" "**/*.r*"
    
  • セットアップをする。
    % ruby -Ke setup.rb
    [gotoh@encal EditSpace]# ruby -Ke setup.rb
    Setup for 
    0. This Machine
    1. FTP (now 0. This Machine) > 0
    => You selected This Machine.
    Input your home path on WWW. (now /~user) > 
    Input your directory for /~user. (now /export/home/user/public_html) > 
    Input path for VikiWiki. (now /export/home/user/public_html/cgi-bin) > 
    Use for 
    0. Normal
    1. CMS
    2. StaticWiki
    3. DirectEdit (now 0. Normal) > 1
    => You selected CMS.
    Select authorization type 
    0. none
    1. www
    2. vikiwiki
    3. form (now 3. form) > 1
    => You selected www.
    Input administrator account. (now user) > 
    Input your name. (now user) >  User of Users
    Input your mail address. (now hogehoge@hogehoge.hoge) > 
    Input LANG. (now ja) > 
    Input ruby path. (now /usr/local/bin/ruby) > 
    Input top page name. (now FrontPage) > 
    Input wiki folder name. (now newfolder) > Edit
    Input `local' path of CGI. (now /export/home/user/public_html/Edit/vikiwiki.cgi) > 
    Input URI of CGI. (now /~user/Edit/vikiwiki.cgi) > 
    Input temporary directory. (now /export/home/user/public_html/cgi-bin/tmp) > 
    Input static directory(full path). (now /export/home/user/public_html/static) > 
    Input URI of static directory(full path). (now /~user/static) > 
    Are you sure? (y/n) (now n) > y
    

インストールはこれで終り。

設定

次に、www認証の設定をします

www認証を用いる方法のひとつにapacheのbasic認証を使う方法があります。 basic認証を行うためには、 .htaccessがおける必要があります。

.htaccessの作成

AuthUserFile /export/home/user/password/.htpasswd
AuthGroupFile /dev/null
AuthName "Please enter your ID and password"
AuthType Basic
require valid-user

というように.htaccessをつくります。 .htaccessをおく場所は vikiwiki.cgiがおいてある場所です。 (もしかしたら、vikiwiki.cgiがおいてあるディレクトリの上位ディレクトリ でも大丈夫かもしれません)

.htpasswdの作成

Web上に公開されないディレクトリ(もしあれば)そこに.htpasswdという ユーザ名とパスワードが格納されているファイルを作成します。 作成方法はCGIを使う方法とtelnetなどでサーバにログインし、 コマンドで作成する方法があります。

サーバにログインし、コマンドで作成する場合は以下のように行います。

% htpasswd -c /export/home/user/password/.htpasswd user

使用方法

上記の例のように.htaccessをつくると、vikiwiki.cgiにアクセスする際に パスワードが要求され、以後認証の必要がありません。

参考

vikiwiki.cgi の編集

もしかしたら、最新版ですと不必要かもしれませんが静的ファイルのスタイルファイル設定が標準設定のままですとおかしくなる場合があります。(動的ファイルがおいてあるディレクトリのスタイルファイルが参照される)

そこで、vikiwiki.cgiの該当部分を編集し、スタイルファイルは静的ファイルのディレクトリにあるスタイルファイルを参照することにします。 該当部分は、

"STATICIMG"=>"sync",
"STATICTHEME"=>"sync",

ここを以下のように書き換えます。

"STATICIMG"=>"static",
"STATICTHEME"=>"static",

Wiki牧場(Farm)を使う

Wiki牧場(Farm)を使うと元となるVikiWikiの設定がそのまま引き継がれるそうです。 いちいち、setup.rbを起動しなくて済むので比較的楽です。

使い方、vikiwiki.cgiの以下の部分を編集後、WikiFarmをWebブラウザ上から作成する。

編集場所は

"WIKIFARM"=>false,

これを

"WIKIFARM"=>true,

にする。