PukiWikiStart
PukiWiki基礎
軽快で高機能なWiki。情報共有の場を素早く構築可能です。
サイドバーにサブメニューを表示しています→
CONTENTS
はじめに
Wikiとは
WikiとはWebブラウザから簡単にWebページの発行・編集などが行なえる CMS(Contents Management System)のひとつです。「Wiki」は専門用語の省略形ではなく、ハワイ語の「Wikiwiki」が語源で、「速い」「急ぐ」「形式張らない」といった意味があります 。
Wikiサイトには冊子体のような「完成形」はありません。完全な状態に整ってから公開する・・という必要はなく、「書きかけ」があっても構いません。共同で編集するメモ帳・・といった感覚で気軽にはじめてみましょう。
導入の準備
Seesaa Wikiや@Wikiのようなサービスではなく、自分でWikiシステムをカスタマイズして活用したい・・という場合には、まずWikiページが表示される環境を整える必要があります。HTMLファイル(~.html)の集合からなるWebサイトとは異なり、Wikiサイトは記事(テキストデータ)とスキン(HTMLのひな型)と各種のプラグインのセットからなるソフトウエアで、その動作確認には、PHPが動くWebサーバーが必要です。
方法は3つあります
- 1) 自分のPCにサーバーソフトをインストールして実験環境をつくる
- 2) 個人あるいは職場で契約済みのPHPが動作するサーバーを利用する
- 3) PHP対応のレンタルサーバー(無料のものもあります)を利用する
PukiWikiのインストール
Wikiには、インターネット百科事典Wikipediaで利用されているMediaWikiをはじめ、複数のシステムがありますが、ここではPHPのみで動作し(つまり手軽に利用でき)、動作実績においても非常に安定しているPukiWikiを例に、その活用方法を紹介します。ライセンスGPLのオープンソースで、無料で入手できます。
公式サイトからダウンロード・解凍 > iniファイルの編集 >サーバーにアップロード > パーミッションの変更・・という手順でとりあえず動きます。
ダウンロードと解凍
#image(): File not found: "pukiwikiFolder.png" at page "茂里洸大/PukiWikiStart"
- オフィシャルサイト(ここ)からダウンロードします。
- 最新バージョンは1.5.1です。
- 解凍すると pukiwikiフォルダが現れて、pukiwikiシステムが複数のフォルダとファイルから構成されていることがわかると思います(右図)。
- 以下、重要なフォルダとファイルです。
- wikiフォルダ 記事(編集画面内の内容)
- attachフォルダ 添付ファイル
- counterフォルダ アクセスカウント情報
- cashフォルダ 最新の更新情報ほか
- skinフォルダ ページのテンプレート
- pukiwiki.skin.php が HTML構造
- pukiwiki.css.php が CSS
- imgフォルダ pukiwikiの基本構成に必要なボタン画像等
- libフォルダ システムライブラリ(ここは普通は触りません)
- pluginフォルダ 各種プラグイン(追加のプラグイン等はここに投入)
- pukiwiki.ini.php 初期設定ファイル(最初に書き換える必要があります)
- サイトを実際に運用するには
- 1) pukiwiki.ini.php を編集してサイト管理上の情報を定義(必須)
- 2) ページの構造やビジュアルを変更したい場合は skinフォルダ内の2つのファイルをそれぞれカスタマイズします(任意)。
初期設定ファイルの編集
PukiWikiをサーバーにアップする前に、まず、手元で初期設定を行う必要があります(この作業は必須です)。
pukiwiki.ini.phpをエディタで開いて、サイト管理情報を書き換えましょう。
以下の行番号はあくまで参考です。バージョンが異なるとズレます。
以下、特に重要なところは太字にしています。その他はあとまわしでもOK。
- サイト名:113行目
$page_title = ' サイト名 '; ← 自由につけて構いません。日本語もOK
- サイトの管理者名:122行目
$modifier = ' 管理者名 ';
- サイト管理者のリンク:125行目
$modifierlink = ' http://www.example.com ';
- デフォルトのページ名:128行目
$defaultpage = ' トップページ名(任意) '; // Top / Default page
- JavaScriptの利用を有効に:154行目
define('PKWK_ALLOW_JAVASCRIPT', 1);
- WikiNameを無効にしたい場合:158行目
$nowikiname = 1
大文字小文字を混ぜた WorldWide などは、WikiNameとなって通常表示ができません。
参考:Google:WikiNameとは
- 管理者パスワードの設定:179行目
$adminpass = ' 半角英数でパスワード ';
md5などで暗号化する方がよいのですが、ここでは省略します。
管理者とはWikiシステムの全体を操作できる人。「神」です。管理者については、必ずパスワードを設定する必要があります。管理者パスワードは、凍結や凍結解除、ページ名の変更、添付操作などに必要です。
- ユーザーの定義:242行目
ここに◯◯ => ◯◯ の形でユーザー名とパスワードのセットを書きます。$auth_users = array( ' UserName01 ' => ' password01 ', ← 個人用のWikiなら1セットのみ ' UserName02 ' => ' password02 ', : );
個人で使う場合は、以下のようにID,PWを1セット書けばOK$auth_users = array( 'Koichi_Inoue' => 'abcdefg012', );
ここに、すでに書かれている foo, hoge・・などは書き方の例です。消去して構いません。ただし、1件でも [ , ] を忘れないように気をつけて下さい。
- 閲覧認証:264行目
$read_auth = 0; ←「制限なし」という意味です。
- 閲覧権限の付与:266行目〜
上記で「制限なし」・・とした場合は、ここは放置して構いません。
- 編集認証:275行目
$edit_auth = 1; ←「制限する」という意味です。
- 編集権限の付与:277行目〜
$edit_auth_pages = array( // Regex(ページ) => Groupname or Username(権限を有するユーザー) ' Page01 ' => ' UserName01 ', ← 個人用は1セットでOK ' Page02 ' => ' UserName02 ', : );
個人で使う場合は、例えば$edit_auth_pages = array( // Regex => Groupname or Username '#.+#' => ' Koichi_Inoue ', );
上の '#.+#' は、「すべてのページ」を意味する記号です。丸覚えでOK。
- 自動アンカーの設定:432行目
$fixed_heading_anchor = 0; ( 必要ない場合は 0 )
- 自動改行の設定:440行目
$line_break = 1; (編集画面内での改行をそのままいかす場合は 1 )
参考:メタ構文変数
サンプルプログラムなどで、変数の書き方の事例として使う「無意味文字列」をメタ構文変数といいます。プログラマの間ではサンプル用の意味が無い変数名であると認知されているもので、foo, bar, fuga, hoge・・などがあります。
サーバーにアップロード
pukiwikiフォルダをサーバーにアップします(フォルダ名は自由です)。
- FTPツールを使って、フォルダごとサーバーにアップして下さい。
http://(サイトのURL)/pukiwiki/ がアドレスになります。
- 自分のPCをサーバーとして動かす場合は、xampp をインストールしたフォルダ直下の htdocs フォルダに、フォルダごと投入します。これでサーバーにアップしたのと同じ状態です。
http://localhost/pukiwiki/ がアドレスになります。
- ただし、この状態でアクセスしても Runtime Error のようなメッセージが出て、正しくは表示されないと思います。次に説明しますが、パーミッションの変更作業?が必要です。
パーミッションの変更
アップロードしたフォルダやファイルはそのままでは、サーバーのプログラムから操作することができません。つまりプログラムが正常に動きません。サーバーに対して、フォルダを開いたり、中身を書き換えたりすることを許可してあげないと、使えるようにならない・・ということです。
とりあえず、乱暴ですが、すべてのファイル・フォルダに対して、777 つまり「読み・書き・実行、何でもあり」に設定すると、正常に動作して表示される可能性がありますが、レンタルサーバー側の利用条件で phpフィルに関するパーミッションの設定が決められている場合があるので、777 でうまく動かない場合は、レンタルサーバーの 「phpの動作条件」等を調べましょう。
参考
- ファイルのパーミッションについて? 別ページで説明しています。
- Google: ファイルパーミッション