.\" -*- coding: euc-jp -*- .\" Copyright (c) 2001-2003 Leon Bottou, Yann Le Cun, Patrick Haffner, .\" Copyright (c) 2001 AT&T Corp., and Lizardtech, Inc. .\" .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. .\" .\" The GNU General Public License's references to "object code" .\" and "executables" are to be interpreted as the output of any .\" document formatting or typesetting system, including .\" intermediate and printed output. .\" .\" This manual is distributed in the hope that it will be useful, .\" but WITHOUT ANY WARRANTY; without even the implied warranty of .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public .\" License along with this manual. Otherwise check the web site .\" of the Free Software Foundation at http://www.fsf.org. .TH DJVUSERVE 1 "01/22/2002" "DjVuLibre-3.5" "DjVuLibre-3.5" .SH 名前 djvuserve \- インダイレクト DjVu 文書を動的に生成します。 .SH 説明 プログラム .B djvuserve は DjVu 文書を配信する .SM HTTP サーバ上で動作する .SM CGI です。 このプログラムはバンドルド形式のマルチページ文書を動的に インダイレクト形式へ変換します。 .SH DjVuServe を使用する プログラム .B djvuserve は WEB サーバの .SM CGI プログラムとして登録する必要があります。 これを行うにはいくつかの方法があります。たとえば、 Apache WEB サーバでは .B ScriptAlias ディレクティブを使用して .SM CGI プログラムのディレクトリを定義します。 ファイル .B httpd.conf が以下のような内容だとします: .IP "" 3 .BI "ScriptAlias /cgi\(enbin/ " """/var/www/cgi\(enbin""" .PP この場合、 以下のような内容の小さなシェルスクリプト .IB /var/www/cgi\(enbin/ djvuserve を作成するだけで CGI を使用することが出来ます: .IP "" 3 .B #!/bin/sh .br .BI "exec " "/full/path/to/" "djvuserve" .PP 以下の .SM URL が大きなバンドルド形式のマルチページ DjVu 文書 だとします: .IP "" 3 .IB http "" ://server/dir/doc.djvu .PP .SM CGI プログラム .B djvuserve は以下の .SM URL でこの文書をインダイレクト形式のマルチページ DjVu 文書 としてアクセスすることを可能にします: .IP "" 3 .IB http "" ://server /cgi\(enbin/djvuserve/ dir/doc.djvu /index.djvu .PP インダイレクト形式のマルチページ DjVu 文書を使用することで、 ネットワーク上を不必要なページデータを転送することなく 効果的に巨大な文書を閲覧することが出来ます。 詳細は .BR djvu(1) をご覧ください。 .SH DjVuServe をハンドラとして使用する Apache WEB サーバは全ての DjVu 文書用に .B djvuserve を自動的に実行させることが出来ます。 これには、以下のディレクティブを Apache の設定ファイル、 またはファイル .BR .htaccess で使用します: .IP "" 3 .B Action djvu-server /cgi\(enbin/djvuserve/ .br .B AddHandler djvu-server .djvu .PP すると Apache はプログラム .B djvuserve を全ての DjVu ファイルを配信するために実行します。 DjVu ファイルの .SM URL を指定すると、バンドルド形式のマルチページ文書が インダイレクト形式の文書に動的に変換される点以外は 指定された DjVu ファイルを通常のように配信します。 DjVu ファイルが要求されるたびに .B djvuserve を実行するためサーバには一定の負荷がかかります。 .SH 技術詳細 プログラム .B djvuserve は、拡張した .SM URL を使用して、バンドルド形式のマルチページ DjVu 文書の様々なコンポーネントに直接 アクセスする方法を提供します。 たとえば、1 ページ目のコンポーネントファイルが .BR p0001.djvu という名前だとすると、以下の .SM URL はこのページに直接アクセスすることが出来ます: .IP "" 3 .IB http "" ://server /cgi\(enbin/djvuserve/ dir/doc.djvu /p0001.djvu .PP しかし、各ページへアクセスするには以下の .SM URL のように、 .BR nsdejavu (1) で使用出来る .B CGI スタイルの引数を使用するほうが良いでしょう。 .IP "" 3 .IB http "" ://server /cgi\(enbin/djvuserve/ dir/doc.djvu ?djvuopts&page=12 .PP 特別なコンポーネントファイル名 .B index.djvu は対応するインダイレクト形式のマルチページ文書のインデックスへの要求 として処理されます。実際、 .BR djvuserve を使用してバンドルド形式の文書にアクセスすると、 ブラウザは以下の .SM URL をリダイレクトします: .IP "" 3 .IB http "" ://server /cgi\(enbin/djvuserve/ dir/doc.djvu /index.djvu .PP そして、バンドルド形式のファイルがインダイレクト形式の文書の様々な コンポーネントファイルを直接保持しているかのように振舞います。 .SH アクセスコントロール プログラム .BR djvuserve は多くの .SM CGI プログラムのように、 WEB サーバに確立された様々なアクセス保護をバイパスします。 たとえば WEB サイトにパスワードで保護された DjVu ファイルがあったとします。 プログラム .B djvuserve はこのパスワード保護について知る由もありませんし、指定された有効な .SM URL にある DjVu ファイルはそのまま配信してしまいます。 .B djvuserve のアクセスコントロールは、 WEB サーバはプログラム .B djvuserve を常にシェルスクリプト .IB /var/www/cgi\(enbin/ djvuserve を介して実行するということを理解していれば実装することが出来ます。 このスクリプトは環境変数 .SM PATH_TRANSLATED に指定されているファイル名に基づいて実際のプログラム .B djvuserve の実行を決定します。 このように様々な DjVu ファイルに対してアクセスを設定する スクリプトファイルは複数配置することが出来ます。こうしたスクリプトは WEB サーバの通常の方法でパスワード保護することが出来ます。 .SH 既知の問題点 相対 .SM URL で指定されたハイパーリンクは .BR djvuserve では動作しません。 通常このような .SM URL は DjVu 文書の .SM URL に対する相対パスですが、 .BR djvuserve は .SM URL .IB http://server/dir/doc.djvu を .SM URL .IB http://server /cgi\(enbin/djvuserve/ dir/doc.djvu /index.djvu というパスへ変換するため、ハイパーリンクなどのコンポーネントは .SM URL が変わってしまいます。 .SH クレジット このプログラムは Leon Bottou が開発しました。 この man page は Nobchika Morimoto が翻訳しました。 .SH 参照 .BR djvu (1)、 .BR djvmcvt (1)、 .BR nsdejavu (1)