Q&A/インストール

主なFAQ
PukiWikiのインストール時や、アップデート時に、よくある質問(ローカルで編集してからアップする場合や、別環境に移行する時を含む)

下記のページも参考にしてください。


ダウンロード

Q. ダウンロードのページにある「チェックサム」って何ですか?

A. ファイルの中身を読み取って、そこから特定の方法(ここではMD5)で生成した文字列です。ダウンロードしたファイルから同じ方法で文字列を作り、両者が一致しているかどうかを確認することで、ダウンロードが不完全でないかどうか、またファイルが改変されていないかどうかを確認することができます。
※現在では http://sourceforge.jp/projects/pukiwiki/releases/ に一覧されています

Linux(md5sum)やFreeBSD(md5)、MacOS Xなど
シェル上から
% md5sum pukiwiki1.4.2.tar.gz
とすれば、
MD5 (pukiwiki1.4.2.tar.gz) = b7b933e40730ba9a10260404618da9bd
というように表示され、MD5で生成した文字列を得ることができます。
Windows2000やWindows XP
ElleFileInfowMD5sumBluePlanet などのソフトでMD5を計算・表示し、改竄されていないことを確かめることができます。

PukiWikiの添付ファイルでも、アイコンメニューのAttachをクリックし、添付ファイル一覧から各添付ファイルの[詳細]をクリックすることで、その添付ファイルのMD5を確認することができます。

Q. PukiWikiのソースの日本語が化けています/改行が変になります

A. Windowsユーザであれば、メモ帳などのソフトでは文字化けして読めません。また、それらのソフトでデータを保存するとShift-JIS 形式に文字コードが変更されてしまい、正常に動作しない原因となってしまいます。

PukiWiki 1.4.6 までとEUC-JP 版のプログラム本体やドキュメントなどは、文字コード「EUC-JP」、および改行コード「LF」で書かれていますので、EUC-JP/LFの読み書きに対応しているエディタを利用してください。
また、UTF-8化したPukiWikiやUTF-8 版の場合は、同様にUTF-8(およびLF)の読み書きに対応しているエディタを利用して下さい。
なお、自動設定でファイルを読み込んだ場合、各エディタが(内部)設定しているコード検出順によっては、文字コードを誤判定する場合がありますので注意が必要です。(そのまま保存すると、間違った文字コードに変換されてしまいます)

アップグレード

Q. 旧バージョンからのアップグレード時に文字化けしてしまう

A1. PukiWiki Version1.2.11以前のバージョンからのアップグレード(バージョンアップ)を行うと文字化けしてしまいますので、データファイルの変換が必要となります。
コンバーターが用意されていますので、詳しくはPukiWiki/保守ツール/EUC変換のススメをご覧下さい。

A2. PukiWiki 1.4.x でEUC-JP 版(1.4.6 以前のパッケージは、すべてEUC-JP 版です)からUTF-8 版にアップグレードした場合、ファイル名やデータなどの変換が必要になります。逆に、UTF-8 版からEUC-JP 版にした場合も変換が必要です。
詳しくは、PukiWiki/Install/アップグレード時の注意#l9575a8f やUTF-8版関係のまとめ(dev:BugTrack2/186)をご覧下さい。

Q. アップグレードの方法は

A.PukiWiki1.3*から1.4.3以前へのアップグレードの詳細はPukiWiki/Install/インストール方法#wa211a3dをご覧下さい。
PukiWiki 1.4.3以前から1.4.4以降への移行については、PukiWiki/Install/インストール方法#qdcf73edをご覧下さい。
また、PukiWiki/Install/アップグレード時の注意には、共通の注意点などが書かれています。

設定

Q. アドミンユーザー(Site admin)の名前はどこで記入しますか?

A. Most of setting are defined in pukiwiki.ini.php. Authorizations of users and a administrator(Current version allows only one administrator.) are also defined in that file.

ほとんどの設定は、 pukiwiki.ini.php に書かれています。ユーザーと管理者の認証も pukiwiki.ini.php で 定義されています。

Reference
dev::CategoryDev/Document/pukiwiki.ini.php

Q. 海外フリーサーバでのタイムゾーン設定

A.PukiWiki1.4では標準でタイムゾーンに対応しています。
PukiWiki1.3*でタイムゾーンに対応させたい場合には、dev:BugTrack/169にある修正方法に従ってファイルを書き換えてください。

Q. pukiwiki.ini.phpの$lastmodを変更しても下部のLast-modifiedを消せない

A. $lastmod は HTTPヘッダのlast-modifiedを出力するかしないかを制御するフラグで、下部のLast-modified を表示とするかどうかのフラグではありません。
Last-modified表示を消したい場合にはスキンから該当部分を削除してください。

Q. 最終更新日時を自動表示したい

A. デフォルトのスキンでは$lastmod の設定にかかわらず、ページ下部に「Last-modified:××××-××-××」という形で自動的に表示されます。
使用しているスキンによって表示場所は異なります。
また、そのままでは表示されないスキンもあるかもしれません。その場合にはスキンの任意の場所に以下を書き足してください。

<?php if ($lastmodified != '') { ?>
<div id="lastmodified">
 Last-modified: <?php echo $lastmodified ?>
</div>
<?php } ?>

Q. 設置後にアクセスするとページのURLが「http://?xxx....」となる

A. pukiwiki.ini.phpの中の$scriptの設定を確認してください → Q. ドメインのアドレスが違うものになり、新規・編集などが行えない

Q. メニュー等を他の言語(英語など)にするには?

A1. 1.4.5 以降のPukiWiki では、pukiwiki.ini.php でUI_LANG 設定を

define('UI_LANG', en); // 'en' for Internationalized wikisite

のようにen にする事でメニューなどの言語を英語にすることができます。ただし、該当する言語に対応するファイルが見つからない場合は、エラーがでます。なお、UI_LANGLANG に設定する言語の組み合わせによっては、文字コードをUTF-8 に(UTF-8 版を利用)しないと表示できない(文字化けする)場合があります。
メインコンテンツはwiki.en.tgz(wiki.en.zip) の中に入っていますので、必要に応じて展開してください。ただし、いくつかの翻訳途中のデータはパッケージに含まれていませんので、dev:PukiWiki/1.4/添付文書 を参照して下さい。
( See... 質問箱4/219, 質問箱4/117, 続・質問箱/572 )

A2. 1.4 ~ 1.4.4 までは、Q. define('LANG','en');が効かない を参考にinit.php(lib/init.php) にあるLANG 設定をen に変更してください。
ただしこの設定を変更すると、ページ名やコンテンツに(日本語などの)マルチバイト文字が使えない、または文字化けする、などの問題が発生する場合があるます。それでは困る場合、コンテンツの言語とUI の言語を別に設定できる1.4.5 以降にアップグレードする必要があります。
( See... FAQ/38 )

Q. define('LANG','en');が効かない

Q.続き 1.4 ~ 1.4.4 までのpukiwiki.ini.php にdefine('LANG','en'); と定義しても、メニューなどに表示されるメッセージが英語に変わらない。

A. 1.4 ~ 1.4.4 までは、init.php(lib/init.php) でLANG を定義する必要があります。
( See... 続・質問箱/14 )

Q. 設置後にアクセスすると画面が真っ白になって、エラーメッセージが何も表示されない

A1. 設定をデバッグ用に変更する

  1. index.php のerror_reporting でE_ALL を有効にする。
    // Error reporting
    //error_reporting(0); // Nothing
    //error_reporting(E_ERROR | E_PARSE); // Avoid E_WARNING, E_NOTICE, etc
    error_reporting(E_ALL); // Debug purpose
    • PHP 5.2.x を利用している場合は「E_ALL & ~E_STRICT」を、PHP 5.3.x を利用している場合は「E_ALL & ~E_STRICT & ~E_DEPRECATED」を、「E_ALL」の代わりに利用してください。PHP 4.x との互換のためにPukiWiki が古い仕様を使っている部分で、大量のエラーが発生する場合があります。
  2. PHP の設定error_reporting を「E_ALL」に設定する。(上の変更で設定が有効にならない場合)
    • PHP 5.2.x を利用している場合は「E_ALL & ~E_STRICT」を、PHP 5.3.x を利用している場合は「E_ALL & ~E_STRICT & ~E_DEPRECATED」を、「E_ALL」の代わりに利用してください。PHP 4.x との互換のためにPukiWiki が古い仕様を使っている部分で、大量のエラーが発生する場合があります。
  3. PHP の設定display_errors を有効にする(なお、本運用開始後は、セキュリティの観点から表示は無効にし、ログを取るようにすることが望ましい)

( See... 続・質問箱/122 )

A2. AutoLink を利用していて、対象ページ数が多い場合Q. AutoLink が正常に作動しない を確認してください。

A3. CVS版 からspam 対策機能を導入して、有効にしている場合、この機能に関するメッセージがデフォルトでは何も表示されません。*1
dump 表示をしたい場合は、pukiwiki.ini.php の

	//$spam['exitmode'] = 'dump'; // Dump progress

この文のコメントを外して、次のようにして下さい。

	$spam['exitmode'] = 'dump'; // Dump progress

dump ではなくメッセージを表示したい場合は、lib/spam.php のspam_exit 関数を改造する必要があります。
なお、管理メールを受け取るようにしている場合は、見やすい形で詳細を送ってくるようになっているので、通常はこちらを利用して下さい。
( spam 対策機能に関する日記の一部: dev:開発日記/2006-11-12, dev:開発日記/2007-08-16 )

なお、入手方法については、Q. 開発中である、PukiWiki の簡易spam 対策機能を使ってみたい を確認してください。

Q. 管理用パスワードの設定方法

A. 管理パスの設定方法についてはQ. 管理者パスワードがわかりませんを参照して下さい。

Runtime error

Q. Error message : DATA_DIR is not found or not writable.

A. PukiWikiはページ更新時に変更前の内容を所定のディレクトリ(デフォルト設定ではPukiWikiのインストール先のdiffディレクトリ)に格納します。上記のようなエラーメッセージが出る場合は、そのディレクトリが存在しない、そのディレクトリのパーミッションの設定ミス、SELinux などのセキュリティ機構による書き込みの拒否、などの理由で更新できないのが原因です。
PukiWiki/Install に記述されているディレクトリとパーミッション設定が正しい事を確認して下さい。

Q. Error message : cannot write page file RecentChanges maybe permission is not writable or filename is too long

A. 該当ファイルの「RecentChanges」のパーミッションの設定などを確認してください。

Q. Error message : counter.inc.php:cannot read ./counter/~~~~~.count

A. ./counterの該当のファイル(~~~~~.count)のパーミッションの設定を確認してみてください。それでもダメなら該当ファイルを削除してみてください。

Q. Error message : LANG.lng(language file) is not found.

A. エラーメッセージの通り、ja.lngもしくはen.lngファイルがインストールしたディレクトリに存在しないということです。

Q. Error message : .ini.php is not found.

A. 続・質問箱/39

Warning

Q. Warning: Cannot modify header information - headers already sent by ( ~ )

A. PHPでは、header出力の前に他の出力(例:エラー出力)をすると、以降のheaderの定義が無効になってしまいます。
これにより、「headers already sent」エラー発生以降の実行や出力が中止される、HTTPヘッダーのLocationが動かない、などの問題が発生します。

権限のないファイルやフォルダへのアクセスによるエラー出力や、 不要な文字列の出力などによって引き起こされている可能性がありますし、 トラブル発生時の原因の切り分けのためにエラー出力を行う閾値を下げる(Q. 設置後にアクセスすると画面が真っ白になって、エラーメッセージが何も表示されないの「設定をデバッグ用に変更する」を参照)と、 隠れていた小さな不具合が出力されて、このメッセージが出力されることがあります。

[状況に応じた確認ポイント]

  • 初期設定、あるいは運用上、設置場所を移動した方で、この症状に遭遇した場合
    • PukiWiki/Install に記述されているディレクトリとパーミッション設定が正しい事を確認する。
      • 注意: レンタルサーバーを利用している場合や、サーバーに導入しているモジュールやCGI プログラムなどの中には、推奨設定をマニュアルで指示している場合があります(例: 666 → 606)。この場合、読み替えて設定しないと、動作しないことがあります。
    • 不要な「ファイル名/文字コード/改行コードの変換」がされていないことを確認する。
    • 改造している部分をデフォルト状態に戻してみる。
    • 各機能の設定をデフォルト状態に戻す、あるいはOFF (無効)にしてみる。
  • 新しいプラグイン(自作プラグインなど)を適用して遭遇した場合
    1. 最近導入したプラグイン、症状が現れるページなどから、原因となっていそうなプラグインを絞り込む。
    2. 自作プラグインなどのスクリプトの前後に余分な空行があれば削除する。(つまり、<?php ... ?>で囲われた部分の上や下です)
    3. (それでも解決しなければ)該当のプラグインのロジックをチェックする。(問題がある"かも"しれません).
  • SKINをカスタマイズしていて、この現象に遭遇した場合
    スキンファイルの、pkwk_common_headers()より前にデータを出力しないように注意する。つまり...
    • pkwk_common_headers() より前にコードを追加する場合は、専用の変数に値を収めるだけにする(出力しない)。
    • pkwk_common_headers() からpkwk_output_dtd() が終了するまでの部分はいじらない。それ以降の部分で、先の変数の中身を出力するなり、別途PHPコードを埋め込むこと。
  • バナー広告が自動で挿入されるサーバーの中には、PHP ファイル(index.php など)経由でRSS フィードや添付ファイルなどをダウンロードすると、誤って広告を挿入してしまいこのエラーとなる場合があります。Q. 添付ファイルが表示できないQ. バナー広告表示型サーバで運営すると添付やRSSなどが正しく動作しない を参照して下さい。
  • Q. PukiWiki が動作はしているようだが、特定の状況では何も表示されない(エラーが出る) にもいくつかのヒントがありますので、そちらも参考にして下さい。

( see*2... 続・質問箱/141, 続・質問箱/282, 続・質問箱/442, 続・質問箱/483, 続・質問箱/572, 質問箱3/20, 質問箱3/51, 質問箱3/264 )


*1 spam にヒントを与えないため
*2 別のTopicに付随して取り上げられることが多いため、とりあえずこちら側に参照ページを記載します

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-08-23 (金) 23:27:41
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 8.2.12. HTML convert time: 1.452 sec.

SourceForge