Debian customization of WN



WN has tighter security than most www servers. By default, nothing will be served. You must enable access by creating an index file in the directory containing your html pages. This can be frustrating when first starting with WN. You really need to see the documentation.

Index

Debian modifications to upstream WN

I've modified the standalone daemon, wnsd, so it writes the file /var/run/wn.pid as user root before switching to user nobody. This removes the requirement for having a subdirectory of /var/run owned by user nobody.

I've added the following programs to the WN upstream source:

I've dropped the prototype digest authentication module. It uses the RSAREF code which could cause copyright problems.

Debian run-time configuration of WN

WN is configurable at both compile-time and run-time. To build this package, I made choices that might not suit your needs. Some of these choices can be overridden by using the proper set of options in the configuration files I provided in the WN configuration directory /etc/wn. The file /etc/wn/wn.rc is a wrapper script that reads in configuration information from the file /etc/wn/wn.conf. Both files are sh shell scripts. The /etc/wn/wn.rc should not require any modification. The configuration file includes the variables:

wn_www_root mandatory
The root of www data hierarchy. The Debian standard location is /var/www.
wn_daemon mandatory
Full path to program to execute. This will either the inetd based server wnd or the stand-alone server wnsd. If you change this value, you must update your Debian inetd and rc.d configuration.
wn_log_format optional
Command line option that control the log format used by the server.
wn_log_format_debug optional
Command line option that controls if debugging information is written to log files.
wn_log_format_syslog optional
Command line option that controls if logging uses UNIX syslogd.
wn_log_file_access [ " " | "<directory>" ] optional
Command line options that sets which file to use for logging normal access information. Ignored if syslog is defined to y. If the empty string "" is used as the value of this option then no access logging will be done. If not defined, uses the compiled in default.
wn_log_file_error [ " " | "<directory>" ] optional
Command line options that sets which file to use for logging error messages. If the empty string "" is used as the value then the WN access log file is used.
wn_user
Command line options that control access, authentication and execution of CGI programs.

Debian compile-time configuration of WN

Here are the choices I made to build the binary package and which server options or index file attributes to use to override.

Debian to-do list for WN package

Here are list of tasks that I'm at least contemplating for WN. They are roughly in order of when I plan to start them. My main guide is to increase robustness before adding new functionality. Feel free to email me if you have additional suggestions or would like to help.

Get reliable link checking.

The WN documentation has many links, some of which are broken. I need to a reliable way of checking them.

Generate the User's Guide's index from wnindexmaker.

Currently I'm relying on the upstream author's index file which I know is out of date. This should be part of the documentation Makefile.

Use separate syslogd facility.

Currently if syslog logging is used, it is sent to the daemon facility. This should be sent to a separate facility to minimize the volume and allow finer access control to web site maintainers.

Investigate permissions issue with log files.

Currently the WN daemons run under user nobody. This requires that the access and error log files be owned by user nobody since write access is required. However, Debian has a policy that no files should be owned by nobody. What's the best solution here?

Investigate possible bug with alternate log formats.

Logging thru syslog doesn't seem to work with any format other than verbose.

Better support for dhelp.

The main missing piece is support for the link "other documents". I suppose that I can generate a directory listing for those packages that aren't registered with dhelp. Need to interface with the dhelp's maintainer.

Better configuration file format.

The one I have is terrible. Need to work with upstream author on this one.

Package Basic Authentication module.

I currently don't have this included. Need to work out how to use standard Debian RSA package with this.

Package SSL daemon.

An SSL version is available and is essential. The trouble is finding a non-US collaborator.


Jean Pierre LeJacq <jplejacq@quoininc.com>
last-modified: Sat, 30 Jan 1999 13:48:37 GMT