man dwww (Administration système) - access documentation via WWW


dwww - access documentation via WWW




A typical Linux system has documentation in many formats (manual pages, Info files, READMEs, and so on). dwww makes it possible to access all of these via the same interface, a WWW browser. This makes it easier to use the documentation.

dwww consists of several programs:

Run by the WWW server when user requests document via dwww. Parses the request and runs dwww-convert(8) with suitable arguments. Installed in the server's cgi-bin directory.
Converts any document to HTML.
Manages the cache of converted documents.
Builds static lists of manual pages. Needs to be re-run whenever documents are installed or removed. (In default configuration is called by the dwww daily cron job).
Builds the Debian Documentation Menu pages. Needs to be re-run whenever documents are installed or removed. (In default configuration is called by the update-menus(1) program or by the dwww daily cron job).

For speed reasons, the converted documents are stored in /var/cache/dwww. The cache is cleaned by dwww-refresh-cache(8) of old documents to keep it from growing too large.


dwww is configured via the /etc/dwww/dwww.conf file. That file is a Bourne shell (/bin/sh) script that defines some or all the following variables (defaults are used if the file doesn't exist, or doesn't define the variable).

Basic configuration variables

These variables can be also configured by debconf script. You can change them using the following command: dpkg-reconfigure dwww

Name of the www server. Default is localhost.
Port on which the www server listen to. Default is 80.
The document root for web server.
The directory which contains the CGI scripts for your web server.
Name of the user that the web server uses to execute CGI scripts. Default is www-data.

Browser variables

Web-browser used by dwww(1) to load dwww main page.
Web-browser used by dwww(1) to load dwww main page when in X11.

Path variables

Colon-delimited list of directories from which dwww-convert(8) supplies files. For security reasons, it will refuse to convert files outside the directories named by this variable. Default is /usr/share/doc : /usr/doc : /usr/share/info : /usr/info : /usr/share/man : /usr/man : /usr/X11R6/man : /usr/local/man : /usr/local/doc : /usr/local/info : /usr/share/common-licenses.
Colon-delimited list of directories which can be targets of symlinks from files from directories inside DWWW_DOCPATH. Default value is /usr/share:/usr/lib:/var/www.

For example, /usr/share/doc/package/foo.html may be symlinked to a file /usr/share/package/foo.html, and this file can be displayed by dwww.


Command to convert a manual page to HTML. Default is builtin_man2html, which uses dwww-txt2html(8) to convert man pages.

If you have man2html(1) installed and would prefer to use it, please add the following code to dwww's configuration file:

if [ -x /usr/lib/cgi-bin/man/man2html ] ; then man2html_cmd () { /usr/lib/cgi-bin/man/man2html "$1" } DWWW_MAN2HTML=man2html_cmd

elif [ -x /usr/lib/cgi-bin/man2html ] ; then man2html_cmd () { /usr/lib/cgi-bin/man2html "$1" } DWWW_MAN2HTML=man2html_cmd fi

Command to convert a plain text file to HTML. Default is builtin_text2html.
Command to show contents of a directory as HTML. Default is builtin_dir2html.

The converters get the filename as their argument, and should output the converted document to stdout.

Cache files locations

Location of the installed packages and programs cache file, generated by dwww-refresh-cache(8) with the help of dwww-quickfind(8). Default is /var/cache/dwww/quickfind.dat.
Location of the cache file, which maps installed doc-base files to packages names, used by the dwww-build-menu(8). Default is /var/cache/dwww/docbase2pkg.dat.
Location of doc-base registered documents contents cache. The cache is generated by dwww-build-menu(8) and read by dwww-find(8) Default is /var/cache/dwww/regdocs.dat.

Other variables

How many days should dwww-refresh-cache(8) keep documents that have not been accessed? Default is 10 days.
Directory where dwww-build(8) stores the web pages it generates. Default is /var/lib/dwww.
If this variable is set, dwww will use file:/ style URLs to access html files - bypassing the cgi script. This is faster on slow machines. Of course, you will not be able to read the html documentation on a non-local machine. Default is to not enable this feature.
Title to appear on dwww generated files. Default is dwww: $(hostname)
If this variable is set to yes (default), dwww will cache accessed documents in /var/cache/dwww/db. See dwww-cache(8).
If this variable is set to yes (default), and the swish++ package is installed, then dwww-index++ will generate index of registered documentation.
If this variable is set to yes, then while generating index of registered documents, dwww-index++(8) will use man pages index generated by man2html package, if it's available.


Configuration file for dwww. It's not necessary for this file to exist, there are sensible defaults for everything.
Default configuration file for various apache-based web servers. The dwww package postinstalation script creates symlinks from /etc/apache*/conf.d/dwww to this file.
Dwww daily cron job, which rebuilds cache directory and dwww HTML pages.
Dwww weekly cron job. Uses dwww-index++(8) to rebuild registered documentation index.
Directory, where are placed various cache files generated and used by dwww.
Cache for the converted documents.
Templates for the dwww web pages (used by dwww-build(8) and others).
The dwww pages. The server's document root directory should have a link to this directory.



Originally by Lars Wirzenius <>. Modified by Jim Pick <> and Robert Luberda <>. Bugs should be reported via the normal Debian bug reporting system, see /usr/share/doc/debian/bug-reporting.txt file or reportbug(1) man page.

dwww is licensed via the GNU General Public License. While it has been written for Debian, porting it to other systems is strongly encouraged.