今回はとてもスムーズに進みました。
一応いつものごとく作業手順をメモっておきます。
前回の手順(過去記事「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 |