2005年02月05日

PukiWIki1.4.5への入れ替え

こっちでも触れてなおかつhenoheno氏からコメントまでいただいてしまいましたが、今一度自分的PukiWiki入れ替え方なんかをまとめてみます。

とりあえず、私の入れ替え方針としては、

  • 極力正式版に近い状態を維持
    • 手抜きをして穴を残して攻撃されるのが最悪のシナリオ
    • 他サイトで便利なHackが掲載されたときに簡単に適用できるようにするため
  • 自力Hackを多用しているので、入れ替えではなくpatchを利用して差分を極力自動マージする
の二つ。

特に今回は、一番改造&利用頻度が多いWikiを近々別の人に管理委任することになるため、改造を維持しつつ最新版に極力近づけておかないといけないと言うことで気合い入れての作業をなりました。

まず、こっちの要領でバージョン間差分ファイルを作ってPatch当てします。
なおその際に、

  • 確実にエラータを当てているなら、旧バージョンの正規版ファイルにもエラータを当てておく
  • cacheディレクトリのrecent.datは両バージョンからも削除しておく
と、その後の作業が若干楽になります。

あと、パッチの当てかたによってはパーミションが666になっていたファイルの一部が644になりますので、インストールマニュアルに従ってうまいことパーミッションを修正してください。

で、Patch当てすると

  1. wiki以下のいくつかのファイル
  2. pukiwiki.ini.php
  3. skin以下のいくつかのファイル
  4. 自力でハックしたファイル
辺でちゃんとパッチ当てができずバックアップファイル(「*~」や「*.orig」)と「*.rej」ファイルが作成されると思います。

上記のうち、1はWikiの内容部分でリジェクトされた分は削除しても動作に問題ない物だけですので、バックアップファイルも「*.rej」も消しちゃって問題ないと思います。

2・3でリジェクトされたと言うことはデフォルトの書式が変わったと言うことなので、バックアップファイルを参考にして最新の正式版のテンプレを書き直し→動作確認→確認できたらバックアップファイル・「*.rej」の削除でいいかと思います。

4は正式版にがんばって再ハックしましょう(笑)

あと、バイナリファイル(おもに画像かな)はdiffでは変更されませんので、自力で移動や追加削除する必要があります。

今のところ、これで4サイトともうまく動いているので、まぁ、大丈夫なんじゃないかと思います。

あと、自分が行ったハックって忘れやすいんで、ハックをしたらWikiの中にどういうハックを行ったのか書いておくと良さそうです。
(と言うわけで管理委任するWikiでは今Hack内容のドキュメント化をがんばってます(^^;)

あと、今回入れ替えたら一つのサイトで時々

Parse error: parse error, unexpected '$', expecting T_VARIABLE in /var/www/html/lib/convert_html.php on line 350
なんて言うエラーがでるようになって焦りましたが、どうもApache2自体が不安定になっていたようで、Apache再起動することでちゃんと動作するようになりました。
同じ障害がでた人がいたらApacheを立ち上げ直してみることをおすすめします。

Posted by Takuchan at 2005年02月05日 17:23 | トラックバック(0)