nanoweb
http://nanoweb.si.kz/
PHPで実装されたWebサーバ。
Windows環境だとXAMPPがあるので。それでいいかなと思うけど、
勉強会とかで不慣れな人にやってもらう場合にいいかもと触ってみる。
前提
とりあえず、PHP4が「d:\php」にインストール済みとする。
インストール先は「d:\nanoweb」とする。
インストール
上記のページから「downloads」で「nanoweb_2.2.7.zip」をダウンロードし、適当な場所に解凍。
解凍したところにあるinstall.batを叩くのだが、使う側にあまりやさしくないので編集する。
編集箇所
(L7)SET INSTROOT=c:\nanoweb ↓ SET INSTROOT=d:\nanoweb SET PHPCLI=D:\php\cli\php.exe SET PHPCGI=D:\php\php.exe (L41)ECHO. ↓ ECHO Edit Config Files %PHPCLI% instedit.php %INSTROOT% %PHPCGI% ECHO. (L44)ECHO c:\php\php-cli.exe %INSTROOT%\nanoweb.php --config=%INSTROOT%\nanoweb.conf >> %INSTROOT%\nanostart.bat ↓ ECHO %PHPCLI% %INSTROOT%\nanoweb.php --config=%INSTROOT%\nanoweb.conf >> %INSTROOT%\nanostart.bat
install.bat
@ECHO OFF ECHO ******************************************** ECHO * aEGiS nanoweb installer v1.0 for Windows * ECHO ******************************************** ECHO. SET INSTROOT=d:\nanoweb SET PHPCLI=D:\php\cli\php.exe SET PHPCGI=D:\php\php.exe ECHO Installing in %INSTROOT% ECHO. mkdir %INSTROOT% mkdir %INSTROOT%\modules mkdir %INSTROOT%\www mkdir %INSTROOT%\log mkdir %INSTROOT%\tmp ECHO Installing nanoweb.php copy src\nanoweb.php %INSTROOT% /Y ECHO Installing modules xcopy modules %INSTROOT%\modules /E /Q /Y ECHO Installing default configuration copy conf\nanoweb-win.conf %INSTROOT%\nanoweb.conf /-Y copy conf\modules-win.conf %INSTROOT%\modules.conf /-Y copy conf\vhosts-win.conf %INSTROOT%\vhosts.conf /-Y copy conf\mime.types %INSTROOT%\mime.types /-Y copy conf\default.theme %INSTROOT%\default.theme /-Y copy conf\fancy.theme %INSTROOT%\fancy.theme /-Y copy conf\nanoweb.theme %INSTROOT%\nanoweb.theme /-Y ECHO Installing default WWW root xcopy www %INSTROOT%\www /E /Q copy docs\* %INSTROOT%\www\manual /Y ECHO Edit Config Files %PHPCLI% instedit.php %INSTROOT% %PHPCGI% ECHO. ECHO @ECHO OFF > %INSTROOT%\nanostart.bat ECHO %PHPCLI% %INSTROOT%\nanoweb.php --config=%INSTROOT%\nanoweb.conf >> %INSTROOT%\nanostart.bat ECHO Done
で、以下のファイルをinstall.batと同じフォルダにコピーしておく
instedit.php
<?php if ($_SERVER['argc'] < 3) { die('引数がありません'); } $instdir = $_SERVER['argv'][1]; if (!file_exists($instdir)) { die("$instdir が見つかりません"); } $phpcgi = $_SERVER['argv'][2]; if (!file_exists($phpcgi)) { die("$phpcgi が見つかりません"); } $editfiles = array( 'nanoweb.conf', 'modules.conf', 'vhosts.conf' ); foreach ($editfiles as $file) { $filename = $instdir.DIRECTORY_SEPARATOR.$file; if (!file_exists($filename)) { continue; } $buf = file_get_contents($filename); $buf = preg_replace('/c:\\\\nanoweb/', $instdir, $buf); $buf = preg_replace('/c:\\\\php\\\\php-cgi.exe/', $phpcgi, $buf); $fp = fopen($filename, 'wb'); fwrite($fp, $buf); fclose($fp); } ?>
これでインストールしたフォルダ(d:\nanoweb)のnanostart.batを実行すればいいはず。
ログに
WARN: function 'pcntl_fork' not available
WARN: function 'posix_setuid' not available
がでるけど、Windowsなのでforkできないせいだからだと思う。
とりあえず実行できた。Maple動かしてみるか。。。