V-antena and Tanimoto's page

谷本の備忘録・雑記帳・work

>

月: 2024年4月

MONTHLY ARCHIVE

windows10でスクリプトを実行可能にする

背景

windows10のpowershellから、wol用のmagicパケットを送出するスクリプトを実行しようとしたところ、「このシステムではスクリプトの実行が無効になっているため 云々」と怒られてしまった。そこで、ネットで調べて対処した

参考にさせていただいたwebぺージ

'https://rainbow-engine.com/ps-script-execution-disabled/

対処

管理者権限でpowershellを開き、下記コマンドを実行

set-executionpolicy remotesigned

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が成功した。

V-antena and Tanimoto's page

あなたはIPv4でアクセスしています