Pukiwiki-Install


Apache+PHP-Install

PukiWikiインストール

PukiWikiとは

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

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

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

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

インストール手順

1. アーカイブをダウンロードします

# cd ~/src
# wget http://osdn.dl.sourceforge.jp/pukiwiki/15430/pukiwiki-1.4.6.tar.gz

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

# tar zxvf pukiwiki-1.4.6.tar.gz
# ls 
pukiwiki-1.4.6              (これを見れば展開が成功している)
# sudo mv pukiwiki-1.4.6 /data/www/html/klab (Webサーバの管理できるフォルダに移動)

3. 設定ファイル(*.ini.php)の内容を確認します。

# cd /data/www/html/klab
# cd /data/www/html
# ls
klab   phpinfo.php           (これを見ればOK)  

何も修正せずとも動作しますが、公開された場所に設置するのであれば、念のため事前に管理者パスワードを修正して下さい。

設定ファイルのほとんどの項目は 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)

4. パーミッションを確認します。

# cd klab
# pwd
/data/www/html/klab      (現在のディレクトリを確認する)
# ls -al 
合計 224
drwxr-xr-x   13 root root     4096 10月 20 08:04 .
drwxr-xr-x   11 root root     4096 10月 31 15:10 ..
-rw-r--r--    1 root root     1254  4月 29  2005 .htaccess
-rw-r--r--    1 root root      564  4月 29  2005 .htpasswd
drwxr-xr-x    2 root root     4096 10月 20 08:04 attach
drwxr-xr-x    2 root root     4096 10月 20 08:04 backup
drwxr-xr-x    2 root root     4096 10月 20 08:04 cache
drwxr-xr-x    2 root root     4096 10月 20 08:04 counter
-rw-r--r--    1 root root     6673  5月 16 22:25 default.ini.php
drwxr-xr-x    2 root root     4096 10月 20 08:04 diff
-rw-r--r--    1 root root    16230  6月 16 00:57 en.lng.php
drwxr-xr-x    3 root root     4096 10月 20 08:04 image
-rw-r--r--    1 root root      692 10月  3 00:28 index.php
-rw-r--r--    1 root root    16310  6月 16 00:57 ja.lng.php
-rw-r--r--    1 root root    13156  7月  5 22:19 keitai.ini.php
drwxr-xr-x    2 root root     4096 10月 20 08:04 lib
drwxr-xr-x    2 root root     4096 10月 20 08:04 plugin
-rw-r--r--    1 root root    17767  8月 24 23:52 pukiwiki.ini.php
-rw-r--r--    1 root root      696 10月  3 00:28 pukiwiki.php
-rw-r--r--    1 root root     1386 10月  4 22:41 rules.ini.php
drwxr-xr-x    2 root root     4096 10月 20 08:04 skin
drwxr-xr-x    2 root root     4096 10月 20 08:04 trackback
drwxr-xr-x    2 root root     4096 10月 20 08:04 wiki
-rw-r--r--    1 root root     9483 10月 20 08:04 wiki.en.tgz

attachのパーミッションは(rwxr-xr-x つまり 755)なので 

drwxr-xr-x    2 root root     4096 10月 20 08:04 attach

下記のように変更をします。

# sudo chmod 777 attach  (attachのパーミッションを777に変更) 

下記のフォルダのパーミッションも同様に変更しておいてください。

ディレクトリ パーミッション

attach         777        添付ファイル格納ディレクトリ
backup         777        バックアップファイル格納ディレクトリ
cache          777        キャッシュファイル格納ディレクトリ
counter        777        カウンタファイル格納ディレクトリ
diff           777        差分ファイル格納ディレクトリ
image          755        画像ファイル
image/face     755        (画像ファイル)フェイスマーク
lib            755        ライブラリ
plugin         755        プラグイン
skin           755        スキン、CSS、JavaScirptファイル
trackback      777        TrackBackファイル格納ディレクトリ
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.Webブラウザからアクセスし、PukiWikiが動作するか様子を見ます。

 http://klab-?.is.kyusan-u.ac.jp/klab/index.php   ※エラーが出る場合: 下記を参照して下さい

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, trackback)

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

最新の20件

2019-06-01 2019-05-20 2019-05-13 2015-08-29 2009-11-07 2009-06-06 2008-12-20 2006-09-22 2006-06-20 2006-06-19

  • counter: 256
  • today: 1
  • yesterday: 0
  • online: 2