インストール直後に行うMediaWikiシステム設定の調整。
目次 |
(MediaWiki)バックアップとリストアのdumpBackup.phpツールを使って、移行元サーバから記事のテキストデータをバックアップし、移行先サーバにリストアすればよい。 この方法では、画像などの「ファイル空間」のデータは移行されない。MediaWikiのバージョンが同じであればimagesディレクトリを丸ごとコピーすれば良いようだが、そうでない場合はファイルを1個ずつ再登録していく必要がある。
$IP/includes/DefaultSettings.phpの設定をオーバーライドする。
## permissions override $wgGroupPermissions['*' ]['createaccount'] = false; #$wgGroupPermissions['*' ]['read'] = true; $wgGroupPermissions['*' ]['edit'] = false; $wgGroupPermissions['*' ]['createpage'] = false; $wgGroupPermissions['*' ]['createtalk'] = false;
詳細はmw:Manual:$wgGroupPermissions/jaおよびmw:Manual:User rights/ja参照。
## default timezone $wgLocaltimezone = "Asia/Tokyo"; $wgLocalTZoffset = date("Z") / 60;
Googleで検索すると、3600で割るという例も書かれているが、MediaWikiの1.7以降では秒ではなく分単位となっているため、60で割ればよい。mw:Manual:$wgLocalTZoffset/ja参照。
## To enable image uploads, make sure the 'images' directory ## is writable, then set this to true: $wgEnableUploads = true; $wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg' );
アップロードできるファイルの拡張子は、デフォルトではここに示したようなものになっている。zip,lzh,gz,cabなどの圧縮ファイルをアップロードしたい場合は、ここに追加すればよい。なお、アップロードが禁止されたファイル拡張子の配列 $wgFileBlacklist や、MIMEタイプの配列 $wgMimeTypeBlacklist についてもDefaultSettings.phpでの指定を確認すること。(基本的に、htmlファイル、php,cgi等のサーバ実行ファイル、exeなどのWindows実行ファイル等が禁止リストに列挙されている)
詳細はmw:Manual:$wgEnableUploads/jaやmw:Manual:$wgFileExtensions/jaなどを参照。
$wgAllowExternalImages = true;
$wgAllowImageTag = true;
$wgAllowDisplayTitle = true; $wgRestrictDisplayTitle = false;
$wgDefaultSkin = 'my_skin';
スキンの定義ファイルで、$this->skinname = 'My_Skin'; と定義されているところのスキン名を全て小文字にして指定する。詳細はmw:Manual:$wgDefaultSkin/ja参照。
$wgUseFileCache = true; $wgFileCacheDirectory = "$IP/cache"; $wgShowIPinHeader = false;
この設定のように、同時に非ログオンユーザの「IPアドレス表示」を無効にする必要がある。
$wgCacheEpoch = max( $wgCacheEpoch, gmdate( 'YmdHis', @filemtime( __FILE__ ) ) );
こうすることで、LocalSettings.phpを書き換えた場合に強制的なキャッシュクリアを忘れても自動的にキャッシュがクリアされるようになる
bin, cache, docs, extentions, includes, languages, maintenanceなど、外部からアクセスする必要の無いディレクトリのother,groupアクセス権限を削除する。
他のサーバのMediaWikiを移行してくる場合は、InterWikiキーワードのDBをコピーする。
RSSフィードの記事リンクは標準で次のような形式になっている
<entry> <id>http://www.example.com/index.php?title=Topic-Title&diff=562&oldid=174</id> <title>Topic-Title</title> <link rel="alternate" type="text/html" href="http://www.example.com/index.php?title=Topic-Title&diff=562&oldid=174"/> <updated>2012-01-21T11:44:22Z</updated> </entry>
diff=nnn
とoldid=nnn
を消すため、$IP/include/ChangesFeed.phpの中の1箇所を修正する。
if ( $obj->rc_this_oldid ) { $url = $title->getFullURL( // 'diff=' . $obj->rc_this_oldid . // '&oldid=' . $obj->rc_last_oldid ); } else { $url = $title->getFullURL(); }
なお、変更後に結果が反映されるまで、最大24時間掛る。これは、global $messageMemc;
のキャッシュが$expire = 3600 * 24;
の期間だけ持続するからだ。一時的にキャッシュを無効にして結果を確認するには、(MediaWiki1.18では)129行目のreturn $messageMemc->get( $key );
を阻止すればよい。
標準設定では本文とカテゴリの間に、次のようなコメントが自動的に挿入されている。
<!-- NewPP limit report Preprocessor node count: 2/1000000 Post-expand include size: 6/2097152 bytes Template argument size: 0/2097152 bytes Expensive parser function count: 0/100 --> <!-- Saved in parser cache with key server_:pcache:idhash:1-0!1!0!!ja!2 and timestamp 20090212105643 -->
このデバッグ用コメントを消すために、次の2箇所を変更する。
$IP/includes/parser/Parser.php の一部分をコメントアウト。
$limitReport = "NewPP limit report\n" . "Preprocessor node count: {$this->mPPNodeCount}/{$this->mOptions->mMaxPPNodeCount}\n" . "Post-expand include size: {$this->mIncludeSizes['post-expand']}/$max bytes\n" . "Template argument size: {$this->mIncludeSizes['arg']}/$max bytes\n". $PFreport; wfRunHooks( 'ParserLimitReport', array( $this, &$limitReport ) ); # $text .= "\n<!-- \n$limitReport-->\n";
$IP/includes/parser/ParserCache.php の一部分をコメントアウト。
$parserOutput->mTimestamp = $article->getTimestamp(); # $parserOutput->mText .= "\n<!-- Saved in parser cache with key $key and timestamp $now -->\n"; wfDebug( "Saved in parser cache with key $key and timestamp $now\n" );