War FTP Daemon(WarFTPD)の使用方法


ここでは、War FTP Daemon(WarFTPD)の具体的な使い方の一例を示します。FTPデーモンとしての基本的な設定は、各OS毎の設定でできているものとします。

■前提条件

使い方としては、極一般的な以下を前提とします。
  1. 複数ユーザ環境におけるWebコンテンツの転送 
  2. ソフト配布用のAnonymous FTP
     
注: WarFTPPDは、データ修正時にユーザデータベースをリアルタイムに保存してくれません。設定を変更したら「サーバ」->「ユーザデータベースを保存」で手動で必ずセーブしてください。そうしないと、再起動するとせっかく設定したデータが消えてしまいます。ただ、実際にはオートセーブ機能があり、タイマでセーブされるようになっているのですが、デフォルトが60分になっているため、それ以下でタイミングが悪いと消えてしまうことがあります。このタイマの設定変更については、こちらを参照ください。「userdb_AUTOSAVE」というパラメータです。(負荷になるのであまり短くしないように・・・)


■基本的な設定

まず、WarFTPdを動かすための最低限必要な設定を行います。設定は、「ユーザマネージャ」から行います。
  1. 下記ボタンを押し、ユーザマネージャを起動する。



  2. ユーザブラウザ(ユーザマネージャの左枠)で「System」を選択し、システム全体の動作条件を設定する。右下の枠内の「security」を選択すると、「Security - FTP restrictions」が表示される。ここでは、Idleタイムや同時接続数等の設定を行う。
    設定項目は以下のとおりで、変更するには欄内に数字を入力するか、右側で「Use this value」を選択し、スライダで値を選べばよい。

■ディレクトリ構成

ユーザのファイルアクセスについて設定するが、ここがWarFTPdの一番分かりにくいところです。
WarFTPdには、システム、クラス、グループ、ユーザという階層的な概念があり、これがディレクトリ構成に関係してきます。簡単に言うと、上位階層でディレクトリを定義すると、その定義は以下の階層に共通のディレクトリとして扱われるということです。従って、前提条件1のような使い方をするのであれば、少なくともシステムには何も定義してはいけません。基本は、Systemでは何も設定せず、同一の使い方をするユーザをあるクラスに割り当て、その下のユーザでここのユーザの定義をすればよい。更に階層が必要ならグループを使用する。共有ディレクトリとしては、デフォルトで「/」、「/bin」、「/pub」、「/usr」、「/upload」がインストール時に指定したディレクトリに作成されている。これをそのまま使用してもいいし、共有ディレクトリが不要なら削除してしまえばよい。具体的な例を以下に示します。   
ここでは、おやじだけでなく、あっこやリナもホームページを作るので、以下のようなディレクトリ構成で、プロバイダと同じようにhttp://www.aconus.com/~oyaji/といった形式でアクセスできるようにしてあり、異なるパーティションにAnonymous FTP用のディレクトリを作成することとします。


  E:\home [ ルートディレクトリ ]
    |
    ├ oyaji [ おやじのユーザディレクトリ ]
    | |
    | └ public_html [ ドキュメントルート ]
    |    |
    |    ├ index.htm [トップページ ]
    |    ├ bbs     [ CGI設置用 ]
    |    └ count [ CGI設置用 ]
    |
    ├ akirin [ あっこのユーザディレクトリ ]
    | |
    | └ public_html [ ドキュメントルート ]
    |    |
    |    ├ index.html [トップページ ]
    |    └ cgi [ CGI設置用 ]
    |
    └ rina [ リナのユーザディレクトリ ]
       |
       └ public_html [ ドキュメントルート ]
          |
          ├ index.html [トップページ ]
          └ keijiban [ CGI設置用 ]

  F:\ftp [Anonymous用ディレクトリ]
    


■ユーザの作成とディレクトリのマウント


デフォルトで、Sysadmin、User、Vistorがあるので、UserをWeb用に、VisitorをAnonymous FTP用に使用することにします。

◆事前準備

  1. まず、共有ディレクトリの無いクラスとあるクラスが必要なので、Systemのディレクトリを全て削除し、クラスで属性を分けるようにする。具体的には、左側のユーザブラウザで「System」を選択し、右下の枠内の「Security」配下の「File access」を選択。



  2. 上部のマウントポイントの上で右クリックし、全てを削除する。


◆Web用の設定

  1. Web用にユーザとマウントポイントを設定する。事前準備として、Explorerで上記ディレクトリをあらかじめ作成しておく。

  2. ユーザブラウザの「User」上で右クリックし、ユーザを追加を選択し、追加するユーザ名を入力する。



  3. パスワード入力画面がでるので、確認入力を含めて2回入力する。パスワードを考えるのが面倒なら、下のパスワード生成ボタンを押せばクリップボードに8桁のランダムパスワードが生成されるので、これを貼り付けてもよい。メモしておくことを忘れないように。



  4. 続いて登録したユーザがログインできるようにする。ユーザブラウザで登録されたユーザを選択し、右下の枠内の「Account」を選択すると、右側の中央にアクセス条件が表示される。デフォルトでは、「FTP login access」のValue(値)がdenyになっていてログインできないので、Valueが「allow」になりAllow欄が緑でyesになるまで欄上でダブルクリックする。(左側のマークがニコちゃんマークになる。)



    なお、毎回設定が面倒なら、左側のユーザブラウザで「User」を選択し、同様に「FTP login access」のValue(値)をallowにしておくと、新規ユーザ追加時にデフォルトでallowになる。つまり、左側のユーザブラウザで「User」や「Visitor」を選択した時の設定が各クラスのデフォルトになる

  5. ユーザブラウザで登録されたユーザを選択し、右下の枠内の「Security」配下の「File access」を選択。右上の枠内で右クリックして、「新規」を選択するとパスプロパティが開くので、ファイルシステム:file、パスを設定し、マウントポイントを固定にチェックを入れマウントポイントを指定する。ここは、ユーザのルートディレクトリなので、「/」とする。
    なお、ネットワークドライブをマウントする場合は、ネットワークドライブとして割り付けたドライブ名(x:\等)ではなく割り付ける前のパス情報(ex. \\server\share 等)で指定すればよい。



  6. 次に、ファイルアクセス権限について設定する。以下に各設定の意味を示すが、Web用なら図のような設定でよい。

    (1)一般
      ・不許可:パスへのアクセスをすべて不許可。パスは表示されるが、入ることはできない。
      ・再帰的:このパスおよび配下のパスへのアクセスを許容。
      ・フリー:パス中のファイルはアップロード/ダウンロード比率制限から除外。
    (2)ディレクトリ
      ・作 成:ディレクトリの作成を許可。
      ・削 除:ディレクトリの削除を許可
      ・リスト:ディレクトリ・リストの中でパスの内容を表示。内容が隠されても、パス自体は見える。
      ・隠 す:パスを隠す。
    (3)ファイル
      ・読込み:ダウンロードを許可。
      ・書込み:アップロードを許可。(既存のファイル上にアップロードするための削除を許可)
      ・削 除:ファイル削除を許可。
      ・実 行:将来機能。


     
以降、3〜6項を繰り返せば、おやじだけでなく、あっこやリナも登録すればそれぞれのWebディレクトリにログインできるようになる。

◆FTP用の設定

FTP用の設定も基本的にWeb用と同一である。ユーザブラウザでAnonymousを選択し、パスワードで「メールアドレスを有効にする」にチェックを入れる以外は、Webの4〜6項を行えばよい。ディレクトリは、Web用と同じパーティションである必要は全くない。


◆その他の設定

WarFTPdを使ってみると、あまり速度が出ないという問題にぶつかることがある。その場合は、下記により改善される可能性があるので試してみてください。

 ・「サーバ」 -> 「アドバンスサーバのプロパティ」 で 「ftpd_BUFSIZ」の値(デフォルト:16)を、倍ぐらいずつ増加させてみる。あまり増やしてもメモリの無駄使いになるだけなので、増速効果を見ながら増やしてみる。環境にもよるが、おやじは128ぐらいまでは効果があった。


Top Pageへ