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 pro-
       grams using the ScriptAlias directive.  Assume that the file httpd.conf
       contains	the following 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 in-
       direct 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
       browsing	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 us-
       ing

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

       The keyword download inserts a content  disposition  HTTP  header  that
       suggests	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  di-
       rectives	 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.
       Providing  the  URL of DjVu file	serves this DjVu file as usual,	except
       that bundled multipage documents	are converted to indirect documents on
       the  fly.   This	 convenience comes at the expense of the computational
       cost of executing 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
       arguments 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
       various component files of an equivalent	indirect document.

ACCESS CONTROL
       Program djvuserve, like many CGI	programs, bypasses a number of	access
       protections 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 associated	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 ba-
       sis  of	the  target  filename  available  in  the environment variable
       PATH_TRANSLATED.

       There can be several such scripts providing access to  various  collec-
       tions  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/in-
       dex.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)

NAME | DESCRIPTION | USING DJVUSERVE | USING DJVUSERVE AS A HANDLER | TECHNICAL DETAILS | ACCESS CONTROL | KNOWN BUGS | CREDITS | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=djvuserve&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help