MediaWikiをGitでインストールする【#np2020】

mediawikiwiki.png

サーバの設定あれこれやアカウント情報、手順などをあれこれメモってGoogleドライブに突っ込んでいるんだけど、当初計画から変わったことや複数のファイルや場所に分散して記録されていることなどが出てきて管理が難しくなってきたので、新サーバの方にもWikiを入れました。別にGitHubのwikiを使っても良かったんだけど、記法とか制限あって量が多くなってくると管理しづらくなるのよね。それならGUIで管理出来る方がいい。


以前は「PukiWiki」を使っていたけど、今回はWikipediaでも使われている「MediaWiki」を使うようにしてみました。利用するのはほぼ僕だけなので速度や負荷はあまり考えなくて良いけれど、スキンや拡張機能が豊富でWikipediaライクなページが簡単に作れるというところがポイント。PukiWikiも便利だったんだけど、表示がちょっと独特なんだよね。どちらかというと使い慣れているWikipediaライクな感じの方が好みかな。データがファイル形式ではなくDB形式であるというのも選択の理由の1つ。データはデータとしてエクスポートできるので移行がしやすい。


記法が違うので、昔のドキュメントを移行するのに少々手こずっていますが、全体としてはかなり気に入っています。




インストール方法

MediaWikiのインストール方法については、公式ページを参考にするのが一番楽……

Manual:インストール ガイド – MediaWiki

……なのですが、最近はGitやComposerに慣れすぎて「ダウンロード、解凍、配置」という流れが若干煩わしい。なんかいい手無いのかなと思ったら、MediaWikiはGit(gerrit)でソース管理されてるんですね。関連するソースは全てここで管理されています。

Projects | gerrit.wikimedia Code Review

なので、ここでインストールしたいものを検索してgit cloneしてくれば簡単にインストール出来ます。
というわけで早速やってみましょう。



インストール

MediaWiki本体のインストール

git clone https://gerrit.wikimedia.org/r/p/mediawiki/core.git wiki

Vendorのインストール

cd wiki
git clone https://gerrit.wikimedia.org/r/p/mediawiki/vendor.git

Skinのインストール

cd ./skins
git clone "https://gerrit.wikimedia.org/r/mediawiki/skins/Vector"

Extensionのインストール

cd ../extensions
git clone "https://gerrit.wikimedia.org/r/mediawiki/extensions/MobileFrontend"


この方法の良い点は、それぞれGitで綺麗に入れられるところ。ダウンロードして解凍するバージョンが、オススメのスキンや拡張機能が一通り入ってすぐに使える仕様になっているのに対し、Gitでは単機能ごとに入れることになるので、自分の意図しないものを入れなくて済む。

逆に言えば、必要なものを全部自分で入れないといけないのが面倒なところで、特に「Vendor」(外部ライブラリ集)とか入ってないと動かないものまで入ってないとは思わなくてしばらく悩みました。ただ慣れてしまえば、

  • 「skins」「extensions」などのディレクトリに移動
  • git clone
  • LocalSettings.phpに追記

というだけですぐに試せるので便利です。アップデートするのも楽だしね。「必要なものを選ぶ」という手間が嫌いでなければオススメです。



注意:バージョンを指定したインストールについて

普通にcloneすると「最新版」がインストールされます。今時点だと安定版は「1.32.0」ですが、インストールされる「最新版」は「1.34.0-alpha」となっています。クローン後、ブランチを切り替えることでバージョンを変えられるので、適宜切り替えてください。ちなみに「vendor」を入れたあと切り替えるといろいろ不具合が出ます。その場合は「vendor」を入れ直してください。



オマケ:URLからindex.phpを削除する

インストール直後だとURLがこんな感じなんですよね。

http://exsample.com/index.php/メインページ

ちょっと微妙なのでindex.phpをなくしたい。公式的には

http://exsample.com/メインページ

こういう形は他のディレクトリ(「images」など)と被るから推奨されていなくて、代わりに推奨されているのは例えばこう。

http://exsample.com/wiki/メインページ

そういえばWikipediaもそういうURL構造になってますね。

というわけで、ここを参考に.htaccessとLocalSettings.phpを変更してやれば実現出来ます(Apacheの場合。mod_rewrite必須)。

Manual:短い URL/Apache – MediaWiki

nginxだったらこっちを参考に。

Manual:Short URL/Nginx/ja – MediaWiki