名前
    PukiWiki  - 自由にページを追加・削除・編集できるWebページ構築スクリプト

    Version 1.5.1
    Copyright
      2001-2016 PukiWiki Development Team
      2001-2002 yu-ji (Based on PukiWiki 1.3 by yu-ji)
    License: GPL version 2 or (at your option) any later version

インストール
    PukiWikiはPHPスクリプトであるため、(例えばPerlのように)スクリプトに実行権
    を付ける必要はありません。CGI起動でないのであれば、スクリプトの一行目を修
    正する必要もありません。

    Webサーバーへのシェルアクセスが可能であれば、PukiWikiのアーカイブをそのま
    まサーバーに転送し、サーバー上で解凍(tar pzxf pukiwiki*.tar.gz) するだけ
    でパーミッションの設定も行われ、すぐに使い始める事ができるでしょう。

    スクリプトの中の日本語は(あれば、基本的に)UTF-8で、また改行コードはLFで
    記述されています。スクリプトを直接編集する場合は、日本語文字コードと改行
    コードの自動判別ができ、それを元のまま保存できるテキストエディタを使用し
    て下さい。

    以下に、事前にクライアントPCで作業を行う場合の例を記します。

    1. PukiWikiのアーカイブを展開します。

    2. 設定ファイル(*.ini.php)の内容を確認します。何も修正せずとも動作します
       が、公開された場所に設置するのであれば、念のため事前に管理者パスワード
       を修正して下さい。

       設定ファイルのほとんどの項目は pukiwiki.ini.php に集約されています。

        全体設定           : pukiwiki.ini.php
        ユーザ定義         : rules.ini.php

       その他、ユーザーエージェントごとの設定が用意されています。

        デスクトップPC     : default.ini.php
        携帯電話およびPDA  : keitai.ini.php
           (旧 i_mode.ini.php/jphone.ini.php)

      PukiWikiの管理者パスワードは、pukiwiki.ini.php にある変数 $adminpass
      です。簡単に試すだけであるならば、以下のような内容で充分でしょう。
      ('YourPassWord' の部分を、あなただけのキーワードで置き換えて下さい)

         $adminpass = '{x-php-md5}' . md5('YourPassWord');

      ※設定を「有効にする」とは、多くの場合、設定値を数字の 0 でない値(例え
        ば1)にする事です。一部の設定は名前に DISABLE ないし $noXXX とあります
        が、それらは値を 0 でないものにすることで、その設定値に対応する機能が
        無効になります。(無効にする役割が有効になります)

      ※インターネットに公開するPukiWikiであるならば、PKWK_SAFE_MODE を有効に
        することをお薦めします。(詳細:BugTrack/787)

      ※他人に編集させない環境をご要望であれば、PKWK_READONLY を有効にするこ
        とをお薦めします。(詳細:BugTrack/744)

    3.  ファイルをFTPなどでサーバに転送します。
      基本的に何の変換も行わず、「そのまま」転送して下さい
      ・ファイル名や、ファイル名の大文字小文字などを変更しないで下さい
      ・FTPの転送モードは「バイナリ(bin)」を使用して下さい

    4.  サーバ上のファイルおよびディレクトリのパーミッションを確認します。

    ディレクトリ パーミッション
      attach         777	添付ファイル格納ディレクトリ
      backup         777	バックアップファイル格納ディレクトリ
      cache          777	キャッシュファイル格納ディレクトリ
      counter        777	カウンタファイル格納ディレクトリ
      diff           777	差分ファイル格納ディレクトリ
      image          755	画像ファイル
      image/face     755 	(画像ファイル)フェイスマーク  
      lib            755	ライブラリ
      plugin         755	プラグイン
      skin           755	スキン、CSS、JavaScirptファイル
      wiki           777	データの格納ディレクトリ

    ファイル    パーミッション データの種類(参考)
      .htaccess      644       ASCII
      .htpasswd      644       ASCII
      */.htaccess    644       ASCII

    ファイル    パーミッション データの種類(参考)
      *.php          644       ASCII
      */*.php        644       ASCII
      attach/*       666       BINARY (はじめは存在せず)
      backup/*.gz    666       BINARY (インストール時は存在せず)
      backup/*.txt   666       ASCII  (多くの環境では存在せず)
      cache/*        666       ASCII
        (一部のプラグインはバイナリファイルを保存します)
      counter/*      666       ASCII  (はじめは存在せず)
      diff/*.txt     666       ASCII  (はじめは存在せず)
      wiki/*.txt     666       ASCII
      image/*        644       BINARY
      image/face/*   644       BINARY
      lib/*          644       ASCII
      plugin/*       644       ASCII
      skin/*         644       ASCII

    5. サーバーに設置した PukiWiki の index.php あるいは pukiwiki.php に、Web
      ブラウザからアクセスし、PukiWikiが動作するか様子を見ます。

      ※エラーが出る場合: 下記を参照して下さい

    6.  必要に応じて、さらに設定やデザインを調整して下さい。

      ※CSS(外見)は skin/スキン名.css.php にあります。これは目的に応じたCSSを
        出力することのできる、単独のPHPスクリプトです。これを静的なファイルに
        したい場合は、Webブラウザで出力結果を取り出して下さい。どのようなCSS
        が求められているかはスキンに記述されています。
      ※スキン(外見の骨組み)に関する設定項目は skin/スキン名.skin.php の先頭に
        あります。
      ※プラグイン独自の設定項目は plugin/プラグイン名.inc.php の先頭にありま
        す
      ※tDiaryテーマ(tDiaryスキン)の使用法は BugTrack/769 を参照して下さい。

エラーが出る場合
    CGI版のPHPが設置されたサーバー(特にsuExecと組み合わされている環境)で動作
    させようとした場合に "Internal Server Error" などと表示される場合がありま
    す。詳しくはサーバー管理者がPHPスクリプト向けに提供している情報を確認して
    下さい。

      1. 実行するPHPスクリプト(PukiWikiの場合 index.php か pukiwiki.php)の
        一行目に、PHPバイナリへのパスを追加する必要があるかもしれません。
        (例: #!/usr/local/bin/php)この値はサーバーにより異なります。

      2. たいていの場合、より厳密なパーミッションが求められます。

エラーが出る場合: .htaccessファイル
    PukiWiki 1.4.4 から .htaccess ファイルを添付する様になっていますが、
    Apache Web サーバーの設定によっては "Internal Server Error" を起こす場合
    があります。

    具体例:
      Webブラウザに "Internal Server Error" と表示され
      Webサーバーのエラーログには "order not allowed here" というエラーが記録
      される

    これはPukiWikiを設置したい場所で .htaccess による設定変更が許可されていな
    い(特に "AllowOverride Limit" でない)のが原因です。

    回避策: .htaccess、および skin/.htaccess を削除する

    解決策：
      Apache設定ファイル(httpd.conf)の、PukiWikiを設置したいディレクトリに関
      する部分に "AllowOverride Limit" を追加する

エラーが出る場合: Parse error
    "Parse error: parse error, unexpected XXXX in .... on line NNN"

    PHPスクリプトに矛盾がある場合、このようなメッセージが表示されます。指定さ
    れているファイルの、指定された行の付近をチェックし、問題があれば修正して
    下さい。理由としては以下のようなケースが考えられます。

      1. 末尾にあったセミコロンを消してしまった

      2. 文字列をシングルクォートかダブルクォートで囲むはずが、片方を消して
         しまった / 文字列の中に(文字列を囲んでいるのと同じ)シングルクォート
         やダブルクォートがある

エラーが出る場合: Runtime error
    Error message : Directory is not found or not writable (xxx_DIR)

    データを書き込むディレクトリ(やファイル)に書き込み権限が無い場合、このよ
    うなメッセージを表示します。xxx_DIR がどこにあたるかは、設定ファイルで同
    名の定数を定義している部分を参照して下さい。

エラーが出る場合: CSSが動作しない
    pukiwiki.css.php は単独のPHPプログラムであるため、CGI起動が必要な環境で
    あったり、mod_layoutによる広告挿入回避を行う場合はこのファイルについても
    index.phpと同様の対応を行う必要があります。

バックアップとリストア
    ページの最新データを収めているディレクトリ(デフォルトの名前は wiki)以下
    を、また必要に応じて他のデータを収めているディレクトリ以下をバックアップし
    て下さい。(同 attach, backup, cache, counter, diff)

    cacheディレクトリもバックアップすることをお薦めします。
    1. cache/*.rel ファイルと cache/*.ref ファイルは linksプラグイン で再生
       成可能ですが、この処理は非常に重く、環境によっては処理が必ず失敗する
       (中断する)場合があります。
    2. cache/*.rel ファイルがPukiWikiに全くない時に既存のページを編集すると、
      linksプラグインを実行した状態とほぼ同等の負荷がかかります。
      (詳細:BugTrack2/56)
    3. amazonプラグインはここに画像(のキャッシュ)を保存します。

    データを配置した時は、ファイルのパーミッションが期待されている通りかどう
    か、また実際に動作するかどうかを確認して下さい。(例: 配置したページの更新
    を試みる)

    PukiWiki 1.4.5 以降では、添付されている dumpプラグイン で、wiki/attach/
    backup ディレクトリのリモートバックアップ(*.tar.gzないし*.tar形式)が可能で
    す。
      起動の例: index.php?plugin=dump

    dumpプラグインにはdumpプラグインで取得したファイルの中身をPukiWikiに展開す
    る機能(リモートリストア)も用意されています。ただしファイルに含まれていない
    データをPukiWikiから削除する機能はありません(常に上書きになります)し、Web
    サーバーやPHPのアップロードファイルサイズ制限を越えるファイルを利用するこ
    とはできません。またこの機能はデフォルトで無効になっています。

    その他、PukiWikiの更新内容をメールで通知する機能は、既存のデータを失わない
    ための機能としてとらえる事ができるでしょう。
