PukiWikiのインストール†
下記および ダウンロードの該当バージョンの項をご参照の上インストールを行って下さい。
バージョン別†
特定の環境・サーバーへのインストール(設置)†
ケータイでPukiWiki†
Windows上で動作させるには†
RedHatにおけるPukiWikiの導入手順†
XSASを使ったインストール†
SourceForge.jpへの設置†
XREAへの設置†
- Q&A/動作環境
- PukiWikiが動作する環境についての質問
- Q&A/インストール
- PukiWikiをインストールする時によくある質問
- Q&A/運営
- PukiWikiの運営、運営中に関する質問
- Q&A/使い方
- いわゆる整形ルールなど基本的な使い方に関する質問
- Q&A/セキュリティ
- PukiWikiのセキュリティ対策についてよくある質問
- Q&A/デザイン・CSS
- PukiWikiのデザインやスキンの変更、CSSについてよくある質問
- Q&A/プラグイン
- PukiWikiのプラグイン・デフォルトプラグインについてよくある質問
- Q&A/プラグイン/attachプラグイン
- Q&A/プラグイン/trackerプラグイン
PukiWiki 1.5のインストール(PukiWiki-1.5.0以降)†
- ※重要
- 更新作業中のため、一部の記述が最新バージョンに対応していない可能性があります
- ※重要
- PukiWiki 本体は、スクリプトで書かれたwiki 機能のみのソフトです。
簡易のセキュリティとして管理者パスワードやユーザ認証などの機能やそれらを扱うラッパーは存在していますが、これだけでハッキングやSPAM などの脅威を防ぐ事はできません。
このためネットワーク上で運用する際には、サーバーを設定・運用するスキルや本体への改修や機能追加(改造と称される場合もあります)を行うスキルなどが必須となります。
動作環境†
PukiWikiはPHPで書かれています。日本語マルチバイト対応のPHPがインストールされている環境なら基本的にどのOS上でも動作します。
日本語マルチバイト対応モジュール(mbstring)対応のPHP 4.1.0以降であれば動作するはずです。
特定環境での事例や注意点については、特定の環境・サーバーへのインストール(設置)やQ&A/動作環境、動作実績などもご覧ください。
- 注意: リリース時期や互換性確認などの関係で、一部修正がパッケージ未収録の場合もあります。上記のページに情報が無い場合は、BugTrackや質問箱で報告されていないかを確認してください。
設置方法には複数の選択肢があります。
配布ファイルである tar.gz あるいは zip ファイルをそのまま設置サーバーへ放り込み、サーバー側で解凍、設定を行なうことも出来ますし、ローカルで解凍、設定したのち、FTPでファイル転送を行うことも可能です。
しかし公開サイトに設置する場合は、セキュリティソフトや機能などを併用せずに未設定のままで解凍するとwikiが攻撃される危険性が高まります。
ここでは、もっとも一般的な方法であると思われる
ローカルで解凍 ==> 設定 ==> FTPで設置サーバーへ転送 ==> パーミッションの確認 |
という手順を説明します。他の方法を選択している場合は、不要な部分を適宜読み飛ばしてください。
また、文字コードや改行コードはUTF-8 版デフォルトの「文字コード:UTF-8、改行コード:LF」としています(EUC-JP 版は、「文字コード:EUC-JP、改行コード:LF」)。
各ファイルを修正する前に、利用しているエディタがこれらの文字コードを扱えるのか(例えば、Win のメモ帳は、EUC-JP を扱えずLF のみは改行として認識しません)を、よく確認してください。(対応しているエディタの一例)
また対応しているエディタであっても、ファイルの読み込み時や保存時に文字コードや改行コードが変わってしまわないように、エディタの設定を確認してください。
配置する前に†
FTPでファイルを配置する前に、PukiWikiの設定ファイルpukiwiki.ini.phpを自分の環境に合わせて書き換えておきましょう。
いたずらされない様に、少なくとも管理者パスワードはデフォルトでないものに変更して下さい。
既存のあるいはローカルで準備したコンテンツを他のサーバーに移動させる場合などは、PukiWiki/Install/アップグレード時の注意 も確認してください。
このページでは省略している、PukiWiki 稼動後に生成されるデータ(バックアップや添付ファイルなど)に関する説明があります。
上位バージョンにアップグレードする場合は、PukiWiki/Install/アップグレード時の注意 や、パッケージ付属のUPDATING.txt 、このページの後半部分にある「~への移行」の該当部分も忘れずに確認してください。設定やデータの移行方法、変更になった仕様や設定方法に関する説明があります。
動作ベースとなる文字コードの変更(無印やEUC-JP 版からUTF-8 版に移行など)をしたい場合は、各コンテンツファイルの文字エンコード変更とファイル名変換を行う必要があります。詳しくは、dev:BugTrack2/186 - UTF-8版関係のまとめをご確認ください。
pukiwiki.ini.php の修正†
- 管理者の名前
$modifier = 'anonymous';
上記のanonymousの部分をあなたの名前に書き換えましょう。日本語でもかまいません。
- 管理者のサイト
$modifierlink = 'http://pukiwiki.example.com/';
上記の「http://pukiwiki.example.com/」の部分をあなた(あなたのPukiWikiを管理している人)のWebサイトのURLに書き換えましょう。PukiWikiを設置するURLでなくてもかまいません。あなたのWebのトップページのURLにしておきましょう。
- 管理者パスワード
- 設定方法
$adminpass = '{x-php-md5}!';
上記の「{x-php-md5}!」の部分を書き換えます。
{x-php-md5} と頭に記述した場合は、MD5による暗号化したパスワードを書き込む必要がありますが、とりあえずは
$adminpass = '{x-php-md5}' . md5('your-pasword');
といった形式でyour-paswordの部分をあなたが決めた別のパスワードに書き換えて記述しておきましょう。
正式にPukiWikiを使い続けることを決めてから、MD5によって暗号化した文字列に書き換えればいいです。
MD5 以外の暗号化フォーマットを利用することもできます。詳しくはdev:BugTrack/709 をご覧ください。
- 暗号化したパスワードを得る方法
MD5ハッシュは、Linuxやcygwinであれば以下のようにして計算させる事ができます。('-n' オプションを忘れずに!)
$ echo -n 'pass' | md5sum
当然、passは別のパスワードに書き換えて暗号化した文字列を生成し、それを設定してください。
FreeBSDなどでは md5sum の代わりに md5 コマンドを使ってください。
他に、md5 プラグインを使うことでも生成は可能ですが、
ネットワーク上に通信内容が丸見えになってしまう(= パスワードがばれてしまう)ので、利用する際はローカル環境を使うなど細心の注意が必要です。
以上、pukiwiki.ini.phpの中の3ヶ所の書き換えが終わったら、いよいよインストールしましょう。
くれぐれもファイル転送モードとパーミッションの設定は間違わないように。また、UNIX系の場合には、オーナー(ファイルの所有者が誰なのか)に関しても適切に設定して下さい。(PukiWiki/Install/パーミッション設定のコマンド例を参考にして下さい)
なお、配布時は index.php にアクセスするとデータが表示される様になっていますが、名前を既存ファイルと衝突しない別のもの(たとえば wiki.phpなど)に変更してもかまいません。
FTPで設置する時の注意事項†
FTPそのものやFTPクライアントに関する情報は他にまかせるとして、下記を参考にFTPクライアントの設定を確認しておいてください。
ファイル転送モード†
- バイナリモード(binary mode)で転送するもの:
- アスキーモード(ascii mode)で転送するもの:
- 画像ファイル以外のファイル一例「*.php、*.txt、*.lng、*.css、*.js」
文字コードと改行コードの変換†
使用するFTPクライアントによっては、ファイル転送時に文字コードや改行コードを変換しながら転送する機能が搭載されている場合があります。ローカル編集したファイルをコードの違うサーバーへ転送する時は重宝する機能ですが、今回のような初期の設置時には注意が必要です。
バイナリーファイルである画像「*.gif、*.png」以外の「*.php、*.txt」等のアスキーファイルは、「文字コード:UTF-8、改行コード:LF」となっています(EUC-JP 版は、「文字コード:EUC-JP、改行コード:LF」)。
これらは、このまま設置した場合に動作するよう調整していますので、無変換転送に設定して転送を行なってください。
PukiWikiのファイル一覧†
PukiWikiで必要なディレクトリとファイルは次のとおりです。パーミッションと転送モードの別を色分けして表示しています。
- 注意
入り口であるindex.php などのWebブラウザからアクセスする必要のあるファイルを除き、ほぼ全てのファイルを外部に対して非公開設定にする必要があります。
PukiWikiのパスワードが書かれた設定ファイルなどを外部から簡単に覗き見られないよう、アクセスできない事を必ず確認して下さい。
- 注意
以下に示しているパーミッションは、設定の一例です。CGI版PHP を利用しているなどの理由で、このパーミッション設定では動作しない(エラーが出る)場合があります。
この場合、サーバーの利用マニュアルやPukiWiki/CGI版PHPで動作させるにはを参考に、設定値を読み替えて下さい。また、オーナー(所有者)の設定を適切なものに変更して下さい。
ディレクトリ | 755 | |
ディレクトリ | 777 | |
ファイル | 644 | ASCII(UTF-8) |
ファイル | 644 | Binary |
ファイル | 666 | ASCII(UTF-8) |
ディレクトリ・ファイル | 不要 | |
- (755)./
- (644/ASCII).htaccess
- (644/ASCII)en.lng.php
- (644/ASCII)ja.lng.php
- (644/ASCII)default.ini.php
- (644/ASCII)index.php (入り口用ファイル)
- (644/ASCII)keitai.ini.php
- (644/ASCII)pukiwiki.ini.php
- (644/ASCII)rules.ini.php
- COPYING.txt
- README.txt
- README.en.txt (Archived README.en.txt.tgz or README.en.txt.zip)
- UPDATING.txt
- UPDATING.en.txt (Archived UPDATING.en.txt.tgz or UPDATING.en.txt.zip)
- (777)./attach
- (644/ASCII).htaccess
- (644/ASCII)index.html
- (777)./backup
- (644/ASCII).htaccess
- (644/ASCII)index.html
- (777)./cache
- (666)recent.dat
- (666)autolink.dat
- (666)entities.dat
- (666)*.ref
- (666)*.rel
- (644/ASCII).htaccess
- (644/ASCII)index.html
- (777)./counter
- (644/ASCII).htaccess
- (644/ASCII)index.html
- (777)./diff
- (644/ASCII).htaccess
- (644/ASCII)index.html
- (755)./image
- (644/ASCII)index.html
- (644/Bin)add.png
- ahl-good.png
- atom.png
- b_pukiwiki.dev.png
- b_pukiwiki.official.png
- (644/Bin)backup.png
- (644/Bin)copy.png
- (644/Bin)diff.png
- (644/Bin)edit.png
- (644/Bin)file.png
- (644/Bin)freeze.png
- (644/Bin)help.png
- hinad.png
- lirs.png
- (644/Bin)list.png
- (644/Bin)new.png
- (644/Bin)noimage.png
- opml.png
- paraedit.png
- (644/Bin)pukiwiki.gif
- (644/Bin)pukiwiki.png
- (644/Bin)rdf.png
- (644/Bin)recentchanges.png
- (644/Bin)reload.png
- (644/Bin)rename.png
- (644/Bin)rss.png
- (644/Bin)rss20.png
- (644/Bin)search.png
- skin.png
- (644/Bin)top.png
- (644/Bin)unfreeze.png
- valid-xhtml10.png
- valid-xhtml11.png
- vcss.png
- xml.png
- (755)./image/face
- (644/ASCII)index.html
- (644/Bin)bigsmile.png
- (644/Bin)heart.png
- (644/Bin)huh.png
- (644/Bin)oh.png
- (644/Bin)sad.png
- (644/Bin)smile.png
- (644/Bin)wink.png
- (644/Bin)worried.png
- (755)./lib
- (644/ASCII).htaccess
- (644/ASCII)index.html
- (644/ASCII)auth.php
- (644/ASCII)backup.php
- (644/ASCII)config.php
- (644/ASCII)convert_html.php
- (644/ASCII)diff.php
- (644/ASCII)file.php
- (644/ASCII)func.php
- (644/ASCII)html.php
- (644/ASCII)init.php
- (644/ASCII)link.php
- (644/ASCII)mail.php
- (644/ASCII)make_link.php
- (644/ASCII)mbstring.php
- (644/ASCII)plugin.php
- (644/ASCII)proxy.php
- (644/ASCII)pukiwiki.php
- (755)./plugin
- (644/ASCII).htaccess
- (644/ASCII)index.html
- (644/ASCII)add.inc.php
- (644/ASCII)amazon.inc.php
- (644/ASCII)aname.inc.php
- (644/ASCII)article.inc.php
- (644/ASCII)attach.inc.php
- (644/ASCII)author.inc.php (1.5.1 で追加)
- (644/ASCII)back.inc.php
- (644/ASCII)backup.inc.php
- (644/ASCII)basicauthlogout.inc.php (1.5.1 で追加)
- (644/ASCII)br.inc.php
- (644/ASCII)bugtrack.inc.php
- (644/ASCII)bugtrack_list.inc.php
- (644/ASCII)calendar.inc.php
- (644/ASCII)calendar_edit.inc.php
- (644/ASCII)calendar_read.inc.php
- (644/ASCII)calendar_viewer.inc.php
- (644/ASCII)calendar2.inc.php
- (644/ASCII)clear.inc.php
- (644/ASCII)color.inc.php
- (644/ASCII)comment.inc.php
- (644/ASCII)contents.inc.php
- (644/ASCII)counter.inc.php
- (644/ASCII)deleted.inc.php
- (644/ASCII)diff.inc.php
- (644/ASCII)dump.inc.php
- (644/ASCII)edit.inc.php
- (644/ASCII)filelist.inc.php
- (644/ASCII)freeze.inc.php
- (644/ASCII)hr.inc.php
- (644/ASCII)img.inc.php
- (644/ASCII)include.inc.php
- (644/ASCII)includesubmenu.inc.php
- (644/ASCII)insert.inc.php
- (644/ASCII)interwiki.inc.php
- (644/ASCII)links.inc.php
- (644/ASCII)list.inc.php
- (644/ASCII)loginform.inc.php (1.5.1 で追加)
- (644/ASCII)lookup.inc.php
- (644/ASCII)ls.inc.php
- (644/ASCII)ls2.inc.php
- (644/ASCII)map.inc.php
- (644/ASCII)md5.inc.php
- (644/ASCII)memo.inc.php
- (644/ASCII)menu.inc.php
- (644/ASCII)navi.inc.php
- (644/ASCII)new.inc.php
- (644/ASCII)newpage.inc.php
- (644/ASCII)nofollow.inc.php
- (644/ASCII)norelated.inc.php
- (644/ASCII)online.inc.php
- (644/ASCII)paint.inc.php
- (644/ASCII)pcomment.inc.php
- (644/ASCII)popular.inc.php
- (644/ASCII)random.inc.php
- (644/ASCII)read.inc.php
- (644/ASCII)recent.inc.php
- (644/ASCII)ref.inc.php
- (644/ASCII)related.inc.php
- (644/ASCII)rename.inc.php
- (644/ASCII)rss.inc.php
- (644/ASCII)rss10.inc.php
- (644/ASCII)ruby.inc.php
- (644/ASCII)search.inc.php
- (644/ASCII)server.inc.php
- (644/ASCII)setlinebreak.inc.php
- (644/ASCII)showrss.inc.php
- (644/ASCII)size.inc.php
- (644/ASCII)source.inc.php
- stationary.inc.php プラグイン作成の雛形サンプル、使用する場合は他と同じく(644/ASCII)で
- (644/ASCII)template.inc.php
- (644/ASCII)topicpath.inc.php
- (644/ASCII)touchgraph.inc.php
- (644/ASCII)tracker.inc.php
- (644/ASCII)tracker_list.inc.php
- (644/ASCII)unfreeze.inc.php
- (644/ASCII)update_entities.inc.php
- (644/ASCII)version.inc.php
- (644/ASCII)versionlist.inc.php
- (644/ASCII)vote.inc.php
- (644/ASCII)yetlist.inc.php
- readme.ja.txt
- (755)./skin
- (644/ASCII).htaccess
- (644/ASCII)index.html
- (644/ASCII)keitai.skin.php
- (644/ASCII)pukiwiki.css.php
- (644/ASCII)pukiwiki.skin.php
- (644/ASCII)tdiary.css.php (詳細: tDiary)
- (644/ASCII)tdiary.skin.php (詳細: tDiary)
- (777)./wiki
- (644/ASCII).htaccess
- (644/ASCII)index.html
- (666)…….txt
- (777)./wiki.en (Archived wiki.en.tgz or wiki.en.zip)
- (644/ASCII).htaccess
- (644/ASCII)index.html
- (666)…….txt
動作確認†
index.php にブラウザからアクセスしてデフォルトページが表示でき、なおかつpukiwiki.ini.php などの重要ファイルをブラウザから覗き見できなければ、基本的に設置は完了です。
念の為、以下の機能が正常に機能する事を確認しましょう。
- ページの編集ができること (FrontPageなど、凍結されていないページについて)
- ※編集時に Runtime Errorが出る場合、更新されるファイルのパーミッションや、それらを収めているディレクトリのパーミッションとオーナーを確認して下さい
- ページの新規作成、および削除ができること
- ※Runtime Errorが出る場合、wiki/ ディレクトリなどのパーミッションを確認して下さい
試したことがなければ、以下の操作もやってみましょう。
- ページの凍結、および凍結解除ができること(設定した管理者パスワードが必要です)
- articleあるいはvoteプラグインで記事の投稿、投票ができること
もし、正常に表示されなかったり、エラーが出るようなら、Q&A/インストールなどを参考にしてください。
PukiWikiのカスタマイズ†
めでたく設置に成功したら、PukiWikiを自分好みにカスタマイズしていきましょう。
pukiwiki.ini.php の調整†
「インストールする前に」で行なった設定以外に pukiwiki.ini.php の気になる項目があれば調整してみて下さい。
- トップページとして表示するページの名前
- 注意 : 1.3系列とは異なり、トップページ名に日本語を使う場合でもBracketNameにしないでください。
$defaultpage = "フロントページ";
- サイトのタイトル
- ブラウザのタイトルバーに表示される名前です。
$page_title = "サイト名";
- ユーザ認証
- 詳しくは、PukiWiki/Authenticationを参照してください。
MenuBarの活用†
初期状態では、「最近のxx件」という表示と共に日付とWikiNameがずらっと左側に並んでいるはずです。ページが新規作成/更新されれば、新たにWikiNameが増えたり、すでに表示されてあったWikiNameの上下位置が入れ替わったりと自動で変化しますので、表示されているWikiNameをクリックしさえすれば、自由に閲覧することが可能です。
もちろん、この初期状態のままでも使用に問題はありませんが、せっかくですからメニューの作成などをしてみてはいががでしょうか?
とにもかくにも編集するためにMenuBar のページへと辿り着かなければ始まりません。「最近のxx件」という表示の中にMenuBarというWikiNameがあればそこから辿れます。無ければ、上部メニューの「単語検索」をクリックして
MenuBar
と打ち込み検索すれば、見付かるはずです。
ここまで辿り着いたら後は簡単。通常の編集となにも変わりませんので、自分好みにカスタマイズして下さい。
その他、Q&A/デザイン・CSS, ちょっと便利にのページでは改造/活用のヒントが紹介されています。
スキンやCSSの改造による外観の変更†
ページ左上のアイコンは image/pukiwiki.png を置き換えればOKです。
参考までに: 標準添付のアイコンのサイズは 80 x 80 Pixelです。
関連: カスタマイズ、 スキン、 Q&A/デザイン・CSS
プラグインやカスタマイズによる機能追加†
設置が正常に完了して、サイトの外観も決まったら、実際に色々なページを作ってみます。
しばらく使っていくうちに欲しい機能や実現したい動作ができた場合はFAQ、Q&A、各質問箱、自作プラグイン、欲しいプラグイン、自作スキン などに目を通してみてください。
プラグインの中にはプラグイン内設定を変更することでデフォルトの動作を変更する事ができるものがあります。
PukiWiki に同梱されているものに関しては、ヘルプからプラグインマニュアルを呼び出し確認してみてください。
(アップグレード時にwikiデータを上書きしなかった場合、過去バージョンの内容のままになっていますので、注意してください)
ページの構成などで迷った場合は、他のPukiWikiサイトをリンク集や検索エンジンで見てみる(google:PukiWiki)と参考になるかもしれません。
順調に稼動できたら†
設置が完了して、順調に運用できた場合はPukiWiki使用者への100?の質問に答えてみて下さいませ。
PukiWiki 1.5.0から1.5.xへの移行†
to 1.5.1†
(コンテンツ準備中)
- 部分アップデートしていたなどで開発版(Gitリポジトリ)を使用してパッチを作成する場合、リポジトリ内部の変更(EUC-JP 版 → UTF-8 版)に対応する必要があります。
PukiWiki 1.4.7から1.5.0への移行†
PukiWiki/Install/Update/1.5.0を参考にアップグレードしてください。
PukiWiki 1.4-1.4.6から1.5.0への移行†
ここではPukiWiki 1.4-1.4.6の版をお使いの方への変更概要+移行方法を紹介します。
個々の変更点の詳細については、PukiWiki/Downloadの各ページをご覧下さい。
なお、1.3.x系をお使いの方は1.3系からの移行も併せてお読みください。
まずはバックアップ†
例によってバックアップは非常に大切です。以下の作業を行う前に、*.phpやスキン、プラグイン、attach,backup,counter,diff,wikiディレクトリを含む全てのデータをバックアップしてください。(やり方はお任せします :) )
PukiWiki 1.4-1.4.3から1.4.4で何が起こったか†
PukiWiki 1.4.3→1.4.4の改訂の過程で機能追加・ロジックの整理・バグ取りもさることながら、大掛かりなファイル配置の整理が行われています。
ファイルの配置が変更された理由について†
- PukiWikiの各フォルダのディレクトリ配置は定数宣言されているのですが、推奨設定以外を設定するとうまく動かないなど徹底されておらず、懸案事項として挙げられていました(dev:BugTrack/147,dev:BugTrack/480,dev:BugTrack/509)。
更に dev:PukiWiki/WikiFarm や dev:PukiWiki/国際化 の議論もあり、ファイル配置の整理が必要との判断から大幅な配置変更が行われました。
- 従来携帯電話への対応はi-mode, J-Phone限定でしたが au,TU-KA,AirH" Phoneなど未対応のキャリアやNetFrontといった組み込みブラウザに対応しました。
従来は対応ブラウザ毎に設定ファイルを作成していましたが、対応ブラウザが増えると管理が煩雑になるため、設定ファイルの統合が行われました。
- その他、主だった対応内容のリンク先
- デバイス/ユーザーエージェント ハンドリングの単純化 - dev:開発日記/2004-07-05
- 各ディレクトリにindex.htmlを追加 - dev:開発日記/2004-07-11
- エントリ用のpukiwiki.php(index.php)を作成 - dev:開発日記/2004-07-24
- pukiwiki.png/gif を IMAGE_DIR (./image/) に移動 - dev:開発日記/2004-07-24
- face 画像を face/ から image/face に移動 - dev:開発日記/2004-07-28
- ライブラリとして使われうる phpファイル を全て LIB_DIR (lib/) に移動 - dev:開発日記/2004-08-01
各ファイルの移動元・移動先一覧†
1.4.x→1.5.x のファイルの移動元・移動先をまとめた一覧です。一旦は読み飛ばして、移行作業時に参照して下さい。。
- 入り口をpukiwiki.php のまま維持したい方へ
- 下記の移動および追加などを完了させた上で、1.4.4で追加した./index.php をリネームして下さい。
移動元dir | ファイル名 | 移動先dir |
(なし) | index.html | 1.4.4で追加 -> ./lib*1 |
.htaccess |
./ | auth.php | 1.4.4で移動 -> ./lib |
backup.php |
config.php |
convert_html.php |
diff.php |
file.php |
func.php |
html.php |
init.php |
link.php |
mail.php |
make_link.php |
mbstring.php |
plugin.php |
proxy.php |
pukiwiki.php |
trackback.php | 1.4.4で移動、のちに削除 (利用禁止の詳細: dev:BugTrack2/62) |
pukiwiki.gif | 1.4.4で移動 -> ./image |
pukiwiki.png |
i_mode.ini.php | 1.4.4で削除 -> keitai.ini.phpに統合 |
jphone.ini.php |
*.lng | 1.4.5で変更 -> *.lng.php |
*.ini.php | 変更なし |
(なし) | keitai.ini.php | 1.4.4で追加 -> ./ |
index.php | 1.4.4で追加 -> ./ *2 |
./image | b_pukiwiki.dev.png | 1.4.6でデータ差し替え |
b_pukiwiki.org.png | 1.4.6で削除 |
(なし) | index.html | 1.4.4で追加 -> ./image |
b_pukiwiki.official.png | 1.4.6で追加 -> ./image |
./face | * | 1.4.4で移動 -> ./image/face へ |
(なし) | worried.png | 1.4.4で追加 -> ./image/face |
./plugin | dir.txt | 削除 |
referer.inc.php | TrackBack機能に依存していたため削除されました |
tb.inc.php | 削除されました (利用禁止の詳細: dev:BugTrack2/62) |
(なし) | index.html | 1.4.4で追加 -> ./plugin |
.htaccess |
clear.inc.php | 1.4.3で追加 -> ./plugin |
setlinebreak.inc.php |
topicpath.inc.php |
dump.inc.php | 1.4.5で追加 -> ./plugin |
lastmod.inc.php |
related.inc.php |
stationary.inc.php | 1.4.5_1で追加 -> ./plugin *3 |
br.inc.php | 1.4.6で追加 -> ./plugin |
nofollow.inc.php |
./skin | trackback.css | 削除 (利用禁止の詳細: dev:BugTrack2/62) |
trackback.js |
default.en.css | 1.4.5で削除 -> pukiwiki.css.phpに統合 |
default.ja.css |
print.en.css |
print.ja.css |
pukiwiki.skin.en.php | 1.4.5で削除 -> pukiwiki.skin.phpに統合 |
pukiwiki.skin.ja.php |
(なし) | index.html | 1.4.4で追加 -> ./skin |
.htaccess |
pukiwiki.css.php | 1.4.5で追加 -> ./skin |
pukiwiki.skin.php |
tdiary.css.php | 1.4.5で追加 -> ./skin *4 |
tdiary.skin.php |
./attach | * | 基本変更なし*5 |
./backup |
./cache |
./counter |
./diff |
./trackback |
./wiki |
./wiki.en |
./devel | 削除*6 |
./ | *.txt | 変更なし*7 |
PukiWiki 1.4.4-1.4.5から1.4.6で何が起こったか†
管理者のパスワードとユーザー認証のパスワードを保管する際の暗号化形式を容易に変更できるようにするため、書式が変更されました
管理者パスワードとユーザ認証パスワード†
1.4.6 以降では管理者パスワードとユーザーパスワードの保存形式が「RFC2307および既存のLDAP実装」に準拠となり、「{x-php-md5}」のようなプリフィクス付きの形式に変更となりました。
従来のMD5形式で管理者パスワードを使う場合は、先頭に
{x-php-md5}
を追加する必要があります。(そのままでは、暗号化後の文字列がパスワードだと認識されてしまいます)
MD5 以外の暗号化フォーマットに切り替える事も可能です。指定できるプリフィクスなど、詳しくはdev:BugTrack/709 をご覧ください。
移行の手順†
Gitクライアントを使う方法†
(コンテンツ準備中)
LIB_DIR (./lib/) に移動したファイルに関して: お手元でこれらのファイルをカスタマイズされており、Gitを用いてマイグレートされる方のために、移動前の最後のバージョンに、タグ pkwk14_2004-08-01_moved-before を打ってあります。このタグを(移動前の最新の状態に)マージするためのターゲットにお使い下さい。
CVSクライアントを使う方法†
CVSのみで1.5.0以降へアップグレードする事はできません。(1.5.0はGitだけに格納されています)
タグ r1_4_7_notb で1.4.7_notbまでアップグレードした後、1.4.7(notb)から1.5.0へのアップグレードパッチを適用して下さい。
LIB_DIR (./lib/) に移動したファイルに関して: お手元でこれらのファイルをカスタマイズされており、CVSを用いてマイグレートされる方のために、移動前の最後のバージョンに、タグ pkwk14_2004-08-01_moved-before を打ってあります。このタグを(移動前の最新の状態に)マージするためのターゲットにお使い下さい。
GitまたはCVSのクライアントを使わない方法†
方法はいろいろありますが、あくまで一例として。
ファイルの移動以外にもPukiWiki 1.5までのバージョンアップにおいて、ソースコードの大幅な整理・変更が行われています。
さて、ここで質問。あなたはどの程度、配布ファイルに対してプログラムの修正を行いましたか?
もし、ほとんど修正を行っていない場合は、新規にPukiWiki 1.5をインストールする方法をお勧めします。このとき、万一インストールに失敗しても、今まで使っていたPukiWikiに影響を与えないように、今使っているPukiWikiとは別のディレクトリにインストールするのをお勧めします。
PukiWiki1.5で正常に稼動できた事を確認した後にバックアップからattach、backup、cache、diff、wikiの全ファイルを復元してください。それできっと動く事と思います。
もし、あなたがプログラムの修正をたっぷり行っていた場合は、きっとうんざりするぐらいのソースコードの差異が出ることでしょう。
そこで、一旦あなたが変更した箇所を特定してから、同じような修正をPukiWiki 1.5に加えていく作業を行っていきます。
- 開発版(GitまたはCVSのリポジトリ)から最後に自分が持ってきた版に一番近い版を持ってきましょう。(リポジトリからパッケージをまるごとダウンロードする場合は、その場でアーカイブを作成するために時間がかかります)
- GitリポジトリをクライアントではなくWebブラウザで閲覧する場合は、まず上のメニューから「タグ」を選択します。次に目的のタグ横のRev. からタグの詳細情報に移動し、「tree」からタグに所属するファイル構成ツリーを表示します。最後に、エクスポート横の「ZIP」「TAR」からファイル形式を選択し、所属する全ファイルのダウンロードを開始します。
- CVSリポジトリをクライアントではなくWebブラウザで閲覧する場合は、一番上で「r1_4_3」のような各リリースバージョンのタグを切り替えた後に一番下にあるDownloadを選びます。
- 自分のPukiWikiと1の手順で持ってきた版とのdiffを取り、自分が変更した箇所を特定して、控えておきます。
- PukiWiki 1.5のファイルを適当な別ディレクトリに展開して、自分のPukiWikiからattach、backup、cache、counter、diff、wiki を全てコピーする。
- EUC-JP 版(旧無印版)からUTF-8 版に移行したい場合は、ファイルの文字エンコード変更とコンテンツファイルのファイル名変換を別の場所で行った上で1.5に動かす必要があります。詳しくは、dev:BugTrack2/186 - UTF-8版関係のまとめ をご確認ください。
- PukiWiki 1.5のファイルに対して、2の手順で検出した変更を書き戻して反映していきます。もし1.5用のパッチがあるのなら、過去のパッチを使わずに最新パッチを使う方が無難でしょう。
- 書き換えるファイルは主に*.ini.php、lib/ や plugin/ が中心だと思いますが skin/ などもお忘れなく。
- 独自プラグインや自分で作ったフェイスマークなど、配布ファイルに含まれていないものを追加する。
- 配布ファイルに含まれているファイルで不要なものを削除する。
- *.txtや、imageの中の画像、devel、初期状態で用意されているページ、使わないプラグインなど必要に応じて、適宜削除する。
(dev:BugTrack2/355)
PHP関数:htmlspecialcharsを使用している箇所を新設のhtmlsc関数に変更したり、左記を含むマルチバイト文字列を受け付ける関数で入出力の文字コードを明示指定して文字化けなどを防いだり、といった修正が必要ではないかを確認しないと、これまでどおり動作しなくなるかもしれません。
まずは対応版がリリースされていないかを確認しましょう。
PukiWiki 1.3系から1.5.0への移行†
- 【注意】
- 1.3系の開発は終了しました(PukiWiki News)
サポートが終了したバージョンのPHPで稼動させ続ける事は危険ですので、自身で1.3系を改修し続けるか移行するかを選択してください。
バックアップ†
バックアップは非常に大切です。以下の作業を行う前に、*.phpやスキン、プラグイン、attach、backup、counter、diff、wikiディレクトリを含む全てのデータをバックアップしてください。(やり方はお任せします :) )
1.5のインストール†
- 【補足】
- 1.4以降ではデフォルトのDOCTYPEがXHTML 1.1に移行しています。自作のスキンやプラグインを引き続き使用する場合は、XHTML 1.1の書式に書き換えるか、本体側をHTMLで出力するように設定などを書き換えるか、する必要があります。
また、プラグインについては1.3系列のプラグインをそのまま使用できるとはかぎりません(プラグイン/開発者向け参照)。標準のプラグインは1.5に添付されたものをインストールしてください。
- 【注意】
- 1.4でcacheディレクトリ、trackbackディレクトリが追加されています。ここのパーミッションの設定(ディレクトリは777、*.datは666)を忘れると下記のページ変換時にエラーが出ます。
ファイル名からBracket部分を取り去り、1.4以降の形式にする†
- stripbracket.inc.phpをpluginディレクトリにインストール 配布場所
- http://.../pukiwiki.php?plugin=stripbracketを実行
- pluginディレクトリのstripbracket.inc.phpを削除
UTF-8 版に移行したい場合は、ファイル名と文字コードを変換†
EUC-JP 版(旧無印版)からUTF-8 版に移行したい場合は、ファイルの文字エンコード変更だけではなくコンテンツファイルのファイル名変換も必要です。詳しくは、dev:BugTrack2/186 - UTF-8版関係のまとめをご確認ください。
書式の違いをコンバート†
書式の移行を手動で行う場合は、このステップを省略できます。
- convertpage.inc.phpをpluginディレクトリにコピー 配布場所
- http://.../pukiwiki.php?plugin=convertpageを実行
- pluginディレクトリのconvertpage.inc.phpを削除
- 【補足】
- 従来ユーザー定義だったcolor,sizeなどをインライン型プラグインに変換はしません。但し、ユーザー定義のcolorやsizeを&~;の形式で定義していた場合は、そのままインラインプラグインで解釈されるようになりますので書き換えは不要です*8。
ユーザー定義のcolorやsizeを&~;の形式とは異なる形で定義していた場合は、従来のユーザー定義をそのまま残しておけば書き換えは不要です*9。
aname、counter、online、versionはインライン型プラグインに移行しています。convertpage.inc.phpではこれらをコンバートしませんので、aname以外は書き換えが必要です。
リンクキャッシュを初期化する†
- http://.../pukiwiki.php?plugin=linksを実行