xpWikiのインストール〜MacOSX自宅サーバ構築その18

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 開発日記 – XOOPSマニア

xpWikiのインストール

D3モジュール標準のインストールを行う。
root_path側の名前は「xpmemo」としておいた。

インストール後の設定

データベースシンクロ

インストール直後管理メニューに移ると


DB ERROR!: Please initialize an attach file database on an administrator screen.

と表示される。

xpWikiをインストール直後「管理メニュー」→「管理用ツール一覧」の「データベースシンクロ」を行う。

xpWiki01

普通は「すべての処理が完了しました」のメッセージがでて、終了するはずだったが、今回は、その後に下のようなエラーメッセージが出た。

すべての処理が完了しました。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
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

ちょっとあせったが、もう一度データベースシンクロを行うと、エラーメッセージは消えて、正常終了した。

環境設定

「管理メニュー」→「環境設定」で、最低限必要な設定を行う。設定事項はたくさんあるが、以下に変更した部分だけを記す。

管理者パスワード
「あえて設定する必要はない」と書かれているが、あえて設定することにした。ブラウザで、

http://localhost/modules/xpmemo/?cmd=md5

にアクセスすると、下画像が表示される。

xpWiki02


「Phrase」に設定するパスワードを入力し、上から2番目の「PHP md5」にチェックを入れ、下の「conpute」ボタンをクリックすると、

{x-php-md5}7a7a855a2a8344939e247746f796d𠂵9b

のように、暗号化されたパスワードが生成される。「管理メニュー」→「環境設定」の管理者パスワードの欄に上記の暗号化パスワードを入れる。

ちなみに上のパスワードはこの記事を書くために適当な文字列を入れて生成したもので、当サイトの本当のパスワードとは全く関係ない。

これを解析して当サイトに適用しようとしても、はじかれるだけなのであしからず。

管理者名
あえて説明するまでもないが、自分のログイン名を入力。

管理者のサイトURL
この時点では

http://localhost/

だが、近い将来、独自のドメインを取得した段階で、変更が必要となるであろう。

ページのURL形式
「静的アドレス」にチェックを入れた。

環境設定のページにも書いてあるが、これを選択した場合は、「.htaccess」ファイルをroot_pass/modules/xpwikiに入れなければならない。「.htaccess」の中身は

RewriteEngine on
RewriteRule ^([0-9]+)¥.html$ index.php?pgid=$1 [qsappend,L]

とする。ちなみにこの設定を間違いなく行ったあと、xpWikiページにアクセスしたら、「ページが見つからない」エラーがでた。

いろいろ調べた結果、apacheの設定ファイルで、「.htaccess」の使用が許可されていないことがわかった。そこで、/etc/httpd/httpd.confの下記の部分

# This controls which options the .htaccess files in directories can
# 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」を入力。

KAKASIをインストールしておいた理由
この「ページ名読みで分類する」と「ページ名読み取得方法」の2つをデフォルトのまま設定すると、下画像のように、アルファベットのページ名は分類されるが、日本語のページ名は「日本語」のひとくくりになってしまう。

xpWiki03


それが嫌なので上記の設定を行い、下画像のように日本語ページ名でも「アイウエオ」分類してくれるようになる。

これを行いがために、事前にkakasiのインストール編集をすませておいたということである。

KAKASIのインストール〜MacOSX自宅サーバ構築その14

xpWiki04

環境設定による設定は、とりあえず以上。一番下の「この設定を適用する」ボタンを押して設定を反映させた。

なお、ここで設定した内容は

xoops_root_pass/modules/xpwiki/private/cache/pukiwiki.ini.php

に保存される。

環境設定以外で行った設定

「環境設定」で行う設定はxpWikiの設定全体のごく一部で、設定全般については

xoops_trust_path/modules/xpwiki/ini/pukiwiki.ini.php

に記載されている。

環境設定で示される意外の、設定を変更したい場合は、上記ファイルの該当する部分を

xoops_root_path/modules/(xpwikiの変更したフォルダ名)/private/ini/pukiwiki.ini.php

にコピペしたあと、設定を変えることで可能となる。以下、この方法で変更したことを記録しておく。

管理人のみ編集することができるように設定
wikiの大きな特徴の一つに、誰もが自由に書き込み、編集ができるという点があげられるが、自分の意図しない書き込みがあったりして、不安な部分があるだあろう。

その一方、wikiの簡単な書式になれてしまうと、htmlはもちろん、XOOPSのBBコードすら、使うのが億劫になってしまう。

wiki書式を使いつつ、新規ページの作成、ページ編集は管理人のみが可能とする方法が、xpWikiにははじめから備わっている(というか、xpWikiのベースとなっているPukiWikiの標準仕様ではある)。

xoops_trust_pass側のpukiwiki.ini.phpの下の方にある

$root->pginfo = array(
‘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にコピペする。そのあと、

‘eaids’ => ‘all‘, // Editable users
‘egids’ => ‘all‘, // Editable groups

のallをnoneに変更することで実現できる。

上記を行うと下画像のように、編集可のグループ、ユーザーともなしになっていることがわかる。
xpWiki05

なお、この設定についてはこちらのサイトを参照させていただいたが、その中に

この設定が既存のページに遡及して適応されないところにあります。設定後に製作したページにしか適応されないんですね。コレにはまりました。

ということが記載されている(2008/03/24付)。

が、当サイトで上記設定を行ったら、設定を行う前からあるFrontPageなど、デフォルトで存在するページについても適用されていた。いつの頃からそのようになったかは不明であるが、一応追記しておく。

また、この設定についての本家の説明は「ここ」にある。


添付ファイルの一覧を表示しない
xoops_trust_path側の下記の部分をコピペし

/////////////////////////////////////////////////
// 添付ファイルの一覧を常に表示する (負担がかかります)
$root->attach_link = 1;

1を0に変える。


関連するページのリンク一覧を表示しない

xoops_trust_path側の下記の部分をコピペし、

/////////////////////////////////////////////////
// 関連するページのリンク一覧を常に表示する(負担がかかります)
$root->related_link = 1;

1を0に変える。

この日行ったのはここまで。後日d3forumをインストール後、コメント統合の設定を行うほか、スタイルシートの変更を行う予定。


(この記事は旧自宅サーバから転載したものです)

シェアする

  • このエントリーをはてなブックマークに追加

フォローする