MediaWiki
MediaWikiをインストールした。PHPが古かったので、1.6.12。
セットアップ中、次のエラーが、
failed with error code "Specified key was too long; max key length is 1024 bytes
http://www.mediawiki.org/wiki/Manual:Errors_and_Symptoms/ja
に従い、
maintenance/tables.sqlで、KEY (job_cmd, job_namespace, job_title)を
KEY (job_cmd(160), job_namespace, job_title(160))で置き換え。
(テーブルドロップが面倒だったので)
プレフィックスを変更して、リトライ。成功。
生成されたconfig/LocalSettings.phpをトップに配置し終了。
トップのロゴは、LocalSettings.phpの$wgLogoで変更可
##$wgLogo = "$wgStylePath/common/images/wiki.png";
$wgLogo = "$wgStylePath/common/images/mediawiki.png";
ん?
メインページを更新できない。。エラーメッセージ。
"Article::insertOn". MySQL returned error "1062: Duplicate entry '0-' for key 2
LocalSettings.phpに、
$wgShowSQLErrors=true;
を加えてSQLを見ると、mw_pageテーブルのname_titleキーでこけたらしい。
page_namespaceフィールドでこけたらしい。
このキーはpage_namespaceとpage_titleの2つのフィールドから
なってるみたいだけど、page_titleで日本語が通ってなかったためみたい。
日本語を通す方法を調べるよりは、英語のまま使った方が手っ取り早いだろうと考え、(面倒がらずに)テーブルとLocalSettings.phpを削除して、設定をやり直したら、大丈夫だった。
んん?
ユーザのPreference(日本語だとオプション)で、
インターフェース言語を変更できた。
あれれ、そっか、日本語名のページを使えないから、問題あるな。
やはりSQLで日本語を通せるようにしなきゃいかんね。
文字コード設定する変数調べてみよう。
その後、いろいろと試したところ、どうにかできるようになった。ふー。
1. mysqlデータベースのデフォルトの文字セットをutf8に変更
ALTER DATABASE `db4wiki` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci
2. MediaWikiのトップディレクトリの.htaccessに以下を追加。
php_value mbstring.detect_order auto php_flag mbstring.encoding_translation On php_value mbstring.http_input auto php_value mbstring.http_output UTF-8 php_value mbstring.internal_encoding UTF-8 php_value mbstring.language Japanese
※LocalSettings.phpの
$wgEditEncoding = "UTF-8"; $wgInputEncoding = "UTF-8"; $wgOutputEncoding = "UTF-8";
などでは、変化がなかった。。
3. 最初の設定時に、"Experimental MySQL 4.1/5.0 UTF-8"を選択、
cmd_jobは、"maintenance/mysql5/tables.sql"を修正。
これで、LocallSettings.phpの$wgDBmysql5が有効になり、
# Experimental charset support for MySQL 4.1/5.0. $wgDBmysql5 = true;
include/Database.phpの↓で、SET NAMES utf8を実行する。
global $wgDBmysql5; if( $wgDBmysql5 ) { // Tell the server we're communicating with it in UTF-8. // This may engage various charset conversions. $this->query( 'SET NAMES utf8' ); }
"Illegal mix of collations"エラーで躓いてたんだけども、
↓が参考になった。多謝。
Ref. http://pools.jp/2007/02/18/mediawiki-install-error-utf8-xrea/