PyukiWiki - 自由にページを追加・削除・編集できるWebページ構築CGI

"PyukiWiki" ver 0.2.1-beta2-dev1 $$
Copyright (C) 2005-2012 PukiWiki Developers Team
Copyright (C) 2004-2012 Nekyo (Based on PukiWiki, YukiWiki)
License: GPL version 3 or (at your option) any later version
and/or Artistic version 1 or later version.
Based on YukiWiki http://www.hyuki.com/yukiwiki/
and PukiWiki http://pukiwiki.sfjp.jp/
URL:
http://pyukiwiki.info/

MAIL:
ななみ <nanami (at) daiba (dot) cx> (注:バーチャル女の子です)

$Id: README.html,v 1.34 2012/09/05 23:45:24 papu Exp $
This text file written UTF-8 Codeset

目次

最新情報

以下のURLで最新情報を入手してください。
http://pyukiwiki.info/

概要

PyukiWiki(ぴゅきうぃき)はハイパーテキストを素早く容易に追加・編集・削除できるWebアプリケーション(WikiWikiWeb)です。テキストデータからHTMLを生成することができ、Webブラウザーから何度でも修正することができます。

PyukiWikiはperl言語で書かれたスクリプトなので、多くのCGI動作可能なWebサーバー(無料含む)に容易に設置でき、軽快に動作します。

なお、更に軽快に動作をさせたいのであれば、かなり最適化されたNekyo氏のバージョンをご利用下さい。

http://sfjp.jp/projects/pyukiwiki/releases/?package_id=4436

ライセンス

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

このプログラムはフリーソフトウェアです。それを再配布し、かつ、またはPerl自体と同じ条件の下でそれを修正することができます。

PyukiWikiは、GPL3もしくはArtisticライセンスの元で配布されます。自由に利用し、自由に配布し、自由に改造し、それを再配布して構いません。

ただし、原版と同名のパッケージとして名乗ることを禁止します。詳しくは、下記のURL,または、インストール済のPyukiWikiのwiki文からご確認下さい。

(原版と異なれば、PyukiWiki TurboR 等のような原版の名称を含む命名であれば構いません)

同梱しているライブラリには、一部MITライセンスの物が含まれますがこちらは適用しません。

寄付について

開発環境強化、継続的な開発の為に、寄付をお願いしています。
vector シェアレジ、銀行振り込みに対応しています。

寄付のうち、vector シェアレジから受け取った金額のうち、5%を、少ないながらも東日本大震災への寄付金として準備致します。

動作環境

PyukiWikiの動作環境は以下のとおりです。

パッケージについて

はじめに

index.cgiの一行目をあなたのサーバに合わせて修正します。

 
#!/usr/local/bin/perl
#!/usr/bin/perl
#!/opt/bin/perl
等
 
Windows サーバーでは、
#!c:/perl/bin/perl.exe
#!c:\perl\bin\perl.exe
#!c:\perl64\bin\perl.exe
を設定しても良いでしょう。

pyukiwiki.ini.cgi の変数の値を修正します。

「ファイル一覧」にあるファイルをサーバに転送します。

転送モードやパーミッションを適切に設定します。

通常は、お使いのFTPソフトの自動認識で構いませんので、index.cgi だけパーミッションを設定すれば、すぐに動作可能な場合もあります。

ブラウザでサーバ上の index.cgiのURLにアクセスします。

アクセスをしたら、AdminPage (?cmd=admin) へ行き、すぐに、管理者パスワードを変更して下さい。

ファイル一覧

ここでのファイル一覧は、最新の一覧が反映されていない可能性があります

説明文

以下のファイルは、Webサーバに転送する必要はありません。

+-- README.txt			解説文書(このファイル)
+-- COPYRIGHT.txt		GNU GENERAL PUBLIC LICENSE(原文)
+-- COPYRIGHT.ja.txt	GNU GENERAL PUBLIC LICENSE(日本語訳)

CGI群

以下のファイルはCGIが実行できるディレクトリにFTPします。

* と記載されているファイルは、コンパクト版にはありません。

                       転送モード パーミッション   説明
+-- index.cgi               TEXT  755 (rwxr-xr-x)  CGIwrapper
+-- pyukiwiki.ini.cgi       TEXT  644 (rw-r--r--)  定義ファイル
+-- lib                           755 (rwxr-xr-x)  使用モジュール群
    +-- wiki.cgi            TEXT  644 (rw-r--r--)  CGI本体
    +-- aguse.inc.pl*       TEXT  644 (rw-r--r--)  Exプラグイン
    +-- antispam.inc.pl     TEXT  644 (rw-r--r--)  Exプラグイン
    +-- antispamwiki.inc..  TEXT  644 (rw-r--r--)  Exプラグイン
    +-- authadmin_..inc.pl  TEXT  644 (rw-r--r--)  Exプラグイン
    +-- autometa....inc.pl  TEXT  644 (rw-r--r--)  Exプラグイン
    +-- google_an...inc.pl* TEXT  644 (rw-r--r--)  Exプラグイン
    +-- iecompati...inc.pl  TEXT  644 (rw-r--r--)  Exプラグイン
    +-- lang.inc.pl*        TEXT  644 (rw-r--r--)  Exプラグイン
    +-- linktrack.inc.pl*   TEXT  644 (rw-r--r--)  Exプラグイン
    +-- logs.inc.pl*        TEXT  644 (rw-r--r--)  Exプラグイン
    +-- punyurl.inc.pl*     TEXT  644 (rw-r--r--)  Exプラグイン
    +-- setting.inc.pl*     TEXT  644 (rw-r--r--)  Exプラグイン
    +-- slashpage.inc.pl*   TEXT  644 (rw-r--r--)  Exプラグイン
    +-- urlhack.inc.pl*     TEXT  644 (rw-r--r--)  Exプラグイン
    +-- Algorithm                 755 (rwxr-xr-x)  ディレクトリ
    |   +-- Diff.pm         TEXT  644 (rw-r--r--)  差分用
    |   AWS *                     755 (rwxr-xr-x)  ディレクトリ
    |   |-- browsers.pm*    TEXT  644 (rw-r--r--)  アクセス解析定義ファイル
    |   |-- domains.pm*     TEXT  644 (rw-r--r--)  (リリース版のみ)
    |   |-- operating_...*  TEXT  644 (rw-r--r--)
    |   |-- robots.pm*      TEXT  644 (rw-r--r--)
    |   +-- search_eng...*  TEXT  644 (rw-r--r--)
    +-- Digest*                   755 (rwxr-xr-x)  ディレクトリ
    |   +-- Perl*                 755 (rwxr-xr-x)  ディレクトリ
    |       +-- MD5.pm*     TEXT  644 (rw-r--r--)  md5 計算用
    +-- File                      755 (rwxr-xr-x)  ディレクトリ
    |   |-- MMagic.pm       TEXT  644 (rw-r--r--)  ファイル種別監査用
    |   |-- magic.txt*      TEXT  644 (rw-r--r--)  Magicファイル(リリース版のみ)
    |   +-- magic_compa..**TEXT  644 (rw-r--r--)  Magicファイル(コンパクト版のみ)
    +-- HTTP                      755 (rwxr-wr-x)  ディレクトリ
    |   +-- Lite.pm         TEXT  644 (rw-r--r--)  HTTPクライアント
    +-- IDNA*                     755 (rwxr-wr-x)  ディレクトリ
    |   +-- Punycode.pm*    TEXT  644 (rw-r--r--)  recent.inc.plで使用
    +-- Jcode*                    755 (rwxr-wr-x)  ディレクトリ
    |   +-- Unicode*              755 (rwxr-wr-x)  ディレクトリ
    |   |   +-- Contants.pm*TEXT  644 (rw-r--r--)  Jcode.pm で使用
    |   |   +-- NoXS.pm*    TEXT  644 (rw-r--r--)  Jcode.pm で使用
    |   |-- _Classic.pm*    TEXT  644 (rw-r--r--)  Jcode.pm で使用
    |   |-- Contants.pm*    TEXT  644 (rw-r--r--)  Jcode.pm で使用
    |   |-- H2Z.pm*         TEXT  644 (rw-r--r--)  Jcode.pm で使用
    |   |-- Tr.pm*          TEXT  644 (rw-r--r--)  Jcode.pm で使用
    |   +-- Unicode.pm*     TEXT  644 (rw-r--r--)  Jcode.pm で使用
    +-- Nana                      755 (rwxr-xr-x)  ディレクトリ
    |   |-- Cache.pm        TEXT  644 (rw-r--r--)  キャッシュモジュール
    |   |-- File.pm         TEXT  644 (rw-r--r--)  ファイルアクセスモジュール
    |   |-- GZIP.pm*        TEXT  644 (rw-r--r--)  gzip圧縮モジュール
    |   |-- HTTP.pm         TEXT  644 (rw-r--r--)  HTTPクライアント
    |   |-- Lock.pm         TEXT  644 (rw-r--r--)  ファイルロック用
    |   |-- Logs.pm*        TEXT  644 (rw-r--r--)  アクセスログ解析用
    |   |-- Mail.pm         TEXT  644 (rw-r--r--)  メール送信用
    |   |-- Pod2Wiki.pm*    TEXT  644 (rw-r--r--)  pod→wiki変換モジュール
    |   |-- Search.pm*      TEXT  644 (rw-r--r--)  あいまい検索用
    |   |-- YukiWikiDB.pm   TEXT  644 (rw-r--r--)  YukiWikiDB
    |   +-- YukiWikiDB_G..* TEXT  644 (rw-r--r--)  gzip圧縮版YukiWikiDB
    +-- Time                      755 (rwxr-wr-x)  ディレクトリ
    |   +-- Local.pm        TEXT  644 (rw-r--r--)  recent.inc.plで使用
    +-- Yuki                      755 (rwxr-xr-x)  ディレクトリ
        |-- DiffText.pm     TEXT  644 (rw-r--r--)  差分用
        |-- RSS.pm          TEXT  644 (rw-r--r--)  RSS用
        +-- YukiWikiDB.pm   TEXT  644 (rw-r--r--)  オリジナルのYukiWikiDB

参照ファイル

以下のファイルは、pyukiwiki.ini.cgi 内の変数 $::data_homeで指定するディレクトリに転送します。

詳しくは pyukiwiki.ini.cgi を参照して下さい。

+-- backup                        777 (rwxrwxrwx)  バックアップ保存用ディレクトリ
|   +-- index.html          TEXT  755 (rwxr-xr-x)  一覧表示防止用
+-- counter                       777 (rwxrwxrwx)  カウンタ値保存用ディレクトリ
|   +-- index.html          TEXT  755 (rwxr-xr-x)  一覧表示防止用
+-- diff                          777 (rwxrwxrwx)  差分保存用ディレクトリ
|   +-- index.html          TEXT  755 (rwxr-xr-x)  一覧表示防止用
+-- info                          777 (rwxrwxrwx)  情報保存用ディレクトリ
|   +-- index.html          TEXT  755 (rwxr-xr-x)  一覧表示防止用
+-- plugin                        777 (rwxrwxrwx)  プラグイン用ディレクトリ
|   +-- index.html          TEXT  755 (rwxr-xr-x)  一覧表示防止用
+-- resource                      755 (rwxr-xr-x)  リソース用ディレクトリ
|   +-- index.html          TEXT  755 (rwxr-xr-x)  一覧表示防止用
|   +-- すべてのファイル    TEXT  644 (rw-r--r--)  リソースファイル
|   +-- conflict.ja.txt     TEXT  644 (rw-r--r--)  更新の衝突時のテキスト
+-- wiki                          777 (rwxrwxrwx)  ページデータ保存用ディレクトリ
    +-- index.html          TEXT  755 (rwxr-xr-x)  一覧表示防止用

※バックアップ保持用ディレクトリは compactバージョンにはありません。

外部公開ファイルファイル

以下のファイルは、pyukiwiki.ini.cgi 内の変数 $::data_pubで指定するディレクトリに転送します。

詳しくは pyukiwiki.ini.cgi を参照して下さい。

                       転送モード パーミッション   説明
+-- attach                        777 (rwxrwxrwx)  添付保存用ディレクトリ
|   +-- index.html          TEXT  755 (rwxr-xr-x)  一覧表示防止用
+-- cache                         777 (rwxrwxrwx)  一時ディレクトリ
|   +-- index.html          TEXT  755 (rwxr-xr-x)  一覧表示防止用
+-- image                         755 (rwxr-xr-x)  画像保存用ディレクトリ
|   +-- index.html          TEXT  755 (rwxr-xr-x)  一覧表示防止用
+-- skin                          755 (rwxr-xr-x)  スキン用ディレクトリ
    +-- pyukiwiki.skin.ja.cgi     644 (rw-r--r--)  スキンファイル
    +-- default.ja.css            644 (rw-r--r--)  表示用 css
    +-- print.ja.css              644 (rw-r--r--)  印刷用 css
    +-- blosxom.css               644 (rw-r--r--)  blosxom 用 css
    +-- instag.js                 644 (rw-r--r--)  拡張編集用 JavaScript
    +-- common.ja.js              644 (rw-r--r--)  共通使用JavaScript
    +-- index.html                644 (rw-r--r--)  一覧表示防止用

パーミッション設定のTIPS

一部ユーザー権限で動作するWebサーバーの場合、「とりあえず」index.cgiのパーミッションを 701 (rwx-----x) にすることで動作します。

その他、セキュリティーを強化したい場合は、各ディレクトリを以下のように設定します。

+-- attach                        701 (rwx-----x)  添付保存用ディレクトリ
+-- backup                        700 (rwx------)  バックアップ保存用ディレクトリ
+-- cache                         701 (rwx-----x)  一時ディレクトリ
+-- counter                       700 (rwx------)  カウンタ値保存用ディレクトリ
+-- diff                          700 (rwx------)  差分保存用ディレクトリ
+-- image                         701 (rwx-----x)  画像保存用ディレクトリ
+-- info                          700 (rwx------)  情報保存用ディレクトリ
+-- lib                           700 (rwx------)  使用モジュール群
+-- plugin                        700 (rwx------)  プラグイン用ディレクトリ
+-- resource                      700 (rwx------)  リソース用ディレクトリ
+-- skin                          701 (rwx-----x)  スキン用ディレクトリ
+-- wiki                          700 (rwx------)  ページデータ保存用ディレクトリ

パーミッション設定のTIPS

一部ユーザー権限で動作するWebサーバーの場合、「とりあえず」index.cgiのパーミッションを 701 (rwx-----x) にすることで動作します。

その他、セキュリティーを強化したい場合は、各ディレクトリを以下のように設定します。

+-- attach                        701 (rwx-----x)  添付保存用ディレクトリ
+-- backup                        700 (rwx------)  バックアップ保存用ディレクトリ
+-- cache                         701 (rwx-----x)  一時ディレクトリ
+-- counter                       700 (rwx------)  カウンタ値保存用ディレクトリ
+-- diff                          700 (rwx------)  差分保存用ディレクトリ
+-- image                         701 (rwx-----x)  画像保存用ディレクトリ
+-- info                          700 (rwx------)  情報保存用ディレクトリ
+-- lib                           700 (rwx------)  使用モジュール群
+-- plugin                        700 (rwx------)  プラグイン用ディレクトリ
+-- resource                      700 (rwx------)  リソース用ディレクトリ
+-- skin                          701 (rwx-----x)  スキン用ディレクトリ
+-- wiki                          700 (rwx------)  ページデータ保存用ディレクトリ

CSSを編集したければ?

CSSはyuicompressorで圧縮されています。その為、編集しずらいと思いますので、 編集をするのであれば、*.css.orgを参照して下さい。

再圧縮するには、こちら(英語)をご覧下さい。

http://developer.yahoo.com/yui/compressor/

JavaScriptを編集したければ?

JavaScriptは、yuicompressor、または、Packer Javascript で圧縮されています。

その為、編集しずらいと思いますので、-devel 版をダウンロードの上 *.js.srcを参照して下さい。

再圧縮に関しましては、DEVEL版の説明書をご覧下さい。

もし動かなければ?

パーミッションが正しいかどうか確認して下さい。

サーバー提供会社、プロバイダ奨励のパーミッションをなるだけ優先して下さい。

それでもだめなら.htaccessをまず削除してみて下さい。

特に、attach/.htaccess, image/.htaccess, skin/.htaccessの削除を忘れないで下さい。

一部のプロバイダーでは、設定に工夫が必要です。

もしかしたら、OSがWindows系の場合がありますので、適切な設定をして下さい。

CGI.pmが導入されてないサーバーでは

CGI.pmが導入されていないサーバーでは、別途配布されているCGI.pm.zipを解凍して、lib 以下に置いて下さい。

http://pyukiwiki.info/PyukiWiki/Download からダウンロードできます。

UTF8にしたら文字化けする?PukiWiki宛てのInterWikiが正常ではない?

perl5.8.0以前のバージョンでかつサーバー上にJcodeがインストールされていません。

代替のJcode.pm 0.88をインストールして下さい。

@@BASEURL/PyukiWiki/Download からダウンロードできます。

一部の無料サーバーにおきまして

一部の無料サーバーでは、EUC版、UTF8版、もしくは双方とも文字化けする可能性があります。サーバーに仕様とも考えられますので、新たに別の無料サーバーをご利用されることをお勧めします。

管理者ページに入れなくなった。凍結できなくなった。

パスワードを、以下の方法で初期化できます。

info/setup.ini.cgi をダウンロードします。

末尾に、以下を追加します。

$::adminpass = crypt("pass", "AA");
1;

アップロードします。

info/setup.ini.cgi が存在しなければ、新規作成をして、そのままアップロードして下さい。

アップデート版においての追記

アップデート版でも、ルートフォルダ(ディレクトリの)「pyukiwiki.ini.cgi」が上書きされるため、アップデート前に必ずリネームして下さい。

また、こちらがお勧めですが、info/setup.ini.cgi にpyukiwiki.ini.cgi の変更部分を記述すれば、スムーズにアップデートできるかと思います。

?cmd=setupeditorからも、編集することができます。

簡単なFAQ

PyukiWikiの作者が変ったのですか?
×→いいえ、変ったのではなく追加です。
現状におきましては、原作者のNekyo氏は、PyukiWikiとしては残念ながら音信普通となり、開発を停止しています。
PyukiWikiの動作が重いのですが
compact版にすると多少は軽くなりますが、更に軽くする場合、Nekyo氏のオリジナル版をご利用になるとよいでしょう。ただし、多くの機能が制限されます。

最新バグFix対応版は、こちらから
http://sfjp.jp/projects/pyukiwiki/releases/?package_id=4436
既存のプラグインが動かなくなってしまったのですが?
可能な限り、過去バージョン向けのプラグインを動作できるよう変更はしていますが、実質、0.1.6にて大幅に仕様が変更になり動作しなくなったものもあります。
(popular, rename等は、既存バージョン用のプラグインが「まともに」 (=ちょっとしたことでも)動作しないので、新しいバージョンを添付しています)
バージョンアップが激しい?
個人的に、あくまでも、「自分の為に」更新をしている為に、特に内部的なバージョンアップが激しい場合があります。
1日に10回や20回も更新していることもありますが、そのほとんどがいたって普通の転送であったりすることもあります。
インストールしてみて、動かない?
正常にパーミッション設定、及び、ファイルの適切な編集が完了したにも関わらず、動作しない場合は、gzip圧縮を無効にしてみて下さい。 pyukiwiki.ini.cgi で
$::gzip_path = 'nouse';
を設定するか、
info/setup.cgi で(こちらが奨励)
$::gzip_path = 'nouse';
を設定してみて下さい。
mod_perl、speedy_cgiで動かないのですが?
mod_perlには対応確認済みです。speedy_cgiは未確認です。
ただし、現状では、動作しなかったものを動作させるようにしただけのものであり、高速化の恩恵は現状では受けていません。
wiki.cgiが醜い(本来の変換は見にくい)のですが・・・
full版、compact版は、実際に動作する環境の為に、余計なコメント等を大幅に削除しています。
また、過去にベンチマークを取得して、ある程度サブルーチンの順番も考慮しています。
wiki.cgiのサブルーチンのコメントが必要な方は、-devel版をダウンロードして下さい。
同一のバージョンであれば、-full版と-devel版であれば、混在しても動作します。
ライセンスがかわったのですか?
「you can redistribute it and/or modify it under the same terms as Perl itself.」
「=Perlと同じライセンスで再配布できます。」
の文面を明確にすると、GPL3とArtisticライセンスが適用されることになります。

SourceForge.jpプロジェクト登録のため、ライセンスをはっきりさせるために明記したのであり、基本的にはYukiWikiからのライセンスを継承しているものと考えています。
PyukiWiki0.1.5のwikiをそのまま移行すると文面がおかしくなるのですが?
多くのPukiWiki文法を取り入れると同時に、多くの文法不具合も修正されています。
仕様外の文法で記述されている場合、不具合が生じることがあります。
また、インラインプラグイン(&amp;plugin(...);)において、「;」で終了していないと、不具合が起きます。ネスト可能にする為に厳格に文法チェックを行なっていますので、閉じていない場合は、「;」で閉じるようにして下さい。
プラグインを作成してみたい?
sample/ ディレクトリの、stationary.inc.pl、及び、stationary_explugin.inc.plを参考にして下さい。
ExPluginは、本来プログラミングではあってはならない、関数の重複を逆に利用して実現している機能ですので、重複させる関数を設定する時には、十分注意して下さい。

PukiWikiからの移行について

PyukiWikiは、PukiWikiの代替になるものではありませんが、多くの互換性を持ったものであります。

現状におきまして、PukiWikiが php 5.4 になって動作しなくなったことにより、移行をされている方が見られますが、あくまで、ほとんどが代替になるだけであって、完全に動作保障をすることができません。

PukiWikiとPyukiWikiの違いは?

全く違う言語、及びエンジンで、似たようなものを表示させようとしていることが、根本的に異なります。

PukiWikiのプラグインは動作するの?

php言語でできている為、動作しません。ただし、移植をすれば、動作するかもしれません。

PukiWikiより劣っているのは

PukiWikiより優れているのは

主な更新履歴

0.2.1-beta2で動かない、またはおかしい既知機能

0.2.1-beta1で実装していない、または、動かない既知機能

0.2.0-p3からの主な変更点

※その他、ビルドツールを用いて生成しています為、旧来のEUC版等もサポートをしていますが、チェックが完全にできない為に、何らかの不具合が発生する可能性があります。ただし、生成元のソースは、EUCコードです。

0.2.0-p2からの主な変更点

0.2.0-p1からの主な変更点

0.2.0からの主な変更点

0.1.9からの主な変更点

0.1.8からの主な変更点

0.1.7からの主な変更点

0.1.5からの主な変更点

(ただし、現状において、自動でのSEO対策機能は、そのままでは対策になりません)
http_header
header
ispage(予約)
notviewmenu(予約)
#pagenavi(*,PyukiWIki/Download>0.1.6,''ダウンロード'') 等
(wikiで使うようなものではないのですが・・・)

使用しているライブラリ等

謝辞

作者

Copyright (C) 2004-2007 by Nekyo
http://nekyo.qp.land.to/ (リンク切れ)

Copyright (C) 2002-2007 by Hiroshi Yuki
http://www.hyuki.com/

Copyright (C) 2005-2012 by ななみ (ななこっち★)
http://nanakochi.daiba.cx/ http://www.daiba.cx/ http://chat.daiba.cx/
http://vpsinfo.jp/ http://eat.jp.net/ http://pyu.be/ http://power.daiba.cx/
http://twitter.com/nanakochi123456/
http://ja.wikipedia.org/wiki/%e5%88%a9%e7%94%a8%e8%80%85%3aPapu

Copyright (C) 2004-2007 by やしがにもどき
http://hpcgi1.nifty.com/it2f/wikinger/pyukiwiki.cgi (リンク切れ)

Copyright (C) 2005-2007 by Junichi
http://www.re-birth.com/ (コンテンツなし)

Copyright (C) 2005-2012 PukiWiki Developers Team
http://pyukiwiki.info/ http://pyukiwiki.sfjp.jp/