設定について
設定はレジストリ (HKEY_LOCAL_MACHINE\SOFTWARE\ichikawa\cmdhttpd)と
ファイル (cmdhttpd.exe.txt)
より行います.
設定できる項目は,レジストリには
「走らせるポート番号」「接続元IPアドレス制限」
ファイルには「ユーザー名とパスワード」
です.
ポート番号 [名前"port" (REG_DWORD型)]
通常は一般的な http のポートの 80 とします.
設定されていない場合には 80 として動作します.
接続元IPアドレス制限 [名前 "allow0"から"allow9" (REG_SZ型)]
最大10個までのエントリー (IPアドレスとネットマスクの組)を設定でき,
このうち一つ以上にマッチしたものの接続元IPアドレスからの接続を処理します.
"[ip] [mask]" で一つのエントリーが構成され,これを
名前 allow0 から allow9 の値としてください.
auth0から auth9 までに一つも値が設定されていない場合は,
すべてのIPアドレスからの接続を許可します.
認証用のファイル
CmdHttpd.exe と同じディレクトリに CmdHttpd.exe.txt と実行ファイル名に ".txt" をつけたファイルが認証ファイルとして起動時に一回だけ読み込まれます.
最大10個までのエントリー (ユーザー名とパスワードの組)を設定できますが,
「アクセスを許すかどうか」を判断するだけでどのエントリーにマッチしたかは
一切感知しません.
なので通常1つのエントリーで十分でしょう.
この設定ファイルはテキストファイルで,
"[user]:[passwd]" で一つのエントリーが構成され,
一行一項目です. # から始まる行はコメント行として無視されます.
なお,パスワードは暗号化せずにそのまま書き込んでください。
一つも項目が設定されていない場合は,
初期パスワードとして
user: admin
passwd: adminpasswd
が設定されているものとして扱います.
cmdhttpd にアクセスできる人は
一般的な設定ではシステムの全権を支配できるようになるので
パスワードの変更(レジストリの書き換え)を必ず行ってください.
一般ユーザーはこのファイルを読めないようにアクセス権等を調整してください.
例
レジストリをregedit, regedt32 等で直接操作するのいいですが,
*.reg ファイルを用意しておき,これをダブルクリックして書き込みを行う方が
簡単です.
認証用のファイルは直接テキストエディターで開いて編集してください.
デフォルトの設定をここに,
接続元IPアドレスの制限をかけた設定例をここに用意しましたので,
このファイルを参考に設定を行ってください.
ただし,reg ファイルにおいて DWORD 型は16進数で解釈されますので,
10進数で"80"は16進数で"50"になることに注意してください.
設定の確認法
設定がちゃんとプログラムに伝わっているのかを確認するには,
cmdhttpd を「コンソールモード」で立ち上げてみてください.
(console.bat で起動するか cmdhttpd -console で起動する)
読み込まれた設定内容がコンソールに表示されます.
すべての設定は,サービス起動時に一度だけ読まれます.
(ユーザー名,パスワードなどを)変更したい場合には,
サービスを再起動してください.