技術メモブログ

技術ネタの備忘録的なブログ。技術ネタ以外にも気になったことをつらつら書きます

IIS環境にDokuWikiを構築

会社で、部内の情報共有する場がないなと思い、安直だがWikiの使用を検討。
一口に Wiki と言っても種類があり、無料・有料、インストール型やクラウド型と多数存在。

dokuwiki.oreda.net

社内の公開できない内容も載せることを想定しているので、インストール型のDokuWikiを試してみることに。
選定理由は、インストール方法をざっと読んだ感じ、簡単そうだったから。
加えて、世界的に有名ってのもある。

構築環境は以下の通り

通常は、Apache なんかを使うみたいだけど、IIS に構築する。
以下、まっさらな環境を想定した手順。

前準備

DokuWiki のダウンロード

DokuWiki 本体を用意
公式HPからダウンロードしてくる。
言語の選択とかがあるので、自分の目的に合わせた選択を行う。

PHP をダウンロード

DokuWikiPHP を利用しているので、PHP をダウンロードする。
こちらも、公式HPからダウンロードする。
モジュールに種類があるが、今回は「7.3.4」の「VC15 x64 Non Thread Safe」 を選択

Visual Studio 2015 の Visual C++ 再頒布可能パッケージ をダウンロード

こちらも、公式HP からダウンロードする。


環境構築作業

IIS のインストール

IIS に付与した役割は下図の通り。
f:id:mtkj:20190427192225p:plain

Visual Studio 2015 の Visual C++ 再頒布可能パッケージ のインストール

特筆はなし。インストールするだけ


PHP のインストール

PHP フォルダの配置

ダウンロードした ZIP を展開し、フォルダ名を「php-7.3.4」に変更し、Cドライブ直下に配置する。
php-7.3.4 フォルダ直下にある「php.ini-production」というファイルをフォルダ内でコピーして 「php.ini」というファイル名に変更する。

環境変数の編集

ユーザー環境変数Path」に PHP フォルダのパスを登録する。
コマンドプロンプトphp -v と打てば、配位した PHP のバージョン情報が表示される

php.ini の編集

以下のように修正
殆どが、先頭のコメントアウトを外すものばかり

open_basedir = "C:/Inetpub/wwwroot;C:/Inetpub/temp;C/Windows/temp/"  
error_reporting  =  E_ALL & ~E_NOTICE
error_log = C:/php-7.3.4/logs/php_error.log
extension_dir = "C:/php-7.3.4/ext"
extension=php_openssl.dll ←なかったので追加する
cgi.force_redirect = 0
cgi.fix_pathinfo=1
fastcgi.impersonate = 1
date.timezone = Asia/Tokyo

mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = pass
mbstring.http_output = pass
mbstring.encoding_translation = Off
mbstring.detect_order = UTF-8,SJIS,EUC-JP,JIS,ASCII
mbstring.substitute_character = none
mbstring.func_overload = 0

DokuWiki の配置

ダウンロードした DokuWiki のファイルを展開し、「C:\inetpub\wwwroot」直下に配置。
配置後、IISマネージャーからアプリの追加を行う。
展開後のフォルダ名は任意(dokuwikiとした)

アクセス権の付与

C:\php-7.3.4 のアクセス権編集

f:id:mtkj:20190427192319p:plain

C:\inetpub\wwwroot\dokuwiki のアクセス権編集

「IUSR」ユーザーを追加し、権限を変更(とりあえずフルコントロールとした) f:id:mtkj:20190427192352p:plain

IIS_IUSRS」の権限を変更(こちらもフルコントロールとした) f:id:mtkj:20190427193149p:plain

IIS へランタイム登録

「Default Web Site / ハンドラーマッピング」を選択し、右上の「機能を開く」 f:id:mtkj:20190427192800p:plain

右の「モジュールマップの追加」 f:id:mtkj:20190427192814p:plain

以下の内容を記述し、OK

要求パス:*.php
モジュール:FastCgiModule
実行可能ファイル:C:\php-7.3.4\php-cgi.exe
名前:phpFCgi

f:id:mtkj:20190427192827p:plain

DokuWiki のインストール

http://[サイトへのパス]/install.php を実行して DokuWikiのインストールを実施。
スタートページが表示される。 f:id:mtkj:20190427192739p:plain

構築に関してはこんなところ

参考サイト

Windows Server 2016 & IIS 10.0 に PHPをインストール|No IT No Life - おすぎやん サーバの設計・構築

データベース不要のWikiクローン「DokuWiki」の導入 - Qiita

Windows 2008 R2にIIS 7 + PHP 5.3.8の稼働環境を構築する - Symfoware