{install} MediaWiki 1.18.2 on QNAP TS-210

うちの Wiki として MediaWiki を入れることにした。PHP というのが気にくわないが,やはり見た目がいちばんカッコいい。まあほかの Wiki でもテンプレートをがんばっていじれば同等の見た目にできるんだろうけど。

それにほかの Wiki をさわるときのことを考えると標準的な文法のものを使いたいが(って今までに PukiWiki と Trac と RandomNote(あと MediaWiki を少々)のページを書いてとくに混乱していないが),MediaWiki は Wikipedia で使われているメジャーな Wiki ということで,きっとほかの Wiki も文法の影響を受けているだろう。

公式サイトの記述を見ながらインストールする:
http://www.mediawiki.org/wiki/Installation
http://www.mediawiki.org/wiki/Manual:Installing_MediaWiki
まず今回つくる Wiki 用のデータベースをつくる。うちのサーバは PostgreSQL 9.1.3+textsearch_ja 9.0.0。ユーザ wikiuser をつくり,そのユーザの持ちものとしてデータベース wikidb をつくり,wikiuser のパスワードを設定する。createuser はいろいろな権限はすべて与えない。まあすべて公式サイトの説明のとおり。
$ createuser wikiuser -U pgsql
$ createdb -O wikiuser wikidb -U pgsql
$ psql -U pgsql -d wikidb  # and then "\password wikiuser"
それから textsearch_ja をこのデータベースで使えるようにする。wikiuser にはその権限がないので,権限のあるユーザで。
$ psql -f /opt/share/postgresql/contrib/textsearch_ja.sql -d wikidb -U pgsql
$ psql -U pgsql -d wikidb
wikidb=# grant select on pg_ts_config to wikiuser;
wikidb=# grant select on pg_ts_config_map to wikiuser;
wikidb=# grant select on pg_ts_dict to wikiuser;
wikidb=# grant select on pg_ts_parser to wikiuser;
MediaWiki 公式サイトの説明のとおりだが,textsearch_ja でもこれでいいのだろうか。とりあえずエラーにはならなかった。まあ最悪検索できなくてもかまわないか。

MediaWiki のソースをウェブサーバでアクセスできる位置に置く。ウェブサーバのプロセスのオーナに書きこみ権限を与える必要はないようだ。また,PHP スクリプトを実行できるようにする。
$ mv -i mediawiki-1.18.2 ~/www/root/doc/w/
$ echo AddHandler php5-script .php > ~/www/root/doc/w/.htaccess
あとはソースのトップにある index.php にブラウザでアクセスすると,そこのリンクからブラウザ上で残りの設定ができる。最後に設定ファイルがダウンロードできるので,それをソースディレクトリに LocalSettings.php として置く。なおダウンロードリンクを wget してもダウンロードできない。たぶん cookie か何かが必要。

で,とりあえず使えるようになった。

ログインしないと編集できない設定にしたのだが,ログインページにアカウント作成のリンクがない,と思ったらいったん管理者でログインすれば出た。そりゃそうか。

うちではページの表示に時間がかかりすぎる。ブラウザでの設定の途中に,Unicode の正規化をネイティブライブラリ intl PECL がないので PHP スクリプトでやる,だから遅いと警告が出たが,そのせいだろうか。

あとは Short URL を設定した。.htaccess(rewrite)と LocalSettings.php($wgArticlePath)を書き換える:
http://www.mediawiki.org/wiki/Manual:Short_URL
http://www.mediawiki.org/wiki/Manual:Short_URL/Apache

update : 2012/04/21 (Sat) 16:09:30