xpWiki って何?
xpWiki は、PukiWiki 1.4.8_alpha をベースに XOOPS 用 Wiki モジュールにしたもの。開発者nao-ponさんの尋常でないパワーにより、ものすごい勢いで進化を続けるxpWikiは、当サイトの構築記録を作成している間に、3から4へメジャーバージョンアップがなされた(2008/11/13)。
今回ダウンロードさせていただいたのは、バージョン4.01.10。ちなみにこの記録を書いている2008/12/29現在の最新版は4.01.16。
xpWikiをダウンロードする
ダウンロード先は、nao-ponさんのサイトから。
xpWikiのインストール
D3モジュール標準のインストールを行う。
root_path側の名前は「xpmemo」としておいた。
インストール後の設定
データベースシンクロ
インストール直後管理メニューに移ると
DB ERROR!: Please initialize an attach file database on an administrator screen.
と表示される。
xpWikiをインストール直後「管理メニュー」→「管理用ツール一覧」の「データベースシンクロ」を行う。
普通は「すべての処理が完了しました」のメッセージがでて、終了するはずだったが、今回は、その後に下のようなエラーメッセージが出た。
Warning [PHP]: filemtime() [function.filemtime]: stat failed for /Library/WebServer編集/Documents/modules/xpmemo/private/wiki/526563656E744368616E676573.txt in file /Library/WebServer編集/dup3/modules/xpwiki/class/func/pukiwiki_func.php line 69
Warning [PHP]: filemtime() [function.filemtime]: stat failed for /Library/WebServer編集/Documents/modules/xpmemo/private/wiki/526563656E744368616E676573.txt in file /Library/WebServer編集/dup3/modules/xpwiki/class/func/pukiwiki_func.php line 68
Warning [PHP]: filemtime() [function.filemtime]: stat failed for /Library/WebServer編集/Documents/modules/xpmemo/private/wiki/526563656E744368616E676573.txt in file /Library/WebServer編集/dup3/modules/xpwiki/class/func/pukiwiki_func.php line 69
Warning [PHP]: filemtime() [function.filemtime]: stat failed for /Library/WebServer編集/Documents/modules/xpmemo/private/wiki/526563656E744368616E676573.txt in file /Library/WebServer編集/dup3/modules/xpwiki/class/func/pukiwiki_func.php line 68
Warning [PHP]: filemtime() [function.filemtime]: stat failed for /Library/WebServer編集/Documents/modules/xpmemo/private/wiki/526563656E744368616E676573.txt in file /Library/WebServer編集/dup3/modules/xpwiki/class/func/pukiwiki_func.php line 69
Warning [PHP]: filemtime() [function.filemtime]: stat failed for /Library/WebServer編集/Documents/modules/xpmemo/private/wiki/526563656E744368616E676573.txt in file /Library/WebServer編集/dup3/modules/xpwiki/class/func/pukiwiki_func.php line 68
Warning [PHP]: filemtime() [function.filemtime]: stat failed for /Library/WebServer編集/Documents/modules/xpmemo/private/wiki/526563656E744368616E676573.txt in file /Library/WebServer編集/dup3/modules/xpwiki/class/func/pukiwiki_func.php line 69
ちょっとあせったが、もう一度データベースシンクロを行うと、エラーメッセージは消えて、正常終了した。
環境設定
「管理メニュー」→「環境設定」で、最低限必要な設定を行う。設定事項はたくさんあるが、以下に変更した部分だけを記す。
管理者パスワード
「あえて設定する必要はない」と書かれているが、あえて設定することにした。ブラウザで、
にアクセスすると、下画像が表示される。
「Phrase」に設定するパスワードを入力し、上から2番目の「PHP md5」にチェックを入れ、下の「conpute」ボタンをクリックすると、
のように、暗号化されたパスワードが生成される。「管理メニュー」→「環境設定」の管理者パスワードの欄に上記の暗号化パスワードを入れる。
ちなみに上のパスワードはこの記事を書くために適当な文字列を入れて生成したもので、当サイトの本当のパスワードとは全く関係ない。
これを解析して当サイトに適用しようとしても、はじかれるだけなのであしからず。
管理者名
あえて説明するまでもないが、自分のログイン名を入力。
管理者のサイトURL
この時点では
だが、近い将来、独自のドメインを取得した段階で、変更が必要となるであろう。
ページのURL形式
「静的アドレス」にチェックを入れた。
環境設定のページにも書いてあるが、これを選択した場合は、「.htaccess」ファイルをroot_pass/modules/xpwikiに入れなければならない。「.htaccess」の中身は
RewriteRule ^([0-9]+)¥.html$ index.php?pgid=$1 [qsappend,L]
とする。ちなみにこの設定を間違いなく行ったあと、xpWikiページにアクセスしたら、「ページが見つからない」エラーがでた。
いろいろ調べた結果、apacheの設定ファイルで、「.htaccess」の使用が許可されていないことがわかった。そこで、/etc/httpd/httpd.confの下記の部分
# override. Can also be “All”, or any combination of “Options”, “FileInfo”,
# “AuthConfig”, and “Limit”
#
AllowOverride None
の「None」を「All」に変更して、apacheを再起動すると、静的アドレスで表示するようになった。
改行を有効にする
「はい」に変更。
改行のたびに「#br」とか「&br;」と入力するのが面倒くさいので・・・
ページ名読みで分類する
「はい」に変更。
ページ名読み取得方法
「KAKASI」を選択。
KAKASIの絶対パス
kakasiのインストール編集を行った「/usr/local/bin/kakasi」を入力。
この「ページ名読みで分類する」と「ページ名読み取得方法」の2つをデフォルトのまま設定すると、下画像のように、アルファベットのページ名は分類されるが、日本語のページ名は「日本語」のひとくくりになってしまう。
それが嫌なので上記の設定を行い、下画像のように日本語ページ名でも「アイウエオ」分類してくれるようになる。
これを行いがために、事前にkakasiのインストール編集をすませておいたということである。
環境設定による設定は、とりあえず以上。一番下の「この設定を適用する」ボタンを押して設定を反映させた。
なお、ここで設定した内容は
に保存される。
環境設定以外で行った設定
「環境設定」で行う設定はxpWikiの設定全体のごく一部で、設定全般については
に記載されている。
環境設定で示される意外の、設定を変更したい場合は、上記ファイルの該当する部分を
にコピペしたあと、設定を変えることで可能となる。以下、この方法で変更したことを記録しておく。
管理人のみ編集することができるように設定
wikiの大きな特徴の一つに、誰もが自由に書き込み、編集ができるという点があげられるが、自分の意図しない書き込みがあったりして、不安な部分があるだあろう。
その一方、wikiの簡単な書式になれてしまうと、htmlはもちろん、XOOPSのBBコードすら、使うのが億劫になってしまう。
wiki書式を使いつつ、新規ページの作成、ページ編集は管理人のみが可能とする方法が、xpWikiにははじめから備わっている(というか、xpWikiのベースとなっているPukiWikiの標準仕様ではある)。
xoops_trust_pass側のpukiwiki.ini.phpの下の方にある
‘uid’ => 0, // UserID
‘ucd’ => ”, // UserCode(by cookie)
‘uname’ => ”, // UserName(by cookie)
‘einherit’ => 3, // Edit Inherit
‘eaids’ => ‘all’, // Editable users
‘egids’ => ‘all’, // Editable groups
‘vinherit’ => 3, // View Inherit
‘vaids’ => ‘all’, // Viewable users
‘vgids’ => ‘all’, // Viewable groups
‘lastuid’ => 0, // Last editer’s uid
‘lastucd’ => ”, // Last editer’s ucd(by cookie)
‘lastuname’ => ”, // Last editer’s name(by cookie)
);
の部分をxoops_root_path側のpukiwiki.ini.phpにコピペする。そのあと、
‘egids’ => ‘all‘, // Editable groups
のallをnoneに変更することで実現できる。
上記を行うと下画像のように、編集可のグループ、ユーザーともなしになっていることがわかる。
なお、この設定についてはこちらのサイトを参照させていただいたが、その中に
この設定が既存のページに遡及して適応されないところにあります。設定後に製作したページにしか適応されないんですね。コレにはまりました。
ということが記載されている(2008/03/24付)。
が、当サイトで上記設定を行ったら、設定を行う前からあるFrontPageなど、デフォルトで存在するページについても適用されていた。いつの頃からそのようになったかは不明であるが、一応追記しておく。
また、この設定についての本家の説明は「ここ」にある。
添付ファイルの一覧を表示しない
xoops_trust_path側の下記の部分をコピペし
// 添付ファイルの一覧を常に表示する (負担がかかります)
$root->attach_link = 1;
1を0に変える。
関連するページのリンク一覧を表示しない
xoops_trust_path側の下記の部分をコピペし、
// 関連するページのリンク一覧を常に表示する(負担がかかります)
$root->related_link = 1;
1を0に変える。
この日行ったのはここまで。後日d3forumをインストール後、コメント統合の設定を行うほか、スタイルシートの変更を行う予定。
(この記事は旧自宅サーバから転載したものです)