coLinux日記

coLinuxはフリーソフトを種として、よろずのシステムとぞなれりける。

WebDAV と WindowsXP

2007-03-19 21:57:37 | Apache httpd
久しぶりの投稿です。

Apache httpd 2.2.4 + WebDAV + mod_ssl + digest で、httpd-dav.conf の中の次の部分に注目します。
<LimitExcept GET OPTIONS>
   require user espiya
</LimitExcept>

ここで、GET は、ブラウザからページを見るために除外しているのですが、OPTIONS はどうでしょうか。

試しに OPTIONS を除外しないと、
「ネットワークプレースの追加ウィザード」で、URLを指定しても、
「入力したフォルダは有効でないようです。別のフォルダを選択してください。」のメッセージがでます。

error_log には、
File Dose not exist: /home/data/davhome/_vti_inf.html
File Dose not exist: /home/data/davhome/_vti_bin

のようなメッセージがでます。これは、Windows XPが サーバをFrontPage Server Extension とみなすためらしいです。
mod_headers を使って、
  Header add MS-Author-Via "DAV"

を指定すればよいということです。これは、httpd コンパイル時に、configure のオプションで、
  -enable-headers

オプションが必要ですね。ただ試してみても、ここではうまくいきませんでした。

ちなみに、ないと言われるファイルやディレクトリを適当に作ってもエラーになるのでお手上げです。Mac ではこんなことはないのですが、Windows XP の WebDAV クライアントは不思議な仕様です。

また、前回作成したクライアント証明書の期限が切れ、そのときのエラーがどのように出るかが分かりました。

FireFox 2.0.0.2 では、「警告」ウィンドウが表示されて、「あなたの証明書の有効期限がきれているため、www.example.co.jp と暗号化された接続を確立できませんでした。」

のメッセージがでました。

InternetExplorer 6 では、「サーバーがみつかりません。」になりました。

/usr/local/httpd224/logs/error_log は、
[warn] Found CRL is expired - revoking all certificates until you get 
      updated CRL
[error] Certificate Verification: Error (12): CRL has expired

のようになりました。その後、証明書を変えたらうまくいかなくなりいろいろ試したところ、Digest認証のウィンドウでパスワードを保存しないようにレ点をはずしたらうまくいきました。Windows XPの場合いろいろパスワードなどを溜め込んでいるいるせいでしょうか。パスワードの保存が標準というのが気になります。

また、ここで使っているSSLのクライアント認証ですが、証明書を無効にする場合「証明書の失効」をおこないますが、httpd-ssl.conf の SSLCARevocationFile の指定をやめると証明書が復活してしまうようです。この辺がはっきりしないと実際の運用で問題になりそうです。使うときは必ず検証したほうがよいですね。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Gaucheインストール

2007-03-06 22:02:22 | コンピュータ言語
Scheme 処理系として Gauche(ゴーシュ)をインストールします。2007.1.17 に 0.8.9 にバージョンアップしました。

Gauche A Scheme Interpreter (http://www.shiro.dreamhost.com/scheme/gauche/index-j.html) からダウンロードします。

Gauche-0.8.9.tgz

その前に、libiconv をインストールします。http://www.gnu.org/software/libiconv/ から、

libiconv-1.11.tar.gz

をダウンロードして、インストールします。
$ tar xzf libiconv-1.11.tar.gz
$ cd libiconv-1.11
$ ./configure
.................
$ make
.................

# make install
#

libiconv を読み込めるように、LD_PATH_LIBRARY を設定してもいいのですが、ここでは、ldconfig を使います。
# echo /usr/local/lib >/etc/ld.so.conf.d/use-local.conf
# ldconfig
# ldconfig -p |grep iconv
        libiconv.so.2 (libc6) => /usr/local/lib/libiconv.so.2
        libiconv.so (libc6) => /usr/local/lib/libiconv.so
#

これで、Gauche をコンパイルします。
$ tar xzf Gauche-0.8.9.tgz
$ cd Gauche-0.8.9
$ ./configure --enable-multibyte=utf-8 --with-iconv=/usr/local
.......................
$ make
.......................
$ make check
.......................
$

# make install
.......................
#

$ gosh -V
Gauche scheme interpreter, version 0.8.9 [utf-8]
$ gosh
gosh> (exit)
$

うまくインストールできました。テストもすべてパスしました。
gouche のページにあったサンプルCGIを作ってみます。
$ cat /home/data/cgi-bin/goshtest
#!/usr/local/bin/gosh
(display "Content-type: text/plain\r\n\r\nHello, world.\r\n")
$ ls -l /home/data/cgi-bin/goshtest
-rwxr-xr-x 1 root root 84 .....................
$ lynx -dump http://www.example.co.jp/cgi-bin/goshtest
Hello, world.

$

うまくいきました。

さて、今後何をするか考えています。sendmail も試したいのですが、相対するサーバがないので実験が難しい点が難点です。sendmail.mc から sendmail.cf 生成まわりで m4 も見てみれば、それはコンピュータ言語といえますが。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする