名前 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の更新内容をメールで通知する機能は、既存のデータを失わない ための機能としてとらえる事ができるでしょう。