自由にページを追加・削除・編集できるWebページ構築スクリプト
PukiWikiはPHPスクリプトであるため、(例えばPerlのように)スクリプトに実行権を付ける必要はありません。CGI起動でないのであれば、スクリプトの一行目を修正する必要もありません。
Webサーバーへのシェルアクセスが可能であれば、PukiWikiのアーカイブをそのままサーバーに転送し、サーバー上で解凍(tar pzxf pukiwiki*.tar.gz) するだけでパーミッションの設定も行われ、すぐに使い始める事ができるでしょう。
スクリプトの中の日本語は(あれば、基本的に)EUC-JPで、また改行コードはLFで記述されています。スクリプトを直接編集する場合は、日本語文字コードと改行コードの自動判別ができ、それを元のまま保存できるテキストエディタを使用して下さい。
# cd ~/src # wget http://osdn.dl.sourceforge.jp/pukiwiki/15430/pukiwiki-1.4.6.tar.gz
# tar zxvf pukiwiki-1.4.6.tar.gz # ls pukiwiki-1.4.6 (これを見れば展開が成功している) # sudo mv pukiwiki-1.4.6 /data/www/html/klab (Webサーバの管理できるフォルダに移動)
# 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)
# 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
http://klab-?.is.kyusan-u.ac.jp/klab/index.php ※エラーが出る場合: 下記を参照して下さい
※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スクリプト向けに提供している情報を確認して 下さい。
エラーが出る場合: .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スクリプトに矛盾がある場合、このようなメッセージが表示されます。指定されているファイルの、指定された行の付近をチェックし、問題があれば修正して 下さい。理由としては以下のようなケースが考えられます。
エラーが出る場合: 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ディレクトリもバックアップすることをお薦めします。
データを配置した時は、ファイルのパーミッションが期待されている通りかどうか、また実際に動作するかどうかを確認して下さい。(例: 配置したページの更新を試みる)
PukiWiki 1.4.5 以降では、添付されている dumpプラグイン で、wiki/attach/ backup ディレクトリのリモートバックアップ(*.tar.gzないし*.tar形式)が可能で す。 起動の例: index.php?plugin=dump
dumpプラグインにはdumpプラグインで取得したファイルの中身をPukiWikiに展開す る機能(リモートリストア)も用意されています。ただしファイルに含まれていない データをPukiWikiから削除する機能はありません(常に上書きになります)し、Web サーバーやPHPのアップロードファイルサイズ制限を越えるファイルを利用するこ とはできません。またこの機能はデフォルトで無効になっています。
その他、PukiWikiの更新内容をメールで通知する機能は、既存のデータを失わない ための機能としてとらえる事ができるでしょう。