よくある質問とそれに対する回答

募集中!

  1. Wyvern
    1. Wyvern って何?
    2. Wyvern は何ができるの?
    3. 誰が Wyvern を利用するの?
    4. Wyvern はどこで入手できるの?
  2. インストール
    1. configure 実行時に domain.sh がエラーになります。
  3. 設定
    1. wyvern.conf で ScriptAlias /cgi-bin/fml/ /usr/local/wyvern/cgi-bin/fml/ と設定しても有効になりません。
    2. マルチホーム環境で特定の IP アドレスからだけの要求を処理したいです。
  4. ロギング
    1. Proxy Cache サーバを経由して Wyvern にアクセスすると 400 Bad Request が表示されます。
  5. SSL(Secure Socket Layer)
    1. openssl-0.9.5 と FreeBSD 2.2.8 の組み合せでうまく動作しません。
  6. バーチャルホスト
    1. サーバにアクセスすると 400 Bad Request と表示され、 コンテンツが見れません。
  7. モジュール
    1. モジュールをロードするようにしたのですが、 どうもモジュールが動作してないようです。

Wyvern

Wyvern って何?

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

というのは、さておき

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

Wyvern は何ができるの?

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

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

誰が Wyvern を利用するの?

次のような人には向いているかも…(^.^)

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

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

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


インストール

configure 実行時に domain.sh がエラーになります。

domain.sh 中の #! /bin/sh#! /usr/local/bin/bash のように bash に変更すると正しく動作します。

もし、bash がインストールされていない場合は、次のように domain の前に ^ を追加してください。

domain=`grep ^domain $conf | awk '{print $2}'`; を
domain=`grep \^domain $conf | awk '{print $2}'`; に変更する。


設定

wyvern.conf で ScriptAlias /cgi-bin/fml/ /usr/local/wyvern/cgi-bin/fml/ と設定しても有効になりません。

Wyvern では、サブディレクトリのエイリアスはサポートしておりません。
上記の場合は、

ScriptAlias /cgi-fml/ /usr/local/wyvern/cgi-bin/fml/

とすると良いでしょう。

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

wyvern.conf 中の Listen の設定で、 IPアドレスとポート番号の両方を指定してください。 例えば、サーバとなるマシンが複数のネットワークインタフェースを持っていて、 それぞれの IP アドレスが、192.168.2.1、192.168.2.2、192.168.2.3 であり、 ウェブサーバは 192.168.2.2 で要求を待ちたい場合は、次のように設定します。

  Listen 192.168.2.2:80

ロギング

Proxy Cache サーバを経由して Wyvern にアクセスすると 400 Bad Request が表示されます

Wyvern では、デフォルトで不正な中継をされてきたと思われるアクセスを拒否します。 これは、リクエストに X-Forwarded-For ヘッダが付き、 その値が unknown の場合に起きます。 このとき、ErrorLog に記録が残ります。

もし、unknown の場合でもアクセスを許可したい場合は、 ソースコード(request.c)の 764 行目のコメントを外して再コンパイルおよび 再インストールしてください。

/*#define       LOGGING_ONLY_X_FORWARDED_FOR_UNKNOWN    1 */

上記の define 文を定義してコンパイルした場合は、アクセス拒否を行いません。 また、ログは AccessLog に記録されます。


SSL(Secure Socket Layer)

openssl-0.9.5 と FreeBSD 2.2.8 の組み合せで うまく動作しません

openssl-0.9.5 は FreeBSD 2.2.8 上でバグがあるようです。 最新の OpenSSL を利用してください。 openssl-0.9.5a では大丈夫です。


バーチャルホスト

サーバにアクセスすると 400 Bad Request と表示され、 コンテンツが見れません。

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

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

モジュール

モジュールをロードするようにしたのですが、 どうもモジュールが動作してないようです。

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