* NEW BYAKKO WIKI [#ExFaTpn]


TITLE:インストール
PukiWiki Adv.はPHPで書かれています。PHP5.4以降がインストールされている環境なら基本的にどのOS上でも動作します。Windowsユーザは、nginxと一体になった[[PukiWiki Adv. for Winginx>Technical Note/PukiWiki Adv. for Winginx]]があります。
#contents
*設置方法 [#kbea5c13]
以下は一例です。Webサーバーへのシェルアクセスが可能であれば、アーカイブをFTPやSCPなどでそのままサーバーに転送し、サーバー上で解凍するだけでも動くはずです。
 tar -Jxvf pukiwiki_adv-v2.0.0.tar.xz

一応このアーカイブを作った時点での最新の外部ライブラリが入っていますが、可能ならば以下のコマンドを実行してください。
 php ./composer.phar update

なお、Gitから最新版をダウンロードする場合は以下のコマンドを入力します。
 git clone https://github.com/logue/pukiwiki_adv

+アーカイブを解きます。
+必要に応じて設定ファイル(*.ini.php)の内容を確認します。
+共通設定
|~設定		|~設定ファイル|
|サイト別設定	|wiki-data/pukiwiki.ini.php|
|サーバー設定	|wiki-common/server.ini.php|
|ユーザ定義	|wiki-common/rules.ini.php|
|UA設定		|wiki-common/profile.ini.php|
|モバイルUI設定	|wiki-common/mobile.ini.php|
|一般UI設定	|wiki-common/default.ini.php|
|管理設定	|wiki-common/auth.ini.php|
+アーカイブの内容をサーバに転送します。&br;ファイルの転送モードについては次項を参照してください。
#row{{{{
#span(6){{
|~ディレクトリ	|~パーミッション|
|attach		|777|
|backup		|777|
|cache		|777|
|counter	|777|
|diff		|777|
|image		|755|
|lib		|755|
|plugin		|755|
|skin		|755|
|trackback	|777|
|wiki		|777|
}}
#span(6){{
|~ファイル	|~パーミッション|~転送モード|
|*.php		|644	|ASCII|
|*.lng		|644	|ASCII|
|cache/*	|666	|ASCII|
|image/*	|644	|BINARY|
|lib/*		|644	|ASCII|
|plugin/*	|644	|ASCII|
|skin/*		|644	|ASCII|
|wiki/*		|666	|ASCII|
}}
}}}}
+サーバ上のファイルおよびディレクトリのパーミッションを確認します。wiki-commonや、wiki-dataは外部から見えない場所に置いてください。(http://.../でアクセスできないいちにおくこと。)
#sh(){{
.
|--wiki-data - Wikiのデータ-ディレクトリ
|  |--attach - 添付ファイル格納ディレクトリ
|  |--backup - バックアップファイル格納ディレクトリ
|  |--cache - キャッシュディレクトリ
|  |  |-amazon - amazonのキャッシュデーター
|  |  `-captcha- 画像認証キャッシュファイル
|  |--counter - カウンター
|  |--diff - 差分ディレクトリ
|  |--htmlinsert - htmlinsert.inc.phpの埋め込みたいHTMLの格納ディレクトリ
|  |--init - プラグインオーバーライド設定ディレクトリ
|  |--log - ログディレクトリ
|  |  |-browse - 閲覧ログ
|  |  |-check - 確認ログ(mixirss.inc.phpとかをRSSリーダーで読んだとか)
|  |  |-download - 添付ファイルのダウンロードログ
|  |  `-update - 更新ログ
|  |--trackback - リファラー解析/PingBack
|  |--wiki - Wikiのデーターディレクトリ
|  `--pukiwiki.ini.php - Wiki設定ファイル
|--wiki-common
|  |--extend - 拡張プラグイン/設定格納ディレクトリ
|  |--lib - PukiWiki Adv.ライブラリディレクトリ
|  |  |--fonts - Captcha用フォント
|  |  |--openid - OpenIDライブラリ
|  |  |--PukiWiki - エンジン
|  |  |  |--Auth/ -- 認証処理
|  |  |  |--Config/ -- :config管理
|  |  |  |--File/ -- ファイル入出力
|  |  |  |--Lang/ -- 言語設定
|  |  |  |--Renderer/ -- PukiWikiパーサ
|  |  |  |--Service/ -- XmlRpcサービス
|  |  |  |--Spam/ -- アンチスパム
|  |  |  |--Text/ -- テキスト処理系
|  |  |  |--UA/ -- ユーザーエージェント判定
|  |  |  |--Attach.php - 添付ファイル管理クラス
|  |  |  |--Backup.php - バックアップ管理クラス
|  |  |  |--Factory.php - 管理クラスのファクトリークラス
|  |  |  |--Listing.php - 一覧クラス
|  |  |  |--Mailer.php - メール送信クラス
|  |  |  |--NetBios.php - NetBios
|  |  |  |--Recent.php - 更新履歴クラス
|  |  |  |--Referer.php - リンク元管理クラス
|  |  |  |--Relational.php - 関連リンク管理クラス
|  |  |  |--Render.php - ページ出力クラス
|  |  |  |--Router.php - アドレス生成クラス
|  |  |  |--Search.php - 検索処理クラス
|  |  |  |--SearchLucene.php - Luceneによる検索処理クラス 未使用
|  |  |  |--Singleton.php - シングルトンクラス 未使用
|  |  |  |--Time.php - 時刻クラス
|  |  |  |--TimeZone.php - 時差クラス
|  |  |  |--Utility.php - 汎用処理クラス
|  |  |  `--Wiki.php - Wikiファイル管理クラス
|  |  |--DSA.php - DSA暗号化ライブラリ
|  |  |--init.php - 初期設定ライブラリ
|  |  |--legacy.php - 後方互換用ライブラリ
|  |  `--resource.php - コア用メッセージ格納ライブラリ
|  |-- locale - ロケールファイル格納ディレクトリ
|  |-- en_US
|  |  `-- LC_MESSAGES
|  |-- ja_JP
|  |  `-- LC_MESSAGES
|  |-- ko_KR
|  |  `-- LC_MESSAGES
|  |-- pot
|  |-- zh_CN
|  |  `-- LC_MESSAGES
|  |-- zh_TW
|  |  `-- LC_MESSAGES
|  |--plugin - 基本プラグイン格納ディレクトリ
|  |--auth.ini.php - 認証定義
|  |--auth_api.ini.php - 外部認証API定義
|  |--auth_users.ini.php - 認証ユーザ定義
|  |--auth_workgroup.ini.php - ユーザグループ定義
|  |--confg-log.ini.php - ロギング設定
|  |--default.ini.php - エンジン基本設定
|  |--domain.ini.php - ドメイン定義
|  |--mobile.ini.php - モバイル端末設定(iOS / Android / BlackBerryなど)
|  |--profile.ini.php - UA振り分け
|  |--rules.ini.php - 省略表記設定
|  |--server.ini.php - サーバー設定(メールサーバーや、Mecabなどの位置など)
|  `--spam.ini.php - スパム判定設定
|--webroot - Web上でトップになる場所(public_htmlの位置)
|  |--image - 画像格納ディレクトリ
|  |--js - JavaScript格納ディレクトリ
|  |--skin - テーマ関連格納ディレクトリ
|  |--.htaccess - ApacheおよびCherokeeサーバー設定
|  |--.htpasswd - パスワードファイル
|  |--crossdomain.xml - 外部からのAjaxに反応するかの設定
|  |--favicon.ico - サイトのお気に入りアイコン
|  |--humans.txt - サイトの説明記述ファイル
|  |--index.php - 実際ここがサイトのトップ
|  `--robots.txt - 検索ロボット向け設定記述ファイル
|--tools - 移行ツールなど
|--vendor - 外部ライブラリ
|  `--bad-behavior - アンチスパムライブラリBad Behavior
|
`--doc - 全く役に立たない取扱説明書
}}
+777 (rwxrwxrwx) のディレクトリが書き込み権限を必要とするディレクトリ群です。&br;
それらのディレクトリ中にすでに存在するファイルにも書き込み権限が必要なので 666 (rw-rw-rw-) と設定します。それら以外は読み込みができれば充分なのでディレクトリは 755 (rwxr-xr-x)、ファイルは 644 (rw-r--r--) とします。&br;
今後、ディレクトリなどが追加された場合で、これらドキュメントの更新が追随できていない場合は、同様の考え方で設定をしてください。
+po ファイル&br;
locale/ja_JP/LC_MESSAGES/ などにある *.po ファイルは、メッセージを翻訳する際にのみ必要であり、稼働時には不要です。メッセージのカスタマイズを行わない場合には、消してかまいません。
+webroot上のindex.phpからアクセスします。

*xrea / coreserver / x-beatのファイル設置例 [#wfb6b55f]
#sh(){{
/home
   |--/[ユーザ名]/
       |--public_html/ <--ここに、webrootディレクトリ内のファイルを入れる。
       |--wiki-common/ - wikiのライブラリ
       |--wiki-data/ - Wikiのデーター
       `--vendor/ - 外部ライブラリ
}}
**独自ドメインを持っていてサブドメイン毎にWikiを設置する場合 [#g9b611ce]
サブドメイン毎に以下のようにディレクトリを設置することを推奨します。
#sh(){{
/home
   |--/[ユーザ名]/
       |--wiki-common/
       |--wiki-data/
       |    |--contents1 - contents1.foo.barのwikiデーター
       |    `--contents2 - contents2.foo.barのwikiデーター
       `--public_html/   - www.foo.barのトップディレクトリ
            |--contents1 - contents1.foo.barのトップディレクトリ
            |--contents2 - contents2.foo.barのトップディレクトリ
            |--js/
            `--image/
}}

*サーバー設定 [#od08ee3c]
Apache2.x、PHP5.4以降の環境であれば動きます。必要なモジュールは、JSON、mbstring、OpenSSL、curl、GDです。

ただ、高負荷が予想されるサイトの場合は、nginx1.x+php5.5のFPM動作で動かすことを強く推奨します。
*設置方法 [#kbea5c13]
以下は一例です。Webサーバーへのシェルアクセスが可能であれば、アーカイブをFTPやSCPなどでそのままサーバーに転送し、サーバー上で解凍するだけでも動くはずです。
 tar -Jxvf pukiwiki_adv-v2.0.0.tar.xz

一応このアーカイブを作った時点での最新の外部ライブラリが入っていますが、可能ならば以下のコマンドを実行してください。
 php ./composer.phar update

なお、Gitから最新版をダウンロードする場合は以下のコマンドを入力します。
 git clone https://github.com/logue/pukiwiki_adv

+アーカイブを解きます。
+必要に応じて設定ファイル(*.ini.php)の内容を確認します。
+共通設定
|~設定		|~設定ファイル|
|サイト別設定	|wiki-data/pukiwiki.ini.php|
|サーバー設定	|wiki-common/server.ini.php|
|ユーザ定義	|wiki-common/rules.ini.php|
|UA設定		|wiki-common/profile.ini.php|
|モバイルUI設定	|wiki-common/mobile.ini.php|
|一般UI設定	|wiki-common/default.ini.php|
|管理設定	|wiki-common/auth.ini.php|
+アーカイブの内容をサーバに転送します。&br;ファイルの転送モードについては次項を参照してください。
#row{{{{
#span(6){{
|~ディレクトリ	|~パーミッション|
|attach		|777|
|backup		|777|
|cache		|777|
|counter	|777|
|diff		|777|
|image		|755|
|lib		|755|
|plugin		|755|
|skin		|755|
|trackback	|777|
|wiki		|777|
}}
#span(6){{
|~ファイル	|~パーミッション|~転送モード|
|*.php		|644	|ASCII|
|*.lng		|644	|ASCII|
|cache/*	|666	|ASCII|
|image/*	|644	|BINARY|
|lib/*		|644	|ASCII|
|plugin/*	|644	|ASCII|
|skin/*		|644	|ASCII|
|wiki/*		|666	|ASCII|
}}
}}}}
+サーバ上のファイルおよびディレクトリのパーミッションを確認します。wiki-commonや、wiki-dataは外部から見えない場所に置いてください。(http://.../でアクセスできないいちにおくこと。)
#sh(){{
.
|--wiki-data - Wikiのデータ-ディレクトリ
|  |--attach - 添付ファイル格納ディレクトリ
|  |--backup - バックアップファイル格納ディレクトリ
|  |--cache - キャッシュディレクトリ
|  |  |-amazon - amazonのキャッシュデーター
|  |  `-captcha- 画像認証キャッシュファイル
|  |--counter - カウンター
|  |--diff - 差分ディレクトリ
|  |--htmlinsert - htmlinsert.inc.phpの埋め込みたいHTMLの格納ディレクトリ
|  |--init - プラグインオーバーライド設定ディレクトリ
|  |--log - ログディレクトリ
|  |  |-browse - 閲覧ログ
|  |  |-check - 確認ログ(mixirss.inc.phpとかをRSSリーダーで読んだとか)
|  |  |-download - 添付ファイルのダウンロードログ
|  |  `-update - 更新ログ
|  |--trackback - リファラー解析/PingBack
|  |--wiki - Wikiのデーターディレクトリ
|  `--pukiwiki.ini.php - Wiki設定ファイル
|--wiki-common
|  |--extend - 拡張プラグイン/設定格納ディレクトリ
|  |--lib - PukiWiki Adv.ライブラリディレクトリ
|  |  |--fonts - Captcha用フォント
|  |  |--openid - OpenIDライブラリ
|  |  |--PukiWiki - エンジン
|  |  |  |--Auth/ -- 認証処理
|  |  |  |--Config/ -- :config管理
|  |  |  |--File/ -- ファイル入出力
|  |  |  |--Lang/ -- 言語設定
|  |  |  |--Renderer/ -- PukiWikiパーサ
|  |  |  |--Service/ -- XmlRpcサービス
|  |  |  |--Spam/ -- アンチスパム
|  |  |  |--Text/ -- テキスト処理系
|  |  |  |--UA/ -- ユーザーエージェント判定
|  |  |  |--Attach.php - 添付ファイル管理クラス
|  |  |  |--Backup.php - バックアップ管理クラス
|  |  |  |--Factory.php - 管理クラスのファクトリークラス
|  |  |  |--Listing.php - 一覧クラス
|  |  |  |--Mailer.php - メール送信クラス
|  |  |  |--NetBios.php - NetBios
|  |  |  |--Recent.php - 更新履歴クラス
|  |  |  |--Referer.php - リンク元管理クラス
|  |  |  |--Relational.php - 関連リンク管理クラス
|  |  |  |--Render.php - ページ出力クラス
|  |  |  |--Router.php - アドレス生成クラス
|  |  |  |--Search.php - 検索処理クラス
|  |  |  |--SearchLucene.php - Luceneによる検索処理クラス 未使用
|  |  |  |--Singleton.php - シングルトンクラス 未使用
|  |  |  |--Time.php - 時刻クラス
|  |  |  |--TimeZone.php - 時差クラス
|  |  |  |--Utility.php - 汎用処理クラス
|  |  |  `--Wiki.php - Wikiファイル管理クラス
|  |  |--DSA.php - DSA暗号化ライブラリ
|  |  |--init.php - 初期設定ライブラリ
|  |  |--legacy.php - 後方互換用ライブラリ
|  |  `--resource.php - コア用メッセージ格納ライブラリ
|  |-- locale - ロケールファイル格納ディレクトリ
|  |-- en_US
|  |  `-- LC_MESSAGES
|  |-- ja_JP
|  |  `-- LC_MESSAGES
|  |-- ko_KR
|  |  `-- LC_MESSAGES
|  |-- pot
|  |-- zh_CN
|  |  `-- LC_MESSAGES
|  |-- zh_TW
|  |  `-- LC_MESSAGES
|  |--plugin - 基本プラグイン格納ディレクトリ
|  |--auth.ini.php - 認証定義
|  |--auth_api.ini.php - 外部認証API定義
|  |--auth_users.ini.php - 認証ユーザ定義
|  |--auth_workgroup.ini.php - ユーザグループ定義
|  |--confg-log.ini.php - ロギング設定
|  |--default.ini.php - エンジン基本設定
|  |--domain.ini.php - ドメイン定義
|  |--mobile.ini.php - モバイル端末設定(iOS / Android / BlackBerryなど)
|  |--profile.ini.php - UA振り分け
|  |--rules.ini.php - 省略表記設定
|  |--server.ini.php - サーバー設定(メールサーバーや、Mecabなどの位置など)
|  `--spam.ini.php - スパム判定設定
|--webroot - Web上でトップになる場所(public_htmlの位置)
|  |--image - 画像格納ディレクトリ
|  |--js - JavaScript格納ディレクトリ
|  |--skin - テーマ関連格納ディレクトリ
|  |--.htaccess - ApacheおよびCherokeeサーバー設定
|  |--.htpasswd - パスワードファイル
|  |--crossdomain.xml - 外部からのAjaxに反応するかの設定
|  |--favicon.ico - サイトのお気に入りアイコン
|  |--humans.txt - サイトの説明記述ファイル
|  |--index.php - 実際ここがサイトのトップ
|  `--robots.txt - 検索ロボット向け設定記述ファイル
|--tools - 移行ツールなど
|--vendor - 外部ライブラリ
|  `--bad-behavior - アンチスパムライブラリBad Behavior
|
`--doc - 全く役に立たない取扱説明書
}}
+777 (rwxrwxrwx) のディレクトリが書き込み権限を必要とするディレクトリ群です。&br;
それらのディレクトリ中にすでに存在するファイルにも書き込み権限が必要なので 666 (rw-rw-rw-) と設定します。それら以外は読み込みができれば充分なのでディレクトリは 755 (rwxr-xr-x)、ファイルは 644 (rw-r--r--) とします。&br;
今後、ディレクトリなどが追加された場合で、これらドキュメントの更新が追随できていない場合は、同様の考え方で設定をしてください。
+po ファイル&br;
locale/ja_JP/LC_MESSAGES/ などにある *.po ファイルは、メッセージを翻訳する際にのみ必要であり、稼働時には不要です。メッセージのカスタマイズを行わない場合には、消してかまいません。
+webroot上のindex.phpからアクセスします。

*xrea / coreserver / x-beatのファイル設置例 [#wfb6b55f]
#sh(){{
/home
   |--/[ユーザ名]/
       |--public_html/ <--ここに、webrootディレクトリ内のファイルを入れる。
       |--wiki-common/ - wikiのライブラリ
       |--wiki-data/ - Wikiのデーター
       `--vendor/ - 外部ライブラリ
}}
**独自ドメインを持っていてサブドメイン毎にWikiを設置する場合 [#g9b611ce]
サブドメイン毎に以下のようにディレクトリを設置することを推奨します。
#sh(){{
/home
   |--/[ユーザ名]/
       |--wiki-common/
       |--wiki-data/
       |    |--contents1 - contents1.foo.barのwikiデーター
       |    `--contents2 - contents2.foo.barのwikiデーター
       `--public_html/   - www.foo.barのトップディレクトリ
            |--contents1 - contents1.foo.barのトップディレクトリ
            |--contents2 - contents2.foo.barのトップディレクトリ
            |--js/
            `--image/
}}

*サーバー設定 [#od08ee3c]
Apache2.x、PHP5.4以降の環境であれば動きます。必要なモジュールは、JSON、mbstring、OpenSSL、curl、GDです。

ただ、高負荷が予想されるサイトの場合は、nginx1.x+php5.5のFPM動作で動かすことを強く推奨します。