募集中!
Wyvern は、竜目飛竜科の一種で、 体長7メートルから13メートル、コウモリのような翼と先端に毒の刺尾をもつ2本足の ドラゴンである。一般的には飛竜として知られている。肉食で、口から炎を吐く。 西欧から北欧に分布。14世紀にスコットランドで目撃されたのが最後。 同種に Lindwurm がいる。
というのは、さておき
Wyvern とは、 Apache などと同様の ウェブサーバと呼ばれるソフトウェアです。
自分のシステムに導入することで、個人で手軽に自分のウェブサーバを構築できます。 また、実行サイズが小さく軽いので、 組み込みウェブサーバとしても利用可能です。
プログラムコードも小さいので独自のウェブサーバに改造するのも良いでしょう。 その他、発想次第でいろいろ応用はあると思います。
次のような人には向いているかも…(^.^)
次の URL で入手できます。
http://www.MysticWALL.com/software/wyvern/wyvern.html
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 では、サブディレクトリのエイリアスはサポートしておりません。
上記の場合は、
ScriptAlias /cgi-fml/ /usr/local/wyvern/cgi-bin/fml/
とすると良いでしょう。
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
Wyvern では、デフォルトで不正な中継をされてきたと思われるアクセスを拒否します。 これは、リクエストに X-Forwarded-For ヘッダが付き、 その値が unknown の場合に起きます。 このとき、ErrorLog に記録が残ります。
もし、unknown の場合でもアクセスを許可したい場合は、 ソースコード(request.c)の 764 行目のコメントを外して再コンパイルおよび 再インストールしてください。
/*#define LOGGING_ONLY_X_FORWARDED_FOR_UNKNOWN 1 */
上記の define 文を定義してコンパイルした場合は、アクセス拒否を行いません。 また、ログは AccessLog に記録されます。
openssl-0.9.5 は FreeBSD 2.2.8 上でバグがあるようです。 最新の OpenSSL を利用してください。 openssl-0.9.5a では大丈夫です。
wyvern.conf に記述したバーチャルホスト名が正しく設定されているか 確認してください。 特に、次の項目を十分に確認してください。
CGI モジュールやディレクトリ一覧表示モジュールが動作しない場合、 作業用の一時ディレクトリのパーミッションの問題の可能性があります。 wyvern.conf の SecureLevel が「1」の場合は、 「2」に設定して再起動してみてください。