かべちゃんのウェブサイト
付録A:FAQ

付録A:よくある質問とそれに対する回答

  1. Wyvern
  2. インストール
  3. 設定
  4. 運用
  5. 維持管理

Wyvern

Wyvern って何?

Wyvern とは、 Apache などと同様の ウェブサーバと呼ばれるソフトウェアです。

ちなみに、Wyvern は、竜目飛竜科の一種で、 体長7メートルから13メートル、コウモリのような翼と先端に毒の刺尾をもつ2本足の ドラゴンの姿をしています。一般的には飛竜として知られており、肉食で、 口から炎を吐き、西欧から北欧に分布していました。 14世紀にスコットランドで目撃されたのが最後です。 同種に、Lindwurm がいます。

Wyvern は何ができるの?

自分のシステムに導入することで、個人で手軽に自分のウェブサーバを構築できます。 また、実行サイズが小さく軽いので、 組み込みウェブサーバとしても利用可能です。

プログラムコードも小さいので独自のウェブサーバに改造するのも良いでしょう。 その他、発想次第でいろいろ応用はあると思います。

誰が Wyvern を利用するの?

次のような人には向いているかもしれませんね。

  1. Apache の設定が難しいと思う人
  2. 研究でウェブサーバを沢山必要としている人
  3. モバイルマシンでウェブサーバを立ち上げたい人
  4. 組み込み系機器にウェブサーバを導入したい人

Wyvern はどこで入手できるの?

次の URL で入手できます。
http://www.MysticWALL.com/software/wyvern/index.html

インストール

configure 実行時にエラーになります

config.log を送って下さい。 また、OS の名称とバージョン、および gcc のバージョンも教えて下さい。 なお、現在のバージョンでは、 どの Linux ディストリビューションでも動作しません

make 実行時にエラーになります

% make >& make.log と実行して、 config.log と make.log を送って下さい。 また、OS の名称とバージョン、および gcc のバージョンも教えて下さい。 なお、現在のバージョンでは、 どの Linux ディストリビューションでも動作しません

設定

"/cgi-bin/fml/" が "/usr/local/wyvern/cgi-bin/fml/" に期待どおりにマッピングされません

Wyvern では、サブディレクトリのマッピングはサポートしておりません。
上記の場合は、次のように設定すると良いでしょう。


  <host>
    ...
    <map type="script">
      <path>/cgi-fml/</path>
      <uri>/usr/local/wyvern/cgi-bin/fml/</uri>
    </map>
    ...
  </host>

マルチホーム環境で特定の IPアドレスからだけの要求を処理したい

例えば、サーバとなるマシンが複数のネットワークインタフェースを持っていて、 それぞれの IP アドレスが、192.168.1.1、192.168.2.1、192.168.3.1 であり、 ウェブサーバは 192.168.2.1 で要求を待ちたい場合は、次のように設定します。


  <listen-socket>
    <bind-address>192.168.2.1</bind-address>
    <port>80</port>
  </listen-socket>

運用

サーバにアクセスすると "400 Bad Request" と表示されます

wyvern.conf に記述したバーチャルホスト名が正しく設定されているか 確認してください。 特に、次の項目を十分に確認してください。

  1. バーチャルホスト名に指定したホスト名は DNS サーバに登録されていますか?
  2. バーチャルホスト名に指定したホスト名が正確なホスト名として記述されていますか?

モジュールが動作しません

CGI モジュールやディレクトリ一覧表示モジュールが動作しない場合、 作業用一時ディレクトリのパーミッションの問題の可能性があります。 wyvern.conf の <secure-level> が「1」の場合は、 「2」に設定して再起動してみてください。

維持管理

エラーログに "(errno = 57)" を含む出力が多いです

次のような出力がエラーログに記録されるのは、リクエスト処理後、 クライアントに結果を返そうとしたが接続が切られていた場合に起こります。
[Mon, 31 Jan 2005 22:59:45 JST] [error] failed to response data: /cgi-bin/printenv.cgi from 192.168.1.2 (errno = 57)

上記のような出力が大量に記録されている場合は、以下の原因が考えられます。

  1. ウェブサイト用ダウンローダなどのソフトウェアによるアクセス
  2. ウェブサイト用ベンチマークツールなどによるアクセス
  3. 行儀の悪い検索ロボットソフトウェアなどによるアクセス
  4. DDoSあるいは DoS攻撃を受けている