MediaWikiの方もバックアップを取ってくれないと困る…という話に…まぁ、PostgreSQL からダンプしとけばいいだけの話なんだけどさ…。こいつは Mediawiki-1.10.1 + PostgreSQL 8.1 の構成で、さっさとPostgreSQL 8.3 に上げたいのだ。で、見つけたのがここ。喜び勇んでやったけど、世の中そんなに甘くない。
環境は、ubuntu上で、apt-get install mediawiki した。
wikidb-data.sql をインポートする段階で、不正な UTF-8 のコードエラーになった。試行錯誤の上、セキュリィティ対策でコマンドからは UTF-8 のコードが流せないらしい事がわかり、pgAdmin3 から実行するために、データのダンプは
$ pg_dump --host=hoge --username=fuga --password -a -d -n mediawiki wikidb > wikidb-data.sql
とした。それにプラスして、textsearch_ja も入れておく事に…(作業はUbuntu上です)
$ apt-get install mecab
$ apt-get install mecab-ipadic
$ apt-get install libmecab-devel
$ /usr/lib/mecab/mecab-dict-index -d /usr/share/mecab/dic/ipadic -o /var/lib/mecab/dic/ipadic -f euc-jp -t utf-8 -p
で、textsearch_ja の Makefile を一部コメントアウトしました
#ifdef USE_PGXS
PG_CONFIG = pg_config
PGXS := $(shell $(PG_CONFIG) --pgxs)
include $(PGXS)
#else
#subdir = contrib/textsearch_ja
#top_builddir = ../..
#include $(top_builddir)/src/Makefile.global
#include $(top_srcdir)/contrib/contrib-global.mk
#endif
インストールは、make と make install と textsearch_ja.sql を実行するという事で…。
これにプラスして、以下のsqlを事前に実行
CREATE FUNCTION int4text(int4) RETURNS text AS
'SELECT textin(int4out($1));'
LANGUAGE sql STRICT IMMUTABLE;
CREATE CAST (int4 as text)
WITH FUNCTION int4text(int4) AS IMPLICIT;
CREATE FUNCTION mediawiki.rank(tsvector, tsquery, integer)
RETURNS real AS
'SELECT pg_catalog.ts_rank($1,$2,$3);'
LANGUAGE sql;
CREATE TEXT SEARCH CONFIGURATION mediawiki.default
(COPY = pg_catalog.japanese);
これだけやって、ようやくデータの引越しが終わったが、ここからが脱力Showの始まりだ。
php update.php でエラーになるザンス。hasConstraint が無い。あーそうですか… /usr/share/mediawiki/includes/DatabasePostgres.php にリポジトリからもってきて以下の関数を加えればいいんでしょ。
function hasConstraint( $name ) {
global $wgDBmwschema;
$SQL = "SELECT 1 FROM pg_catalog.pg_constraint c, pg_catalog.pg_namespace n WHERE c.connamespace = n.oid AND conname = '" . pg_escape_string( $name ) . "' AND n.nspname = '" . pg_escape_string($wgDBmwschema) ."'";
return $this->numRows($res = $this->doQuery($SQL));
}
しかしだ…しかし…。upgrade DONE... しても、Mediawiki はセットアップ画面になる。こちらを実行してもアップグレードになるので、セットアップを継続してみたが、tsearch2 がインストールされていないと文句をたれる。
あー、わかりましたとも、PostgreSQL8.3 から tsearch2 は標準になったけど、apt-get できるバージョンは、これを考慮していないんですね?ハイハイ、最新のmediawikiをダウンロードして、アップグレードしましょう。
これで、どうだーーーーーー!!!!!!
どうだーーーーー!!!!
インストールに成功しました!!!!やったーーーー!!!
どれどれ、アクセス・・・ん???
Could not determine the numeric version from !
・・・
そして、こんな情報をみつけた。こりゃ、まだまだ時期尚早のようで…。
0 件のコメント:
コメントを投稿