印刷用表示へ切り替え 通常表示へ切り替え 更新履歴を表示 更新履歴を隠す
Linux PukiWiki を 1.4.6 に移行

PHP に脆弱性が発見されたので,PHP を利用する PukiWiki をアップグレードする必要が出てきた。現在の最新版 PukiWiki 1.4.6 をインストールし,データを移行する。

■ ■ ■

PHP 5.0.5 以下に脆弱性が発見された(yohgaki's blog - PHPの現行リリースに重大な脆弱性(PHP4.4.0以下、PHP5.0.5以下))。そのため,先日 (nlog(n): 特定のパッケージだけを apt-get でアップグレード) のように,「PukiWiki が動かなくなるから PHP は 5.0.3 のままでいいや」という訳にはいかなくなってしまった。しかし,PukiWiki 1.4.5_1 は PHP 5.0.5 では動作しない (nlog(n): PukiWiki 1.4.5_1 が PHP 5.0.5 で 致命的エラー)。PukiWiki の最新版 1.4.6 は PHP 5.0.5 で動作する。PHP 5.0.5 のフィックスでも恐らく問題ない。そこで,PukiWiki 1.4.5_1 を PukiWiki 1.4.6 にアップグレードすることにした。

PukiWiki/インストール/1.4系列-1.4.4以降 - PukiWiki-official を読むと,CVS による便利な移行方法があるようなのだが,よく分からない。仕方ないので,手動で「ダー!」とやることにした(「ダー」は単に気合を表わしている)。

環境は Vine Linux 3.2,Apache 1.3.33 である。PukiWiki に関しては,パッケージを展開したディレクトリに wiki というシンボリックリンクを張ってあり,PukiWiki にはこの wiki というディレクトリ名でアクセスするようにしている。こうしておけば,シンボリックリンクを張りなおすだけで移行ができる。

移行の概要は次の通り。

  1. 最新版である PukiWiki 1.4.6 をダウンロードして展開
  2. 現在の PukiWiki 1.4.5_1 のデータを 1.4.6 にコピー
  3. wiki のシンボリックリンクを pukiwiki-1.4.5_1 から pukiwiki-1.4.6 に張り替え

実際の作業は次のようになった。

  1. PukiWiki のインストールしてあるディレクトリの親ディレクトリに移動する
  2. ディレクトリ内容を確認する (pukiwiki-1.4.5_1 という実体に wiki というシンボリックリンクが張ってある)
    # ls -la
    drwxr-xr-x   13 apache   apache       4096 Sep  7 11:00 pukiwiki-1.4.5_1
    lrwxrwxrwx    1 apache   apache         17 Aug 23 16:33 wiki -> pukiwiki-1.4.5_1
  3. バックアップを今日の日付をつけてとる
    # tar zcf pukiwiki-1.4.5_1.20051105.tar.gz ./pukiwiki-1.4.5_1
  4. 最寄のサイトから PukiWiki 1.4.6 をダウンロードする (サイトは PukiWiki/Download/1.4.6 - PukiWiki-official から選択できる)
    # wget http://osdn.dl.sourceforge.jp/pukiwiki/15430/pukiwiki-1.4.6.tar.gz
  5. ファイルを展開する
    # tar zxf pukiwiki-1.4.6.tar.gz
  6. オーナーとグループを apache に変更する
    # chown -R apache.apache .
  7. ディレクトリ内容を確認する (バックアップファイルや新しくできたディレクトリが見える)
    # ls -la
    drwxr-xr-x   13 apache   apache       4096 Sep  7 11:00 pukiwiki-1.4.5_1/
    -rw-r--r--    1 apache   apache     560235 Nov  5 13:59 pukiwiki-1.4.5_1.20051105.tar.gz
    drwxr-xr-x   14 apache   apache       4096 Nov  5 14:10 pukiwiki-1.4.6/
    -rw-r--r--    1 apache   apache     280671 Nov  5 12:06 pukiwiki-1.4.6.tar.gz
    lrwxrwxrwx    1 apache   apache         17 Aug 23 16:33 wiki -> pukiwiki-1.4.5_1/
  8. データを新しい PukiWiki にコピーする (「上書きしますか」と訊かれたら「yes」と入力)
    # cp -r pukiwiki-1.4.5_1/attach pukiwiki-1.4.6
    # cp -r pukiwiki-1.4.5_1/backup pukiwiki-1.4.6
    # cp -r pukiwiki-1.4.5_1/cache pukiwiki-1.4.6
    # cp -r pukiwiki-1.4.5_1/diff pukiwiki-1.4.6
    # cp -r pukiwiki-1.4.5_1/trackback pukiwiki-1.4.6
    # cp -r pukiwiki-1.4.5_1/wiki pukiwiki-1.4.6
  9. 設定ファイルを自サイト用に書き換える
    # vi pukiwiki.ini.php
  10. その他カスタマイズしたファイルを参考に,新バージョンのファイルを編集する(編集したファイルはオリジナルファイルに .org 拡張子をつけておくと見つけやすい)
    # find . -name "*.org" -print
    ./plugin/attach.inc.php.org
    ./skin/pukiwiki.skin.php.org
    ./skin/pukiwiki.css.php.org
    ./pukiwiki.ini.php.org
  11. 「wiki」という名前のシンボリックリンクを,古いディレクトリから新しいディレクトリに張り替える
    # rm wiki
    # ln -s pukiwiki-1.4.6 wiki
    # ls -la wiki
    lrwxrwxrwx    1 apache   apache         14 Nov  5 14:11 wiki -> pukiwiki-1.4.6/
  12. ベーシック認証を行っている場合は,.htaccess を編集する
    # vi wiki/.htaccess
  13. Web ブラウザでアクセスして PukiWiki の動作を確認する

PukiWiki の移行はこれで完了。PHP を 5.0.3 から 5.0.5 (まだフィックスされていない版) にアップグレードして動作を確認する。

# apt-get update; apt-get upgrade
# /etc/init.d/httpd restart

後は PHP 5.0.5 の脆弱性フィックス版が出たらすぐにアップグレードすればいいだけである。

2005年12月11日追記:
上記の脆弱性がフィックスされた PHP 5.1.1 の Vine Linux 版が出ました。

Posted by n at 2005-11-05 22:20 | Edit | Comments (0) | Trackback(1)
Trackbacks

  • 「手違いで複数トラックバックを送ってしまった!」という場合でも気にしないでください (重複分はこちらで勝手に削除させていただきます)
  • タイムアウトエラーは,こちらのサーバの処理能力不足が原因です (詳細は トラックバック送信時のエラー をご覧ください)
  • トラックバックする記事には,この記事へのリンクを含めてください(詳細は 迷惑トラックバック対策 をご覧ください)
FreeBSD memo
DHCP FreeBSD 4.5R のPCを DHCP クライアントにする方法を記します。 /etc/rc.conf を開いて、使用しているデバイスの設定に dhcp という文字列に設定します。 mico# cat rc.conf #ifconfig_fxp0="inet 192.168.0.7 netmask 255.255.255.0" ifconfig_fxp0=&... Trackbacked from: PukiWiki Plus! (PukiWiki/TrackBack 0.3) at April 13, 2006 13:59
Comments
Post a comment
  • 電子メールアドレスは必須ですが,表示されません (気になる場合は「メールアドレスのような」文字列でもOKです)
  • URL を入力した場合はリンクが張られます
  • コメント欄内ではタグは使えません
  • コメント欄内に URL を記入した場合は自動的にリンクに変換されます
  • コメント欄内の改行はそのまま改行となります
  • 「Confirmation Code」に表示されている数字を入力してください (迷惑コメント対策です)


(必須, 表示されます)


(必須, 表示されません)


(任意, リンクされます)


Confirmation Code (必須)


Remember info (R)?