メモ。pukiwikiで、ページの中の特定の内容を一括変換するとき。

まず、wiki/をまるごとダウンロードする。ローカルでperlでも使って一括変換。サーバのwiki/をリネーム(例えば、wiki_old/)。変換処理したローカルのwiki/をアップロード(このとき、wiki/のパーミッションを777にする)。自作プラグインにあるchown.phpをダウンロードし、それをサーバにアップロード。アップロードする場所は、pukiwiki.ini.phpと同階層(つまり、wiki/の上)。chown.phpにブラウザからアクセスする。

ページ名 is successfully recreated!

というメッセージがでてくる。3500ページでもいけたみたい。とりあえず、これでファイルの所有者は変わっているはず。処理が終わったら、念のため、chown.phpを消しておく。なお、変換後はタイムスタンプが変わる。

なぜこのようなことをしたか。データを上書きでアップロードしようとしても、ファイルの所有者が異なるため、アップロードできなかった。wiki/以下のデータは、pukiwikiを使っているうちに、ファイルの所有者が、ユーザではなく、サーバになってしまう模様。リネームしただけだと、実行権限がないため、今度はページを編集することができない。借りているサーバは、telnetが使えないので、chown.phpで所有者を変える。

全てのページに対して、指定の単語を置換するプラグインもある。変換し損ねたときのことを考えると、面倒なことになりそうなので使わなかった。