PyukiWiki0.1.1をPyukiWiki0.1.5にバージョンアップ・移行する

PyukiWikiのバージョンアップ (0.1.1→0.1.5)

PyukiWikiがいつの間にか,0.1.5まで進化していた. うちは0.1.1で特に不自由なく使ってはいるが,新しいバージョンではスキンが使えたり, 整形ルールの表示内容をWikiページから引っ張ってこれるようだ.(従来は固定テキストファイル)

そこで,0.1.5へのバージョンアップを試みることにしたが, 今回はディレクトリ構成や設定の変数名が大幅に変わっており, それなりに手間がかかりました.

アーカイブは, http://nekyo.hp.infoseek.co.jp/pyuki_015.tar.gz からダウンロードした.


1.アーカイブからのコピー

アーカイブの内容を展開して,以下のディレクトリ内容をコピーする.

  • /* → / (ファイル多数追加あり)
  • /image/* → /image/ (ファイル多数追加あり)
  • /image/face/* → /image/face/ (新しいディレクトリ)
  • /lib/_Digest → /lib/_Digest/ (新しいディレクトリ)
  • /plugin/* → /plugin/ (多数更新あり)
  • /skin/* → /skin/ (新しいディレクトリ)
  • /wiki/C0B0B7C1A5EBA1BCA5EB.txt → (data_dir)/wiki/ (「整形ルール」)

(data_dir)は,旧バージョンでの$::modifier_dir_data を指します.
※ 今回,/lib/Jcodeはコピーしなかった.(Jcodeはインストール済みのため)

2.移動されたディレクトリの削除

以下のディレクトリは,別の場所に移動していたので削除する.

  • /face (移動先 → /image/face)
  • /Algorithm (→ /lib/Algorithm)
  • /Yuki → (/lib/Yuki)

3.移動されたファイルの削除

以下のファイルは,別の場所に移動していたので削除する.

  • /*.css (→ /skin/)
  • /*.js (→ /skin/)
  • (data_dir)/resource*.txt (→ /)
  • (data_dir)/conflict*.txt (→ /)

4.ファイル名の変更

今回,本体cgiのファイル名が,index.cgiに変更された.

しかし,RensaWikiでは他のページへの影響が色々と大きいため, 従来通りのwiki.cgiに戻した.

  • index.cgi → wiki.cgi

※この変更はうちのサイトの特殊事情によるものであり,通常は行うべきではありません.

5.設定ファイルの修正

以下の設定ファイルを,自分の環境に合わせて修正する

  • /pyukiwiki.ini.cgi
  • /skin/pyukiwiki.skin.ja.cgi

(1) pyukiwiki.ini.cgi

ディレクトリ設定に大幅な見直しが必要. 変数の構成が変わっており,全てのディレクトリが

  • $::data_dir (フルパス)

配下だと仮定されている. 私の場合は,旧バージョンでは

  • $::modifier_dir_data (フルパス)
  • $::modifierlink_data (URL)

を使い分けて,

  • CSSや画像は,CGI本体と同じディレクトリに格納する ($::modifierlink_data配下)
  • データは,Web不可視である /var/log/cgi/wiki/ に格納する ($::modifier_dir_data配下)

としていたので,このような構成にするには,例えば以下のように$::hidden_homeを作成して, これまで$::modifier_dir_data配下に入れて不可視としていたディレクトリ群 (data_dir, diff_dir, info_dir, counter_dir)を,その配下だと明示する.

pyukiwiki.ini.cgiから抜粋

$::data_home = '.'; # ページデータ等のディレクトリ
$::hidden_home = '/var/log/cgi/wiki'; # Web不可視のデータディレクトリ
$::data_dir    = "$::hidden_home/wiki"; # ページデータ保存用
$::diff_dir    = "$::hidden_home/diff"; # 差分保存用
$::info_dir    = "$::hidden_home/info"; # 情報用
$::counter_dir = "$::hidden_home/counter"; # カウンタ用
$::cache_dir   = "$::data_home/cache"; # 一時用
$::upload_dir  = "$::data_home/attach"; # 添付用
$::plugin_dir  = "$::data_home/plugin"; # プラグイン用
$::skin_dir    = "$::data_home/skin"; # スキン用
$::image_dir   = "$::data_home/image"; # 画像用

なお,このようなWeb不可視のディレクトリの使い分けを行っていない場合は,上述の作業は不要.

また,4で本体CGIのファイル名をwiki.cgiに変更した場合は,それを反映する必要がある. index.cgiという記述を変更する.

あと追加された項目として,

$::gzip_path

の値を設定する. うちの場合はApache側で圧縮(mod_deflate)しているので, あえてPyukiWikiでは圧縮を行うつもりはなく,指定していない.

(2) pyukiwiki.skin.ja.cgi

ロゴ画像の場所などを修正する.

6.自作プラグインの修正

必要に応じて,自作プラグインを修正する. $::plugin_dir が,最後に/を含まなくなったことに注意が必要.
kamolandをフォローしましょう


© 2021 KMIソフトウェア