windows10上でdokuwikiをinstallするのに手間取ったので備忘録として残す
手間取った事
ネットで調べてinstallしたが、index.phpを動かそうとすると以下のエラーが出た。IIS_IUSRSに書き込み・変更お権限を与えてもダメだった。
The datadir ('pages') at C:/inetpub/wwwroot/dokuwiki/data/pages is not found, isn't accessible or writable. You should check your config and permission settings
調査とトライ1 進展あるも又つまづく
PHPプログラムの中にprintfを埋め込んで、inc/init.php 中での書き込み権限のチェックでエラーとなっていた。 具体的には、function init_path($path) { 中の下記コード文で失敗していた。
if (!@is_writable($p)) {
検索してみるとPHPのバグの様であった。それで、回避策として次の様に変更してみた。
if (fileperms($p) & 0x02 ==0) {
結果、エラー内容が下記の様なものに変わった。
index/page.idx is not writable. Check your permissions settings!
先ほどと同じようにprintfを埋め込んで調べると、function init_files() 中の
$fh = @fopen($file, 'a');
が失敗していた。強引に空のindex/page.idxファイルを作ってやると、warningがたくさんでて、This topic does not exist yet などの表示が出るまでは行ったが、まだまだだめそう。
そこで、次のアプローチを取る事にした。
inetpub/wwwroot配下とは別の箇所に作る。成功
inetpub/wwwroot配下に、dokuwikiがあるため書き込み権限が得られないのではないかと考え、Cディレクトリー直下に作成してみる事にした。具体的には下記。
- c:\wikiを作成し、そこにdokuwikiを配置
- IIS_IUSRSに書き込みや変更の権限を付与
- iisマネージャーでdokuwiki webサイトを作成
- サイト名をdokuwiki 物理パスをc:\wikiに設定
- php.iniのbasedirにc:\wikiを追加
結果、index.phpが成功した。
Leave a Comment