Manpages

名 前

djvuserve − イ ン ダ イ レ ク ト DjVu 文 書 を 動 的 に 生 成 し ま す 。

説 明

プ ロ グ ラ ム djvuserve は DjVu 文 書 を 配 信 す る HTTP サ ー バ 上 で 動 作 す る CGI で す 。 こ の プ ロ グ ラ ム は バ ン ド ル ド 形 式 の マ ル チ ペ ー ジ 文 書 を 動 的 に イ ン ダ イ レ ク ト 形 式 へ 変 換 し ま す 。

DjVuServe を 使 用 す る

プ ロ グ ラ ム djvuserve は WEB サ ー バ の CGI プ ロ グ ラ ム と し て 登 録 す る 必 要 が あ り ま す 。 こ れ を 行 う に は い く つ か の 方 法 が あ り ま す 。 た と え ば 、 Apache WEB サ ー バ で は ScriptAlias デ ィ レ ク テ ィ ブ を 使 用 し て CGI プ ロ グ ラ ム の デ ィ レ ク ト リ を 定 義 し ま す 。 フ ァ イ ル httpd.conf が 以 下 の よ う な 内 容 だ と し ま す :

ScriptAlias /cgi–bin/ "/var/www/cgi–bin" こ の 場 合 、 以 下 の よ う な 内 容 の 小 さ な シ ェ ル ス ク リ プ ト /var/www/cgi–bin/djvuserve を 作 成 す る だ け で CGI を 使 用 す る こ と が 出 来 ま す :

#!/bin/sh

exec /full/path/to/djvuserve 以 下 の URL が 大 き な バ ン ド ル ド 形 式 の マ ル チ ペ ー ジ DjVu 文 書 だ と し ま す :

http://server/dir/doc.djvu

CGI プ ロ グ ラ ム djvuserve は 以 下 の URL で こ の 文 書 を イ ン ダ イ レ ク ト 形 式 の マ ル チ ペ ー ジ DjVu 文 書 と し て ア ク セ ス す る こ と を 可 能 に し ま す :

http://server/cgi–bin/djvuserve/dir/doc.djvu/index.djvu イ ン ダ イ レ ク ト 形 式 の マ ル チ ペ ー ジ DjVu 文 書 を 使 用 す る こ と で 、 ネ ッ ト ワ ー ク 上 を 不 必 要 な ペ ー ジ デ ー タ を 転 送 す る こ と な く 効 果 的 に 巨 大 な 文 書 を 閲 覧 す る こ と が 出 来 ま す 。 詳 細 は djvu(1) を ご 覧 く だ さ い 。

DjVuServe を ハ ン ド ラ と し て 使 用 す る

Apache WEB サ ー バ は 全 て の DjVu 文 書 用 に djvuserve を 自 動 的 に 実 行 さ せ る こ と が 出 来 ま す 。 こ れ に は 、 以 下 の デ ィ レ ク テ ィ ブ を Apache の 設 定 フ ァ イ ル 、 ま た は フ ァ イ ル .htaccess で 使 用 し ま す :

Action djvu-server /cgi–bin/djvuserve/

AddHandler djvu-server .djvu す る と Apache は プ ロ グ ラ ム djvuserve を 全 て の DjVu フ ァ イ ル を 配 信 す る た め に 実 行 し ま す 。 DjVu フ ァ イ ル の URL を 指 定 す る と 、 バ ン ド ル ド 形 式 の マ ル チ ペ ー ジ 文 書 が イ ン ダ イ レ ク ト 形 式 の 文 書 に 動 的 に 変 換 さ れ る 点 以 外 は 指 定 さ れ た DjVu フ ァ イ ル を 通 常 の よ う に 配 信 し ま す 。 DjVu フ ァ イ ル が 要 求 さ れ る た び に djvuserve を 実 行 す る た め サ ー バ に は 一 定 の 負 荷 が か か り ま す 。

技 術 詳 細

プ ロ グ ラ ム djvuserve は 、 拡 張 し た URL を 使 用 し て 、 バ ン ド ル ド 形 式 の マ ル チ ペ ー ジ DjVu 文 書 の 様 々 な コ ン ポ ー ネ ン ト に 直 接 ア ク セ ス す る 方 法 を 提 供 し ま す 。 た と え ば 、 1 ペ ー ジ 目 の コ ン ポ ー ネ ン ト フ ァ イ ル が p0001.djvu と い う 名 前 だ と す る と 、 以 下 の URL は こ の ペ ー ジ に 直 接 ア ク セ ス す る こ と が 出 来 ま す :

http://server/cgi–bin/djvuserve/dir/doc.djvu/p0001.djvu し か し 、 各 ペ ー ジ へ ア ク セ ス す る に は 以 下 の URL の よ う に 、 nsdejavu(1) で 使 用 出 来 る CGI ス タ イ ル の 引 数 を 使 用 す る ほ う が 良 い で し ょ う 。

http://server/cgi–bin/djvuserve/dir/doc.djvu?djvuopts&page=12 特 別 な コ ン ポ ー ネ ン ト フ ァ イ ル 名 index.djvu は 対 応 す る イ ン ダ イ レ ク ト 形 式 の マ ル チ ペ ー ジ 文 書 の イ ン デ ッ ク ス へ の 要 求 と し て 処 理 さ れ ま す 。 実 際 、 djvuserve を 使 用 し て バ ン ド ル ド 形 式 の 文 書 に ア ク セ ス す る と 、 ブ ラ ウ ザ は 以 下 の URL を リ ダ イ レ ク ト し ま す :

http://server/cgi–bin/djvuserve/dir/doc.djvu/index.djvu そ し て 、 バ ン ド ル ド 形 式 の フ ァ イ ル が イ ン ダ イ レ ク ト 形 式 の 文 書 の 様 々 な コ ン ポ ー ネ ン ト フ ァ イ ル を 直 接 保 持 し て い る か の よ う に 振 舞 い ま す 。

ア ク セ ス コ ン ト ロ ー ル

プ ロ グ ラ ム djvuserve は 多 く の CGI プ ロ グ ラ ム の よ う に 、 WEB サ ー バ に 確 立 さ れ た 様 々 な ア ク セ ス 保 護 を バ イ パ ス し ま す 。 た と え ば WEB サ イ ト に パ ス ワ ー ド で 保 護 さ れ た DjVu フ ァ イ ル が あ っ た と し ま す 。 プ ロ グ ラ ム djvuserve は こ の パ ス ワ ー ド 保 護 に つ い て 知 る 由 も あ り ま せ ん し 、 指 定 さ れ た 有 効 な URL に あ る DjVu フ ァ イ ル は そ の ま ま 配 信 し て し ま い ま す 。

djvuserve の ア ク セ ス コ ン ト ロ ー ル は 、 WEB サ ー バ は プ ロ グ ラ ム djvuserve を 常 に シ ェ ル ス ク リ プ ト /var/www/cgi–bin/djvuserve を 介 し て 実 行 す る と い う こ と を 理 解 し て い れ ば 実 装 す る こ と が 出 来 ま す 。 こ の ス ク リ プ ト は 環 境 変 数 PATH_TRANSLATED に 指 定 さ れ て い る フ ァ イ ル 名 に 基 づ い て 実 際 の プ ロ グ ラ ム djvuserve の 実 行 を 決 定 し ま す 。 こ の よ う に 様 々 な DjVu フ ァ イ ル に 対 し て ア ク セ ス を 設 定 す る ス ク リ プ ト フ ァ イ ル は 複 数 配 置 す る こ と が 出 来 ま す 。 こ う し た ス ク リ プ ト は WEB サ ー バ の 通 常 の 方 法 で パ ス ワ ー ド 保 護 す る こ と が 出 来 ま す 。

既 知 の 問 題 点

相 対 URL で 指 定 さ れ た ハ イ パ ー リ ン ク は djvuserve で は 動 作 し ま せ ん 。 通 常 こ の よ う な URL は DjVu 文 書 の URL に 対 す る 相 対 パ ス で す が 、 djvuserveURL http://server/dir/doc.djvuURL http://server/cgi–bin/djvuserve/dir/doc.djvu/index.djvu と い う パ ス へ 変 換 す る た め 、 ハ イ パ ー リ ン ク な ど の コ ン ポ ー ネ ン ト は URL が 変 わ っ て し ま い ま す 。

ク レ ジ ッ ト

こ の プ ロ グ ラ ム は Leon Bottou <leonb [AT] users.com> が 開 発 し ま し た 。 こ の man page は Nobchika Morimoto <morimoto [AT] lizardtech.com> が 翻 訳 し ま し た 。

参 照

djvu(1)djvmcvt(1)nsdejavu(1)