いろいろ事情があって MediaWiki を 1.28.0 に上げた.実際には git の REL1_28
.以下メモ.
-
gitを使ってdownload/installする方法は https://www.mediawiki.org/wiki/Download_from_Gitを参照.
git clone https://gerrit.wikimedia.org/r/p/mediawiki/core.git
で取り出してREL1_28
のブランチを checkout する.extension/
やskins/
は空で,vendor/
は存在しないので,個別に clone するか git submodule add する (同様に同じリモートブランチ名REL1_28
のブランチを checkout する).今回はなんとなく submodule にした.vendor/
を使わずにComposer なるもを使うこともできるらしいが,ややこしそうだったので,単に vendor/ を submodule add することにした.
-
CirrusSearch が
REL1_28
では v2.x の Elasticsearch を要求する(2.3.3推奨).Elasticsearch は jessie backports でも 1.6.2+dfsg-1~bpo8+1 なので,https://www.elastic.co/guide/en/elasticsearch/reference/2.4/setup-repositories.html を参照しつつ本家の debian package を install する(なんとなく2.4.4にしたが動いている).- ちなみに Elasticsearch だが,Version が 2.4 の次は 5.0 に飛んで,5.x の場合は JDK 8 が要求される(2.4 は JDK 7 で動く; openjdk-7-jre で動作確認).
-
images と cache の directory の owner/mode を調整して,images については以前のデータを copy しておく.
-
LocalSettings.php 調整.
-
Elasticsearch の index 生成(?)をする.https://phabricator.wikimedia.org/diffusion/ECIR/browse/master/README参照.
Elasticsearchだが,今回色々混乱して色んなバージョンが混ざった状態に一瞬なってしまい,Elasticsearchが保持するデータ(/var/lib/elasticsearch/
にある)を一旦まるごと削除した.以下のような感じ.
sudo /etc/init.d/elasticsearch stop
sudo rm -rf /var/lib/elasticsearch/*
sudo rm -rf /var/lib/elasticsearch/.* (dot で始まるものがあれば)
sudo /etc/init.d/elasticsearch start
LocalSettings.phpだが,
$wgCacheDirectory = "$IP/cache";
などと明示的に $wgCacheDirectory を指定しないと以下のようなエラーが出たような気がする(default の設定がなくなった?).
LCStoreCDB.php: Unable to move the new CDB file into place.