Architect's Log

I'm a Cloud Architect. I'm highly motivated to reduce toils with driving DevOps.

PukiWiki構築手順

PukiWikiをWindows XPにインストールしたときの手順です。運用中のPukiWikiサイトを別のホストにコピーするときも手順は同じです。

IISのインストール

IISをインストールします。

FastCGIのインストール

IISのバージョンにあったFastCGIをインストールします。XPの場合はFastCGI 1.5 for IIS 6 です。

FastCGI for IIS : The Official Microsoft IIS Site
FastCGI for IIS enables popular application frameworks that support the FastCGI protocol to be hosted on the IIS web server in a high-performance and reliable way. FastCGI provides a high-performance alternative to the Common Gateway Interface (CGI), a standard way of interfacing external applications with Web servers that has been supported as part of the IIS feature-set since the very first release. ...

PHPのインストール

インストーラの実行

PHP: Downloads

  1. インストーラをダウンロードし、実行します。
  2. インストールウィザードの「Web Server Setup」では「IIS Fast CGI」を選択。
動作確認

以下の1行を「C:\Inetpub\wwwroot\phpinfo.php」として保存します。

<?php phpinfo(); ?>

http://[ホスト名]/phpinfo.php でページが表示されれば、インストール成功です。

PukiWikiのインストール

PukiWikiのダウンロード

PukiWiki/Download - PukiWiki-official

2010/05/27時点の最新バージョン「pukiwiki-1.4.7_notb_utf8.zip」をダウンロード。

ディレクトリ作成

解凍されたファイルすべてをwwwrootへ作成したディレクトリにコピーします。運用中のサイトをコピーする場合はそのサイトをディレクトリごとコピーすればOKです。

書き込み権限の設定

以下のディレクトリに書き込み権限を設定します。

  • /attach
  • /backup
  • /cache
  • /diff
  • /wiki

どのユーザーに書き込み権限を与えるかは、IISマネージャで確認します。通常はインターネットゲストアカウント(IUSR_[ホスト名])のはず。

動作確認

http://[ホスト名]/[ディレクトリ名]/index.php にアクセスし、ページが表示されればインストール成功です。

Wiki設定ファイルの変更

以下のページを見て「/pukiwiki.ini.php」を編集します。最低限、管理者パスワードは変更した方がいいです。(パスワードは凍結解除に使用します)

PukiWiki/Install/インストール方法 - PukiWiki-official
pukiwiki.ini.php の修正

カスタマイズ
  • ファビコンとロゴの設定

ファビコンとロゴを設定するには「/skin/pukiwiki.skin.php」を編集します。

$_IMAGE['skin']['logo']     = 'pukiwiki.png';
$_IMAGE['skin']['favicon']  = ''; // Sample: 'image/favicon.ico';
  • 認証不要でファイルを添付/削除できるようにする

「/plugin/pattach.inc.php」を編集します。

// 管理者だけが添付ファイルをアップロードできるようにする
define('PLUGIN_ATTACH_UPLOAD_ADMIN_ONLY', FALSE); // FALSE or TRUE
 
// 管理者だけが添付ファイルを削除できるようにする
define('PLUGIN_ATTACH_DELETE_ADMIN_ONLY', FALSE); // FALSE or TRUE