#author("2019-12-10T16:39:00+09:00","","")
[[Web Collaboration by PukiWiki-コラム 最新のインストール方法(PukiWiki/Install/インストール方法)]]

&size(22){''PukiWiki 1.5のインストール(PukiWiki-1.5.0以降)''};


&color(red){''※重要''};

    更新作業中のため、一部の記述が最新バージョンに対応していない可能性があります

&color(red){''※重要''};

    PukiWiki 本体は、スクリプトで書かれたwiki 機能のみのソフトです。
    簡易のセキュリティとして管理者パスワードやユーザ認証などの機能やそれらを扱うラッパーは存在していますが、
    これだけでハッキングやSPAM などの脅威を防ぐ事はできません。
    このためネットワーク上で運用する際には、サーバーを設定・運用するスキルや本体への改修や機能追加(改造と称される場合もあります)を
    行うスキルなどが必須となります。


  ■目次 
    PukiWiki 1.5のインストール(PukiWiki-1.5.0以降)
        動作環境
        前提
        配置する前に
            pukiwiki.ini.php の修正 
        FTPで設置する時の注意事項
            ファイル転送モード
            文字コードと改行コードの変換 
        PukiWikiのファイル一覧
        動作確認
        PukiWikiのカスタマイズ
            pukiwiki.ini.php の調整
            MenuBarの活用
            スキンやCSSの改造による外観の変更
            プラグインやカスタマイズによる機能追加
            順調に稼動できたら 
    PukiWiki 1.5.0から1.5.xへの移行
        to 1.5.1 
    PukiWiki 1.4.7から1.5.0への移行
    PukiWiki 1.4-1.4.6から1.5.0への移行
        まずはバックアップ
        PukiWiki 1.4-1.4.3から1.4.4で何が起こったか
            ファイルの配置が変更された理由について
            各ファイルの移動元・移動先一覧 
        PukiWiki 1.4.4-1.4.5から1.4.6で何が起こったか
            管理者パスワードとユーザ認証パスワード 
        移行の手順
            Gitクライアントを使う方法
            CVSクライアントを使う方法
            GitまたはCVSのクライアントを使わない方法
            自作プラグインや自作スキンなどをPHP5.4 以降対応に改修する 
    PukiWiki 1.3系から1.5.0への移行
        バックアップ
        1.5のインストール
        ファイル名からBracket部分を取り去り、1.4以降の形式にする
        UTF-8 版に移行したい場合は、ファイル名と文字コードを変換
        書式の違いをコンバート
        リンクキャッシュを初期化する 

**動作環境 [#e55854c9]

PukiWikiはPHPで書かれています。日本語マルチバイト対応のPHPがインストールされている環境なら基本的にどのOS上でも動作します。

日本語マルチバイト対応モジュール(mbstring)対応のPHP 4.1.0以降であれば動作するはずです。

特定環境での事例や注意点については、特定の環境・サーバーへのインストール(設置)やQ&A/動作環境、動作実績などもご覧ください。

    注意: リリース時期や互換性確認などの関係で、一部修正がパッケージ未収録の場合もあります。上記のページに情報が無い場合は、BugTrackや質問箱で報告されていないかを確認してください。

**前提 [#q6744b81]

設置方法には複数の選択肢があります。

配布ファイルである tar.gz あるいは zip ファイルをそのまま設置サーバーへ放り込み、サーバー側で解凍、設定を行なうことも出来ますし、ローカルで解凍、設定したのち、FTPでファイル転送を行うことも可能です。
しかし公開サイトに設置する場合は、セキュリティソフトや機能などを併用せずに未設定のままで解凍するとwikiが攻撃される危険性が高まります。

ここでは、もっとも一般的な方法であると思われる
ローカルで解凍 ==> 設定 ==> FTPで設置サーバーへ転送 ==> パーミッションの確認

という手順を説明します。他の方法を選択している場合は、不要な部分を適宜読み飛ばしてください。

また、文字コードや改行コードはUTF-8 版デフォルトの「文字コード:UTF-8、改行コード:LF」としています(EUC-JP 版は、「文字コード:EUC-JP、改行コード:LF」)。
各ファイルを修正する前に、利用しているエディタがこれらの文字コードを扱えるのか(例えば、Win のメモ帳は、EUC-JP を扱えずLF のみは改行として認識しません)を、よく確認してください。(対応しているエディタの一例)
また対応しているエディタであっても、ファイルの読み込み時や保存時に文字コードや改行コードが変わってしまわないように、エディタの設定を確認してください。

**配置する前に [#j268f525]

FTPでファイルを配置する前に、PukiWikiの設定ファイルpukiwiki.ini.phpを自分の環境に合わせて書き換えておきましょう。
いたずらされない様に、少なくとも管理者パスワードはデフォルトでないものに変更して下さい。

既存のあるいはローカルで準備したコンテンツを他のサーバーに移動させる場合などは、PukiWiki/Install/アップグレード時の注意 も確認してください。
このページでは省略している、PukiWiki 稼動後に生成されるデータ(バックアップや添付ファイルなど)に関する説明があります。

上位バージョンにアップグレードする場合は、PukiWiki/Install/アップグレード時の注意 や、パッケージ付属のUPDATING.txt 、このページの後半部分にある「~への移行」の該当部分も忘れずに確認してください。設定やデータの移行方法、変更になった仕様や設定方法に関する説明があります。

動作ベースとなる文字コードの変更(無印やEUC-JP 版からUTF-8 版に移行など)をしたい場合は、各コンテンツファイルの文字エンコード変更とファイル名変換を行う必要があります。詳しくは、dev:BugTrack2/186 - UTF-8版関係のまとめをご確認ください。

**pukiwiki.ini.php の修正 [#tbdd56df]

 管理者の名前

    $modifier = 'anonymous';

上記のanonymousの部分をあなたの名前に書き換えましょう。日本語でもかまいません。

 管理者のサイト
    $modifierlink = 'http://pukiwiki.example.com/';
    上記の「http://pukiwiki.example.com/」の部分をあなた(あなたのPukiWikiを管理している人)のWebサイトのURLに書き換えましょう。PukiWikiを設置するURLでなくてもかまいません。あなたのWebのトップページのURLにしておきましょう。
 管理者パスワード
        設定方法
        $adminpass = '{x-php-md5}!';
        上記の「{x-php-md5}!」の部分を書き換えます。
        {x-php-md5} と頭に記述した場合は、MD5による暗号化したパスワードを書き込む必要がありますが、とりあえずは
        $adminpass = '{x-php-md5}' . md5('your-pasword');
        といった形式でyour-paswordの部分をあなたが決めた別のパスワードに書き換えて記述しておきましょう。
        正式にPukiWikiを使い続けることを決めてから、MD5によって暗号化した文字列に書き換えればいいです。
        MD5 以外の暗号化フォーマットを利用することもできます。詳しくはdev:BugTrack/709 をご覧ください。
        暗号化したパスワードを得る方法
        MD5ハッシュは、Linuxやcygwinであれば以下のようにして計算させる事ができます。('-n' オプションを忘れずに!)
           $ echo -n 'pass' | md5sum
        当然、passは別のパスワードに書き換えて暗号化した文字列を生成し、それを設定してください。
        FreeBSDなどでは md5sum の代わりに md5 コマンドを使ってください。
        他に、md5 プラグインを使うことでも生成は可能ですが、
        ネットワーク上に通信内容が丸見えになってしまう(= パスワードがばれてしまう)ので、利用する際はローカル環境を使うなど細心の注意が必要です。

以上、pukiwiki.ini.phpの中の3ヶ所の書き換えが終わったら、いよいよインストールしましょう。

くれぐれもファイル転送モードとパーミッションの設定は間違わないように。また、UNIX系の場合には、オーナー(ファイルの所有者が誰なのか)に関しても適切に設定して下さい。(PukiWiki/Install/パーミッション設定のコマンド例を参考にして下さい)

なお、配布時は index.php にアクセスするとデータが表示される様になっていますが、名前を既存ファイルと衝突しない別のもの(たとえば wiki.phpなど)に変更してもかまいません。

**FTPで設置する時の注意事項 [#yfd4c7c8]

FTPそのものやFTPクライアントに関する情報は他にまかせるとして、下記を参考にFTPクライアントの設定を確認しておいてください。

ファイル転送モード

    バイナリモード(binary mode)で転送するもの:
        画像ファイル「*.gif、*.png」
    アスキーモード(ascii mode)で転送するもの:
        画像ファイル以外のファイル一例「*.php、*.txt、*.lng、*.css、*.js」

文字コードと改行コードの変換

使用するFTPクライアントによっては、ファイル転送時に文字コードや改行コードを変換しながら転送する機能が搭載されている場合があります。ローカル編集したファイルをコードの違うサーバーへ転送する時は重宝する機能ですが、今回のような初期の設置時には注意が必要です。

バイナリーファイルである画像「*.gif、*.png」以外の「*.php、*.txt」等のアスキーファイルは、「文字コード:UTF-8、改行コード:LF」となっています(EUC-JP 版は、「文字コード:EUC-JP、改行コード:LF」)。
これらは、このまま設置した場合に動作するよう調整していますので、無変換転送に設定して転送を行なってください。

**PukiWikiのファイル一覧 [#c2a3c7c4]

    PukiWikiで必要なディレクトリとファイルは次のとおりです。

 注意

    入り口であるindex.php などのWebブラウザからアクセスする必要のあるファイルを除き、ほぼ全てのファイルを外部に対して非公開設定にする必要があります。
    PukiWikiのパスワードが書かれた設定ファイルなどを外部から簡単に覗き見られないよう、アクセスできない事を必ず確認して下さい。

 注意

    以下に示しているパーミッションは、設定の一例です。CGI版PHP を利用しているなどの理由で、このパーミッション設定では動作しない(エラーが出る)場合があります。
    この場合、サーバーの利用マニュアルやPukiWiki/CGI版PHPで動作させるにはを参考に、設定値を読み替えて下さい。また、オーナー(所有者)の設定を適切なものに変更して下さい。

ディレクトリ	755	 
ディレクトリ	777	 
ファイル	644	ASCII(UTF-8)
ファイル	644	Binary
ファイル	666	ASCII(UTF-8)
ディレクトリ・ファイル	不要	 

    (755)./
    (644/ASCII).htaccess
    (644/ASCII)en.lng.php
    (644/ASCII)ja.lng.php
    (644/ASCII)default.ini.php
    (644/ASCII)index.php (入り口用ファイル)
    (644/ASCII)keitai.ini.php
    (644/ASCII)pukiwiki.ini.php
    (644/ASCII)rules.ini.php
    COPYING.txt
    README.txt
    README.en.txt (Archived README.en.txt.tgz or README.en.txt.zip)
    UPDATING.txt
    UPDATING.en.txt (Archived UPDATING.en.txt.tgz or UPDATING.en.txt.zip)
    (777)./attach
        (644/ASCII).htaccess
        (644/ASCII)index.html
    (777)./backup
        (644/ASCII).htaccess
        (644/ASCII)index.html
    (777)./cache
        (666)recent.dat
        (666)autolink.dat
        (666)entities.dat
        (666)*.ref
        (666)*.rel
        (644/ASCII).htaccess
        (644/ASCII)index.html
    (777)./counter
        (644/ASCII).htaccess
        (644/ASCII)index.html
    (777)./diff
        (644/ASCII).htaccess
        (644/ASCII)index.html
    (755)./image
        (644/ASCII)index.html
        (644/Bin)add.png
        ahl-good.png
        atom.png
        b_pukiwiki.dev.png
        b_pukiwiki.official.png
        (644/Bin)backup.png
        (644/Bin)copy.png
        (644/Bin)diff.png
        (644/Bin)edit.png
        (644/Bin)file.png
        (644/Bin)freeze.png
        (644/Bin)help.png
        hinad.png
        lirs.png
        (644/Bin)list.png
        (644/Bin)new.png
        (644/Bin)noimage.png
        opml.png
        paraedit.png
        (644/Bin)pukiwiki.gif
        (644/Bin)pukiwiki.png
        (644/Bin)rdf.png
        (644/Bin)recentchanges.png
        (644/Bin)reload.png
        (644/Bin)rename.png
        (644/Bin)rss.png
        (644/Bin)rss20.png
        (644/Bin)search.png
        skin.png
        (644/Bin)top.png
        (644/Bin)unfreeze.png
        valid-xhtml10.png
        valid-xhtml11.png
        vcss.png
        xml.png
    (755)./image/face
        (644/ASCII)index.html
        (644/Bin)bigsmile.png
        (644/Bin)heart.png
        (644/Bin)huh.png
        (644/Bin)oh.png
        (644/Bin)sad.png
        (644/Bin)smile.png
        (644/Bin)wink.png
        (644/Bin)worried.png
    (755)./lib
        (644/ASCII).htaccess
        (644/ASCII)index.html
        (644/ASCII)auth.php
        (644/ASCII)backup.php
        (644/ASCII)config.php
        (644/ASCII)convert_html.php
        (644/ASCII)diff.php
        (644/ASCII)file.php
        (644/ASCII)func.php
        (644/ASCII)html.php
        (644/ASCII)init.php
        (644/ASCII)link.php
        (644/ASCII)mail.php
        (644/ASCII)make_link.php
        (644/ASCII)mbstring.php
        (644/ASCII)plugin.php
        (644/ASCII)proxy.php
        (644/ASCII)pukiwiki.php
    (755)./plugin
        (644/ASCII).htaccess
        (644/ASCII)index.html
        (644/ASCII)add.inc.php
        (644/ASCII)amazon.inc.php
        (644/ASCII)aname.inc.php
        (644/ASCII)article.inc.php
        (644/ASCII)attach.inc.php
        (644/ASCII)author.inc.php (1.5.1 で追加)
        (644/ASCII)back.inc.php
        (644/ASCII)backup.inc.php
        (644/ASCII)basicauthlogout.inc.php (1.5.1 で追加)
        (644/ASCII)br.inc.php
        (644/ASCII)bugtrack.inc.php
        (644/ASCII)bugtrack_list.inc.php
        (644/ASCII)calendar.inc.php
        (644/ASCII)calendar_edit.inc.php
        (644/ASCII)calendar_read.inc.php
        (644/ASCII)calendar_viewer.inc.php
        (644/ASCII)calendar2.inc.php
        (644/ASCII)clear.inc.php
        (644/ASCII)color.inc.php
        (644/ASCII)comment.inc.php
        (644/ASCII)contents.inc.php
        (644/ASCII)counter.inc.php
        (644/ASCII)deleted.inc.php
        (644/ASCII)diff.inc.php
        (644/ASCII)dump.inc.php
        (644/ASCII)edit.inc.php
        (644/ASCII)filelist.inc.php
        (644/ASCII)freeze.inc.php
        (644/ASCII)hr.inc.php
        (644/ASCII)img.inc.php
        (644/ASCII)include.inc.php
        (644/ASCII)includesubmenu.inc.php
        (644/ASCII)insert.inc.php
        (644/ASCII)interwiki.inc.php
        (644/ASCII)links.inc.php
        (644/ASCII)list.inc.php
        (644/ASCII)loginform.inc.php (1.5.1 で追加)
        (644/ASCII)lookup.inc.php
        (644/ASCII)ls.inc.php
        (644/ASCII)ls2.inc.php
        (644/ASCII)map.inc.php
        (644/ASCII)md5.inc.php
        (644/ASCII)memo.inc.php
        (644/ASCII)menu.inc.php
        (644/ASCII)navi.inc.php
        (644/ASCII)new.inc.php
        (644/ASCII)newpage.inc.php
        (644/ASCII)nofollow.inc.php
        (644/ASCII)norelated.inc.php
        (644/ASCII)online.inc.php
        (644/ASCII)paint.inc.php
        (644/ASCII)pcomment.inc.php
        (644/ASCII)popular.inc.php
        (644/ASCII)random.inc.php
        (644/ASCII)read.inc.php
        (644/ASCII)recent.inc.php
        (644/ASCII)ref.inc.php
        (644/ASCII)related.inc.php
        (644/ASCII)rename.inc.php
        (644/ASCII)rss.inc.php
        (644/ASCII)rss10.inc.php
        (644/ASCII)ruby.inc.php
        (644/ASCII)search.inc.php
        (644/ASCII)server.inc.php
        (644/ASCII)setlinebreak.inc.php
        (644/ASCII)showrss.inc.php
        (644/ASCII)size.inc.php
        (644/ASCII)source.inc.php
        stationary.inc.php プラグイン作成の雛形サンプル、使用する場合は他と同じく(644/ASCII)で
        (644/ASCII)template.inc.php
        (644/ASCII)topicpath.inc.php
        (644/ASCII)touchgraph.inc.php
        (644/ASCII)tracker.inc.php
        (644/ASCII)tracker_list.inc.php
        (644/ASCII)unfreeze.inc.php
        (644/ASCII)update_entities.inc.php
        (644/ASCII)version.inc.php
        (644/ASCII)versionlist.inc.php
        (644/ASCII)vote.inc.php
        (644/ASCII)yetlist.inc.php
        readme.ja.txt
    (755)./skin
        (644/ASCII).htaccess
        (644/ASCII)index.html
        (644/ASCII)keitai.skin.php
        (644/ASCII)pukiwiki.css.php
        (644/ASCII)pukiwiki.skin.php
        (644/ASCII)tdiary.css.php (詳細: tDiary)
        (644/ASCII)tdiary.skin.php (詳細: tDiary)
    (777)./wiki
        (644/ASCII).htaccess
        (644/ASCII)index.html
        (666)…….txt
    (777)./wiki.en (Archived wiki.en.tgz or wiki.en.zip)
        (644/ASCII).htaccess
        (644/ASCII)index.html
        (666)…….txt

**動作確認 [#k54ba299]

index.php にブラウザからアクセスしてデフォルトページが表示でき、なおかつpukiwiki.ini.php などの重要ファイルをブラウザから覗き見できなければ、基本的に設置は完了です。

念の為、以下の機能が正常に機能する事を確認しましょう。

ページの編集ができること (FrontPageなど、凍結されていないページについて)
※編集時に Runtime Errorが出る場合、更新されるファイルのパーミッションや、それらを収めているディレクトリのパーミッションとオーナーを確認して下さい
ページの新規作成、および削除ができること
※Runtime Errorが出る場合、wiki/ ディレクトリなどのパーミッションを確認して下さい 試したことがなければ、以下の操作もやってみましょう。
ページの凍結、および凍結解除ができること(設定した管理者パスワードが必要です)
凍結したファイルが編集できないこと
articleあるいはvoteプラグインで記事の投稿、投票ができること

もし、正常に表示されなかったり、エラーが出るようなら、Q&A/インストールなどを参考にしてください。

**PukiWikiのカスタマイズ [#c665cb89]

めでたく設置に成功したら、PukiWikiを自分好みにカスタマイズしていきましょう。

pukiwiki.ini.php の調整

「インストールする前に」で行なった設定以外に pukiwiki.ini.php の気になる項目があれば調整してみて下さい。
トップページとして表示するページの名前
    注意 : 1.3系列とは異なり、トップページ名に日本語を使う場合でもBracketNameにしないでください。
       $defaultpage = "フロントページ";
サイトのタイトル
    ブラウザのタイトルバーに表示される名前です。
       $page_title = "サイト名";
ユーザ認証
    詳しくは、PukiWiki/Authenticationを参照してください。

**MenuBarの活用 [#k3e3fc01]

初期状態では、「最近のxx件」という表示と共に日付とWikiNameがずらっと左側に並んでいるはずです。ページが新規作成/更新されれば、新たにWikiNameが増えたり、すでに表示されてあったWikiNameの上下位置が入れ替わったりと自動で変化しますので、表示されているWikiNameをクリックしさえすれば、自由に閲覧することが可能です。

もちろん、この初期状態のままでも使用に問題はありませんが、せっかくですからメニューの作成などをしてみてはいががでしょうか?

とにもかくにも編集するためにMenuBar のページへと辿り着かなければ始まりません。「最近のxx件」という表示の中にMenuBarというWikiNameがあればそこから辿れます。無ければ、上部メニューの「単語検索」をクリックして

       MenuBar

と打ち込み検索すれば、見付かるはずです。

ここまで辿り着いたら後は簡単。通常の編集となにも変わりませんので、自分好みにカスタマイズして下さい。
その他、Q&A/デザイン・CSS, ちょっと便利にのページでは改造/活用のヒントが紹介されています。

***スキンやCSSの改造による外観の変更 [#w683fc34]
ページ左上のアイコンは image/pukiwiki.png を置き換えればOKです。
参考までに: 標準添付のアイコンのサイズは 80 x 80 Pixelです。


**プラグインやカスタマイズによる機能追加 [#qb92d5ae]

設置が正常に完了して、サイトの外観も決まったら、実際に色々なページを作ってみます。
しばらく使っていくうちに欲しい機能や実現したい動作ができた場合はFAQ、Q&A、各質問箱、自作プラグイン、欲しいプラグイン、自作スキン などに目を通してみてください。

プラグインの中にはプラグイン内設定を変更することでデフォルトの動作を変更する事ができるものがあります。
PukiWiki に同梱されているものに関しては、ヘルプからプラグインマニュアルを呼び出し確認してみてください。
(アップグレード時にwikiデータを上書きしなかった場合、過去バージョンの内容のままになっていますので、注意してください)

ページの構成などで迷った場合は、他のPukiWikiサイトをリンク集や検索エンジンで見てみる(google:PukiWiki)と参考になるかもしれません。

** 順調に稼動できたら [#j3dcd243]

設置が完了して、順調に運用できた場合はPukiWikiは無事運用されたことになります。
//

トップ   差分 履歴 リロード   一覧 検索 最終更新   ヘルプ   最終更新のRSS