Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
DJVUSERVE(1)			  DjVuLibre-3.5 		    DJVUSERVE(1)

NAME
     djvuserve - Generate indirect DjVu documents on the fly.

DESCRIPTION
     Program  djvuserve  is  a CGI program that can be executed by a HTTP server
     for serving DjVu documents.  This program is  able  to  convert  a  bundled
     multi-page document into an indirect document on the fly.

USING DJVUSERVE
     Program  djvuserve  must  first  be installed as a CGI program for your web
     server.  There are several ways to achieve this.	The Apache  web  server,
     for instance, often defines a specific directory for CGI programs using the
     ScriptAlias  directive.   Assume that the file httpd.conf contains the fol-
     lowing line:

	ScriptAlias /cgi-bin/ "/var/www/cgi-bin"

     It  is  then  sufficient  to  create  a  small  executable   shell   script
     /var/www/cgi-bin/djvuserve containing the following lines:

	#!/bin/sh
	exec /full/path/to/djvuserve

     Suppose  that  a large bundled multi-page DjVu document is available at the
     following URL.

	http://server/dir/doc.djvu

     The CGI program djvuserve lets you access this same document as an indirect
     multi-page DjVu document using the following URL.

	http://server/cgi-bin/djvuserve/dir/doc.djvu/index.djvu

     Serving indirect multi-page DjVu documents provides for efficiently  brows-
     ing large document without transferring unnecessary pages over the network.
     See djvu(1) for more information.

     Furthermore  djvuserve searches certain keywords among the CGI arguments of
     the URL.  The keyword bundled forces serving a bundled document using

	http://server/cgi-bin/djvuserve/dir/doc.djvu?bundled

     The keyword download inserts a content disposition HTTP  header  that  sug-
     gests to display a save dialog instead of displaying the document.

	http://server/cgi-bin/djvuserve/dir/doc.djvu?download

USING DJVUSERVE AS A HANDLER
     The Apache web server provides a way to automatically execute djvuserve for
     all DjVu documents.  This can be achieved using the following directives in
     either the Apache configuration file or the .htaccess files.

	Action djvu-server /cgi-bin/djvuserve/
	AddHandler djvu-server .djvu

     Apache then executes program djvuserve for serving all DjVu files.  Provid-
     ing  the  URL of DjVu file serves this DjVu file as usual, except that bun-
     dled multipage documents are converted to indirect documents  on  the  fly.
     This  convenience comes at the expense of the computational cost of execut-
     ing djvuserve whenever a DjVu file is requested.

TECHNICAL DETAILS
     Program djvuserve provides a mean to directly access  any	component  of  a
     bundled  multi-page  DjVu	document  can be accessed using an extended URL.
     Suppose that the component file representing page 1  is  named  p0001.djvu.
     The following URL provides a direct access to this page:

	http://server/cgi-bin/djvuserve/dir/doc.djvu/p0001.djvu

     It  is preferred however to access individual pages using the CGI style ar-
     guments described in nsdejavu(1), as in the following URL.

	http://server/cgi-bin/djvuserve/dir/doc.djvu?djvuopts&page=12

     The special component file name index.djvu is recognized as a  request  for
     the index of the corresponding indirect multi-page document.  In fact, when
     you  access a bundled document using djvuserve, the browser gets redirected
     to the following URL:

	http://server/cgi-bin/djvuserve/dir/doc.djvu/index.djvu

     and then behaves as if the bundled file was a directory containing the var-
     ious component files of an equivalent indirect document.

ACCESS CONTROL
     Program djvuserve, like many CGI programs, bypasses a number of access pro-
     tections established in a web server.  Assume for instance  that  your  web
     site  contains DjVu files protected by a password.  Program djvuserve knows
     nothing about this protection and will happily serve any DjVu file  associ-
     ated with a valid URL.

     Access  control with djvuserve can be implemented by first remembering that
     the  web  server  always  executes  program  djvuserve  via  shell   script
     /var/www/cgi-bin/djvuserve.

     This  script  can decide to execute the real program djvuserve on the basis
     of the target filename available in the  environment  variable  PATH_TRANS-
     LATED.

     There  can  be several such scripts providing access to various collections
     of DjVu files.  Each of these scripts can be password protected  using  the
     usual methods supported by your web server.

KNOWN BUGS
     Hyperlinks  specified  using  a  relative	URL may not work with djvuserve.
     These URLs are relative to the URL of  the  DjVu  document.  Yet  djvuserve
     changes  the apparent document URL http://server/dir/doc.djvu into the more
     complicated  URL	http://server/cgi-bin/djvuserve/dir/doc.djvu/index.djvu.
     The extra components change the interpretation of relative URLs.

CREDITS
     This program was written by Leon Bottou <leonb@users.sourceforge.com>.

SEE ALSO
     djvu(1), djvmcvt(1), nsdejavu(1)

DjVuLibre-3.5			   01/22/2002			    DJVUSERVE(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=djvuserve&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help