leglog

雑記にも満たない

さくらのレンタルサーバにMediaWikiを導入のまとめ

個人用のWikiをpukiwikiからMediaWikiに変えようと思い、ひと通り使えるように環境構築した。
CMSだしそんなに手間はかからないだろうと思っていたら、texやエラーで案外手間取ってしまったのでメモ。

環境

共用サーバなので、下3つは元々準備済み。PHPのバージョンを変えてる人は再設定する必要がある。
CUIの方法が多く情報として出ているが、初心者なのでなるべくGUIからやってみる。

1.色々とダウンロード

2.MySQLのDBを作成

さくらのサーバコントロールパネルを開き、「データベースの設定」→「データベースの新規作成」
verionは5.5、データベース名は適当に決め、文字コードUTF-8を選択しておく。
サーバ、ユーザ名、パスワード、データベース名は後の手順で使うのでページを開いておくかメモしておく。

3.MediaWiki配置

先程DLしたMediaWikiのファイル群をサーバ上に置く。アクセス権は755。userが自分のユーザ名になってるか確認。
基本そのままで大丈夫だが、FTPクライアントによってアクセス権を書き換えられている可能性もあるため、一応確認しておく。
また、私はCoda2を使って解凍済のものをアップロードしたが、その際maintenanceフォルダ周辺で原因不明のエラーが発生した。
固有の環境問題だと思うが、このフォルダはスキップされていないか特に注意した方がいい。

4. .htaccessの配置

現環境だとimagesフォルダにアップロードが効かないらしいので.htaccessでアクセス権を部分的に書き換えたりもにょもにょする。
imagesフォルダの中に .htaccess を新規作成し、その中に以下を書き込む。

<ifModule rewrite_module>
	RewriteEngine On
	RewriteCond %{QUERY_STRING} .[^\/:*?x22<>|%]+(#|?|$) [nocase]
	RewriteRule . - [forbidden]
</ifModule>

AllowOverride None
AddType text/plain .html .htm .shtml .php
php_admin_flag engine off

5. MediaWikiインストール

ブラウザからmw-config/index.phpにアクセスし、インストール作業を行う。
途中データベースのホストと名前を聞かれるので、2.で作ったデータを入力。
データベースの種類はInnoDB,バイナリを選択。「インストールのために同じアカウント…」はチェックを入れる。
ユーザー等の設定項目をひと通り終えたらインストールも可能だが、ここでは念のため更に続行を選択。
後はプラグイン等の設定があるがプラグインに全てチェックを入れておく。使うかもしれないし。
これでインストールを実行する。途中一度だけ止まるがそのまま続行ボタンを押すとインストール完了画面になる。

6.ヘルプファイルのインポート

なぜか分からないが、MediaWikiの初期状態ではヘルプファイルが空の状態になっている。
そこで、MediaWiki公式ページからこれを引っ張って来ることにする。

まずMediaWiki公式のエクスポートページに行き、四角の大きなテキストボックスに以下を入力後、Exportボタンを押す。

Help:Contents/ja
Help:Navigation/ja
Help:Searching/ja
Help:Tracking_changes/ja
Help:Editing/ja
Help:Editing_pages/ja
Help:Starting_a_new_page/ja
Help:Formatting/ja
Help:Links/ja
Help:Talk_pages/ja
Help:Categories/ja
Help:Images/ja
Help:Subpages/ja
Help:Templates/ja
Help:Tables/ja
Help:Variables/ja
Help:Managing_files/ja
Help:Moving_a_page/ja
Help:Redirects/ja
Help:Deleting_a_page/ja
Help:Preferences/ja
Help:Skins/ja
Help:Namespaces/ja
Help:Range_blocks/ja
Help:Special pages/ja
Help:External searches/ja
Help:Patrolled edits/ja
Help:User_page/ja
Category:Help/ja
Template:PD_Help_Page
Template:PD
Template:Mediawiki
Template:Admin_tip/ja
Template:Hl2
Template:Hl3
Template:Thankyou
Template:Languages
Template:Languages/Lang
Image:Example.jpg
Image:Geographylogo.png
Image:PD-icon.svg
Image:PD-Help icon.png
Image:Tools.svg
Image:M-en-sidebar.png
Image:M-en-userlinks.png
Image:M-en-pagetabs.png
Image:M-en-recentchanges.png
Image:M-en-interwiki lang.png

xmlファイルが出力されるので、今度はそれを自分のMediaWikiのインポートページからインポートする。
日本語だとURLが変わってしまっているので、Wikiのトップページから「特別ページ」→「ページファイルの取り込み」と進むと見つかるはず。

インポートが完了しても、ヘルプファイルの目次とURLが違うため、表に出てこない。
そこで、Help:Contents/jaページで右上の▼マークから、「移動」を選び、新しいページ名に「ヘルプ」(セレクトボックス)と「目次」(フリー入力)と入力し、「ページを移動する」をクリック。
これでツールバーのリンクからヘルプ一覧にアクセスできるようになる。

7.MathJax有効化

wikiフォルダの中のextensionsにMathJaxを置き、LocalSetting.phpに以下を追記して拡張へのフックをかける。
ついでにMediaWikiの1.19.*だとバグがあるらしいので、キャッシュを無効化して対処する。

$wgParserCacheType = CACHE_NONE;
require_once( "$IP/extensions/MathJax/MathJax.php" );

これで数式も表示されるようになった。
ここまで来たら一度MediaWikiのコードにリフレッシュをかけておくと吉。

[root@root]# php /var/www/html/wiki/maintenance/update.php --quick

拡張の紹介ページに実例が載っているので、適当なページで試してみると良い。