PAGES

GUIDE

DATA

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ファイルの編集 >サーバーにアップロード > パーミッションの変更・・という手順でとりあえず動きます。以下に手順を記載します。

ダウンロードと解凍

pukiwikiFolder.png
  • オフィシャルサイト(ここ)からダウンロードします。
  • 最新バージョンは1.5.2です。
  • 解凍すると pukiwikiフォルダが現れて、pukiwikiシステムが複数のフォルダとファイルから構成されていることがわかると思います(右図)。
  • 以下、重要なフォルダとファイルです。
    • wikiフォルダ 記事(編集画面内の内容)
    • attachフォルダ 添付ファイル
    • counterフォルダ アクセスカウント情報
    • cashフォルダ 最新の更新情報ほか
    • skinフォルダ ページのテンプレート
      • pukiwiki.skin.php が HTML構造
      • pukiwiki.css が 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
  • WikiNameを無効にしたい場合:158行目
    $nowikiname = 1
    注)先頭大文字で単語を連結した WorldWide などの文字列は、デフォルトでは WikiName と認識されるため、自動的にリンクが追加されます。これを通常の文字列として記載したい場合は、$nowikiname = 1 にして下さい。
    参考:Google:WikiNameとは
  • 管理者パスワードの設定:179行目
    $adminpass = ' 半角英数でパスワード '; 
    md5などで暗号化する方がよいのですが、ここでは省略します。
    管理者とはWikiシステムの全体を操作できる人。「神」です。管理者については、必ずパスワードを設定する必要があります。管理者パスワードは、凍結や凍結解除、ページ名の変更、添付操作などに必要です。
  • ユーザーの定義:244行目〜
    ここに◯◯ => ◯◯ の形でユーザー名とパスワードのセットを書きます。
    $auth_users = array(
       ' UserName01 ' => ' password01 ', ← 個人用のWikiなら1セットのみ
       ' UserName02 ' => ' password02 ',
       :
    );
    個人で使う場合は、以下のようにID,PWを1セット書けばOK
    $auth_users = array(
      'Koichi_Inoue' => 'abcdefg012',
    );
    ここに、すでに書かれている foo, hoge・・などは書き方の例です。消去して構いません。ただし、1件でも [ , ] を忘れないように気をつけて下さい。
  • 閲覧認証:267行目
    $read_auth = 0; ←「制限なし」という意味です。
  • 閲覧権限の付与:266行目〜
    上記で「制限なし」・・とした場合は、ここは放置して構いません。
  • 編集認証:278行目
    $edit_auth = 1; ←「制限する」という意味です。
  • 編集権限の付与:280行目〜
    $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。
  • 検索で無視するページの設定:491行目付近
    // Regex of ignore pages
    $non_list = '^\:';
    除外したいページを正規表現で記述(この例では : ではじまるページ)
    // Search ignored pages
    $search_non_list = 0;
    0にすると :config 等のシステムファイルが検索時に無視されます
  • 自動アンカーの設定:513行目
    $fixed_heading_anchor = 0; ( 必要ない場合は 0 )
  • 自動改行の設定:521行目
    $line_break = 1; (編集画面内での改行を表示に反映 )




参考:メタ構文変数
サンプルプログラムなどで、変数の書き方の事例として使う「無意味文字列」をメタ構文変数といいます。プログラマの間ではサンプル用の意味が無い変数名であると認知されているもので、foo, bar, fuga, hoge・・などがあります。



サーバーにアップロード

pukiwikiフォルダをサーバーにアップします(フォルダ名は自由です)。

  • FTPツールを使って、フォルダごとサーバーにアップして下さい。
    http://(ルートへのパス)/pukiwiki/  
    がアドレスになります。
  • 自分のPCをサーバーとして動かす場合は、xampp をインストールしたフォルダ直下の htdocs フォルダに、フォルダごと投入します。これでサーバーにアップしたのと同じ状態です。
    http://localhost/pukiwiki/  がアドレスになります。
  • ただし、この状態でアクセスしても Runtime Error のようなメッセージが出て、正しくは表示されないと思います。次に説明しますが、パーミッションの変更作業が必要です。

ルートから pukiwiki ディレクトリへ自動誘導する方法

実際のアドレスは http://(ルートへのパス)/pukiwiki/ だが、名刺やパンフレットへのURL掲載や、QRコードの生成は http://(ルートへのパス)/ に簡略化したい・・・という要望は多くあります。
 その場合、以下のようなファイルを作ってルート直下に index.html として置けば、ルートから pukiwiki ディレクトリへ自動誘導することが可能です。

<!DOCTYPE html>
<html lang="jp">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="refresh" content="0;URL=http://example.com/pukiwiki/">
    <title>SamleSite</title>
  </head>
  <body>
  </body>
</html>

付記:5行目部分の解説

content="0;URL=http://example.com/pukiwiki/"
  • 「0」 は自動転送までの時間です。速攻移動であれば 0 です。
  • URL= の部分に移動先のアドレスを記載します。


パーミッションの変更

アップロードしたフォルダやファイルはそのままでは、サーバーのプログラムから操作することができません。つまりシステム全体が正常に動きません。サーバーに対して、フォルダを開いたり、中身を書き換えたりすることを許可してあげないと、使えるようにならない・・ということです。

とりあえず乱暴ですが、すべてのファイル・フォルダに対して、パーミッションを 777 に変更、つまり「読み・書き・実行、誰でも何でもあり」に設定すると、動作して表示される可能性があります。
 ただこれにはセキュリティー上の問題があります。レンタルサーバーでは、phpフィルに関するパーミッションの設定が決められている場合があるので、実際の公開サイトでは指定の仕様にしたがって詳細に設定を行う必要があります。

参考

PukiWiki サイトの開発について

  • PukiWiki はデータベースサーバーを使わないアプリケーションであるため、ローカルで開発したものを、そのままサーバーへアップするかたちで実運用へ移行することが可能です。
  • また利用者による記事の更新とサイトのデザイン(SKIN)の更新を同時進行で進めることも可能です。以下概念図をご覧ください。
    PukiWiki サイトの開発イメージ(Made with Draw.io)




添付ファイル: filepukiwikiFolder.png 683件 [詳細]
Last-modified: 2020-02-14 (金) 11:31:25