debian testing の apache2-doc

apache.org が重いのか vmware が重いのか微妙なとこですが、ローカルにマニュアル入れたくなりました。

% sudo aptitude install apache2-doc
(snip)
% apt-show-versions -p apache2-doc
apache2-doc/testing uptodate 2.2.3-2

とまあ、いつまにか(?) apache2.2 に染まってます。

ところが http://localhost/doc/apache2-doc/manual/ がちゃんと表示されません。

% telnet localhost http
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
GET /doc/apache2-doc/manual/ HTTP/1.0

HTTP/1.1 200 OK
Date: Sat, 04 Nov 2006 18:48:06 GMT
Server: Apache/2.2.3 (Debian) PHP/5.1.6-5
Last-Modified: Thu, 06 Jan 2005 11:03:21 GMT
ETag: "4c4b7-25e-cd1f040"
Accept-Ranges: bytes
Content-Length: 606
Connection: close
Content-Type: text/html
X-Pad: avoid browser bug

URI: index.html.de
Content-Language: de
Content-type: text/html; charset=ISO-8859-1

(snip)

というかんじ。

本家サイトだと

% telnet httpd.apache.org http
Trying 192.87.106.226...
Connected to httpd.apache.org.
Escape character is '^]'.
GET http://httpd.apache.org/docs/2.2/ HTTP/1.0

HTTP/1.1 200 OK
Date: Sat, 04 Nov 2006 18:53:35 GMT
Server: Apache/2.2.3 (Unix) mod_ssl/2.2.3 OpenSSL/0.9.7g
Content-Location: index.html.en
Vary: negotiate,accept-language,accept-charset
TCN: choice
Last-Modified: Thu, 17 Aug 2006 19:42:28 GMT
ETag: "68830e-1d87-41b3bd803f100;688d7d-25e-40131f720f480"
Accept-Ranges: bytes
Content-Length: 7559 Connection: close
Content-Type: text/html
Content-Language: en
Expires: Sat, 04 Nov 2006 18:53:35 GMT

<?xml version="1.0" encoding="ISO-8859-1"?>
(snip)

となっていて、 "Content-Location:" がないのが悪いっぽいのは分かりました。

http://bugs.debian.org/cgi-bin/pkgreport.cgi?pkg=apache2-doc をみてみると、どうもいろいろ混乱しているようで、 sarge(stable) の apache2-doc から /etc/apache2/conf.d/apache2-doc を拾ってきて参考にしつつ、次の設定で正しく表示されるようになりました。

<Directory "/usr/share/doc/apache2-doc/manual/">
    <Files *.html>
    SetHandler type-map
    </Files>
</Directory>

最初に表示されていた(or /usr/share/doc/apache2-doc/manual/index.html の中身の)

URI: index.html.ja.euc-jp
Content-Language: ja
Content-Type: text/html; charset=EUC-JP

とかは、 mod_negotiation の type-map ハンドラの設定ファイルだったようです。