2008年11月26日

お知らせ:Mediawikiバージョンアップ(1.11.0→1.13.2)作業終了

予告通り、今日10:00からウィキクックレシピ(WikiCookRecipe)−みんなのレシピ みんなで料理−で、Mediawiki のバージョンアップ(1.11.0→1.13.2)を行い、無事終了いたしました。ご協力ありがとうございました。
今回はとてもスムーズに進みました。

一応いつものごとく作業手順をメモっておきます。
前回の手順(過去記事「Mediawiki のバージョンアップ、無事終了!」参照)を殆ど踏襲していますが、若干異なるところもあります。

(1)ウィキクックレシピ(WikiCookRecipe)−みんなのレシピ みんなで料理−のトップページにバージョンアップ作業のアナウンスを出します。開始時刻、期間、書き込みできないこと、閲覧も時々できなくなること。

(2)開始時刻になったら、一般ユーザの書き込み禁止に設定を変えます。アップロードも禁止。具体的には、LocalSettings.phpで以下のように。

$wgGroupPermissions['user']['edit'] = false;
$wgGroupPermissions['user']['upload'] = false;

手持ちの一般ユーザアカウントで、書き込みもアップロードもできないことを確認。

(3)ファイル一式とデータベースをバックアップ
システムファイル一式をtar.gzでかためてバックアップをとります。

tar -cvzf wiki.tar.gz wiki/

さくらのphpmyadminのエクスポート機能で、テーブル全部をSQLファイルにバックアップ(具体的なやり方は過去記事「Mediawikiの移植(さくら→ローカル)」を参照)。
ただし、エクスポートの設定は以下のようにします。

・・「エクスポート」の下の窓に、対象データベースのテーブルが全て表示されていることを確認

・・「全選択」をクリック

・・エクスポート先のファイルの種類:SQLを選択(デフォルト)

・・「構造」にチェック(デフォルト)

・・「DROP TABLEを追加」にチェック

・・「IF NOT EXISTSを追加」にチェック

・・「AUTO_INCREMENT値を追加する」にチェック(デフォルト)

・・「テーブル名やフィールド名を逆クォートで囲む」にチェック(デフォルト)

・・「データ」にチェック(デフォルト)

・・「完全な INSERT 文を作成する」にチェック(デフォルト)

・・「長い INSERT 文を作成する」にチェック(デフォルト)

・・「生成するクエリの最大長」を 50000(デフォルト)から 100 に変更 *!

・・「INSERT IGNORE を使用する」にチェック

・・「バイナリフィールドは 16 進数を使用する」にチェック(デフォルト)

・・エクスポート形式:INSERTを選択(デフォルト)

・・「ファイルで保存する」にチェック

・・「ファイル名のテンプレート」ボックスに好きな名前を記入

・・圧縮:無しを選択(デフォルト)

・・エンコーディング:nonを選択(デフォルト)

*! 部分が前回から変わった部分です。この値を小さくしておかないと、いざという時にデータベースを復活させようとしても BigDump がうまく動いてくれません(過去記事「MySQLインポートファイルがでかすぎる時には BigDump を使ってみよう!」参照)。

(4)Mediawiki1.13.2を上書きコピー
Mediawiki-1.13.2.tar.gz をさくらにアップロード。

gzip -d Mediawiki-1.13.2.tar.gz
tar -xvf Mediawiki-1.13.2.tar

で解凍展開します。

cp -f -r -p Mediawiki-1.13.2/* wiki

で、旧ウィキファイルに上書きコピー。
(上書きですよ、上書き! 古いのを消しちゃいけませんよ。古いのを消さないままで上書きですよ!)

(5)アップデート・スクリプトを動かす
wiki直下で

cp AdminSettings.sample AdminSettings.php

AdminSettings.phpの中の$wgDBadminuser、$wgDBadminpasswordにそれぞれデータベースのID、パスワードを設定します(ついでにchmod 600 なんてしておくとちょっぴり安心かもしれません)。
maintenace の下に移動して、

php update.php

これは前回とっても時間がかかりましたが、今回は早かった。バージョンの差が少なかったせい?
アップデイト・スクリプトが終了したら、ウィキクックレシピ(WikiCookRecipe)−みんなのレシピ みんなで料理−がきちんと表示されているかどうかを確認します。特別ページ→バージョン情報もチェック。ちなみにバージョンアップ後の状態は、

Mediawiki1.13.2
PHP5.2.6
MySQL4.0.27

(特別ページの体裁が変わっていて、ちょっとびっくり!)

(6)カスタマイズ変更を新しいファイルに組み入れる
今回変更したのは、次の三つ。
・・skins/MonobBook.php・・・これはページ出力のコーディングが書かれていますから、広告を入れたりなんだでだいぶ変えています。
・・includes/specials/SpecialPreferences.php・・・以前のバージョンのincludes/Special***.php は殆ど includes/specials というディレクトリの下に移動しています。このソースでは、外装をMonobookに限るという変更をしています。
・・languages/messages/MessagesJa.php・・・bookstorelist に Amazon の設定を入れています。

(7)不要ファイルなどの削除
AdminSettings.php を削除。config ディレクトリも削除。
このへんで一回ファイル一式、データベースともにバックアップをとっておきます。

(8)書き込み制限を解除
(2)での LocalSettings.php に加えた変更を元に戻します。

(9)終了のお知らせ
バージョンアップ作業終了のお知らせをトップページに出します。ここで、最終的なバックアップ(ファイル一式、データベース)をとります。

以上。

確認作業など行いましたが、おかしなところがありましたら、このブログのコメントにでも是非ご連絡下さい。
最初エラー表示が出ることもありますが、キャッシュクリア(シフトキーを押しながら更新ボタンなど)をしていただければ、正常に表示されるようになると思います。

さあ、これで、頻発していたデータベースエラーがおさまってくれればいいんだけれど・・・。

ウィキクックレシピ(WikiCookRecipe)−みんなのレシピ みんなで料理−は、みんなで食材情報やレシピを投稿したり、閲覧したりするサイトです。ユーザ登録は無料、お気軽にご参加下さい。閲覧の仕方、投稿の仕方が分かりづらいなどありましたら、このブログに是非その旨コメント下さい。回答するとともに、少しずつでも使いやすく改善していきたいと思っています。

ウィキクックレシピ(WikiCookRecipe)−みんなのレシピ みんなで料理−11月25日のデータ

登録ユーザ数:24
食材ページ数:692
食品成分ページ数:1
レシピ数:28
新着食材ページ:無し
新着食品成分ページ:無し
新着レシピ:無し

この記事は、次のトラックバック・コミュニティにトラックバックしています。各コミュニティには、テーマに沿ったいろんな人のブログ記事が集まっています。興味のある方は覗いてみて下さい。
にほんブログ村 トラコミュ Mediawikiへ
 Mediawiki 

 
 
 
posted by WCR管理人 at 12:16 | Comment(0) | TrackBack(1) | Mediawiki
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.seesaa.jp/tb/110213287
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック

SMW&SFインストール作業メモ
Excerpt: 昨日、お知らせいたしましたように、ようやくウィキクックレシピ(WikiCookRecipe)−みんなのレシピ みんなで料理−へのSMW(SementicMediaWiki)、SF(SemanticFo...
Weblog: WikiCookRecipe日記
Tracked: 2009-02-25 12:02