EZ-NOS WEB/FTP サーバー
Sorry, This page is written in Japanese.

●EZーNOSとは
KA9Q NOSを元として作られた Network Operating Systemで、実質的にはWEB/FTPサーバーとして使われることが多いと思われますが、 NNTP、POP3、SMTP、TELNET、TIMEサーバーも含まれているようです。(HELPファイル参照。) 8088以上のCPUで動くというとても軽 いサーバーでDOS上で動きます。特徴を一言で言えば、多機能なWEBサーバーではないが、CPUパワーのない大昔のPCでも全く問題なく動くというものです。私は286CPU + FDD + RAMDISKで動かしましたが何のストレスも感じませんでした。

※注 EZ-NOS本家のサイトはwww.eznos.orgですが、すでになくなってしまったようです。

※追記 DOS SolutionsEZNOS 2, FTP/WEB ServerにはEZ-NOS2という New Versionらしいものがありました。

●EZ-NOSのインストール
関係ファイルをダウンロードします。
(1)EZNOS実行FDを作ってフロッピーディスクで運用する。
(2)HDDへのインストーラーをダウンロードしHDDにインストールして運用する。
のどちらかになると思います。本家のページには以下のファイルが置かれていました。本家のページがなくなったことに伴い、これらのファイルはこのサイトに転載しました。

ファイル 説  明
Dosserver.exe 80386以上のPC用DR-DOS付きEZNOS実行用FD作成
Dosser88.exe 8088以上のPC用DR-DOS付きEZNOS実行用FD作成
HELP.ZIP  EZ-NOSのヘルプファイル

Windowsマシンで上記のファイルを実行することにより、各FDが作成されます。

●パケットドライバーの変更
デフォルトでは3Com EtherLink 用のパケットドライバーが組み込まれています。他のNICを使う場合はパケットドライバーを変更しなければなりません。FDで運用する場合はパケットドライバーは A:\NOS\httpd.bat で組み込まれますのでこれを書き換えます。使用するパケットドライバーも A:NOS\BIN にコピーしておきます。

●EZNOSの実行・終了
EZ-NOS FDをPCに入れ電源SWを入れるとDR-DOSが起動します。
httpd<ENTER>でEZ-NOSが動きます。
コンソール画面でEXIT<RETURN>でEZ-NOSの終了です。

●FDに組み込まれているDR-DOSについて
FDの中には必要最小限のDR-DOSしか組み込まれていません。EMM386.EXE(私は286CPUで試したので、286用のものを使いました)やRAMDISKドライバー を使うときはオリジナルのDR-DOSをダウンロードし、 解凍 後、FDに組み込むか、MS-DOSのものを流用し、FDに組み込まなければなりません。

●RAMDISKの使用
私は応答速度の高速化のためにRAMDISKを組み込んでいます。必要な実行ファイルやデータを ZCOPYを使いディレクトリごと RAMDISKにコピー後、 RAMDISKからEZ-NOSを動かしています。 ZCOPYはここからダウンロード

●EZ-NOSの設定
EZ-NOSを実行する前に、エディターでEZ-NOS設定ファイル(AUTOEXEC.NOS NOS.CFG FTPUSERS)を編集する必要があります。本家サイトに記述例が載っています。
注意 ダウンロードしたEZ-NOSの違いにより、インストールされるディレクトリ名や設定ファイル名、デフォルトの設定が違っている場合があります。
AUTOEXEC.NOSの例

# =============
# autoexec.nos
# =============
# Change to your hostname and ip address
# hostname myhost.mydomain.com <---
# -- If no hostname is available, then use the IP

# ホスト名の指定
hostname webbserver

# --this should be the private IP
# 自分の環境に合わせてIPアドレスを指定
ip address 192.168.100.11

# TCP/IP
tcp mss 1460
tcp window 4096
tcp syn off
tcp maxwait 60000
tcp irtt 1000
tcp timer linear
ip ttl 50
isat 1

# Attach Ethernet packetdriver (Change default to your gateways ip address)
# -- 0x62 = sw int. en0=interface name 5=tx packet buffer 1600= mtu (should be 1500)

# ソフトウエアインタラプトはデフォルトの0x62で問題ないと思います。
attach packet 0x62 en0 5 1500

# All comms to 192.168 /first 16 bits significant is local comms on ethernet en0
# route add 192.168/16 en0
# route add 192.168/16 en0

# The default gateway is 192.168.0.1 located connected to ethernet en0
# route add default en0 192.168.0.1

# デフォルトゲートウェイも各自の環境に合わせる。
route add default en0 192.168.100.1

# DNSサーバーの指定は多くの方は不要だと思います。
# Add domain name server (Change to your DNS server)
# domain addserver 192.168.0.1
# domain addserver 192.168.1.254

# ===Start Services===

# FTP services (Add username, password to ftpusers file)

# ウエブページのアップロードのために FTPサーバーを動かします。
ftype image
ftptdisc 900
ftpmax 10
start ftp

# Start the http server on port 80 with document root c:\nos\www
# start http 80 c \nos\www

# Document rootは C:\www としています。下の行で c \www となっていることに注意して下さい。私はHDDなしで、 RAMDISKを使ってサーバーを運用していますので、C とはRAMDISKです。
start http 80 c \www


# Service Shutdown (e.g. shutdown at 6AM)
# at 0600 exit

# or reboot (recommended once a day)

# デフォルトでは毎日リブートですが、リブートはしないこととします。
# 毎日リブートはバグ対策のおまじないなのでしょうか?
# at 0500 reboot

NOS.CFGの例


# NOS.CFGはすべてデフォルトで問題ないでしょう。
# SAMPLE: these are the defaults used.
# These are new names for the various files and directories used in nos.
# To use them, run nos as 'nos -fnos.cfg'
# If you don't change a particular filename, you should comment out each
# unneeded line, since they allocate memory for the new name.

# the autoexec file containing system setup
Startup = /nos/autoexec.nos

# the spool directory
Spoolqdir = /spool

# directory where finger files go
# Fdir = /nos/finger

# the user permission file
Userfile = /nos/ftpusers

# the directory where the logs are kept
LogsDir = /logs

# the Http server root directory
Httpdir = /www

# the Http server statistics directory
# HttpStatsDir = /wwwstats

#the Http server extended logs directory
HLogsDir = /wwwlogs

#the domain.txt file
# Dfile = /nos/domain.txt

# Console/Sysop commands help files go in this directory
CmdsHelpdir = /nos/help

FTP Serverのユーザー指定
使用を許可を与えるユーザーを設定しておきます。

ftpusersの1行は次のように構成されています。
Username Password Path Permission

これらの意味は次の通り
Username FTPサーバーに接続を許されたユーザー名。univperm は、 任意のユーザが匿名で接続することを可能にします。
Password  プレーンテキストのパスワードです。パスワードフィールドが '*' の場合にはパスワードを要求しません。
Path Path はユーザーがアクセスを許されたセミコロンで区切られたディレクトリリストです。さらにディレクトリ以下のサブディレクトリにも アクセスできます。指定された第1のパスは、ユーザのホームディレクトリです。
パーミッションは次の通り
Permission 1=読み取り許可
3=は読み書き許可  削除は不可
7=フルアクセス
127=システム管理者アクセス
128=アクセス権なし。
 
ftpusersの例(ユーザー名 パスワード パス パーミッション の順) # 必要に応じてユーザーを追加・削除やパーミッションの変更をします。
name password \ 127
dxer dxing \www 7
user secret \ftp\user 7
univperm * \ftp\univ 3
ユーザー パスワード 説  明
name password ユーザー name は、パスワード password で、システム管理者アクセス(PC全体にアクセス)できます
dxer dxing ユーザー dxer は、パスワード dxing で \www およびそれ以下のサブディレクトリにフルアクセスできます。
user secret ユーザー user は、パスワード secret で、\ftp\user にフルアクセスできます。
すべてのユーザはパスワードを必要とせずに、\ftp\univのファイルを読むこと、既存ファイルを上書きすることができます。しかし、削除はできません。
FTPサーバーの各ユーザーのホームディレクトリにMESSAGE.FTPという テキストファイルを置くことにより、各ユーザーのログイン時にメッセージを送れます。

●ウェブサーバー使用上の注意
(1)ウェブサーバー、FTPサーバーは、デフォルトの AUTOEXEC.NOSでは自動的に実行します。プロトコルはHTTP/1.0です
(2)ドキュメントルートに置かれるトップページのファイル名は root.htmです。index.html、index.htm等ではないことに注意。
(3)ドキュメントルート以下のサブディレクトリに置かれるトップページのファイル名は、welcome.htmです。index.html、index.htm等ではないことに注意。
(4)サブディレクトリに welcome.htmがない場合、そのディレクトリ内のリストが返されます。セキュリティ上、ダミーの welcome.htmを置くことをお勧めします。
(5)IE等でURLを直接入力してホームページを見る場合に、ドキュメントルート以下のサブディレクトリを指定するときは、URL末尾の / は必須です。 / がない場合、welcome.htmがあってもエラーが返されページが見えません。 

●他のサーバーについて
EZ-NOSはNNTP、POP3、SMTP、TELNETおよびTIMEサーバー を含んでいます。これらはすべてEZ-NOSコンソールまたは、¥NOS¥AUTOEXEC.NOSファイルで 起動します。各ポートは明示的に指定しなければ通常のポートが使用されます。各サーバーは停止サーバー・コマンドを使い止めることができます。 TELNETサーバーは制限があり、遠隔のユーザが Mailboxに接続することを可能にするために提供され、EZ-NOSコンソールへのアクセスを許可しない 仕様のようです。

●EZ-NOSコンソールコマンド
? 利用可能なコマンドをすべてリストします。
cls コンソール・スクリーンをクリアします。
exit EZ-NOSを終了します
help オンラインヘルプ
http status ウェブサーバのステータスを表示します。
info EZ-NOSに関する情報
multitask on シェル中にマルチタスキングを許可します。
ping w.x.y.z w.x.y.zへのPing
pkstat パケットトラフィック表示
route IPルーティングテーブルを表示します。
shell MS-DOSのShellの実行(ENTERでexit)

○参考ページ
Networking MS-DOS PC's http://www.hippy.freeserve.co.uk/eznos.htm