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.

Corrected inclusion error in /usr/doc/wn/examples/counter.html.

Including the perl code directly is incorrect since there are certain characters that are interpreted as HTML tags or attributes. I need to investigate the wnhtmlify program. By the way, I also think this program is mislabeled as a utility when it should be a CGI program.

Added man pages for configuration files.

The information is in this file but I should provide man pages for them as well.

Convert few remaining documentation files to HTML.

I believe that cacheformat is the only remaining file that should be converted.

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 WN wrapping to standardize headers and footers.

Current all the pages have their own header and footers. This makes it difficult to maintain consistency.

Restructure manual sections on utilities and CGI programs.

Currently its confusing to locate all this information as it is spread across the manual. Further, not all the utilities and CGI programs are documented. I'd like to organize the manual similiar to what I've done for the WN man pages.

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.


WN version 2.4.4
Copyright © 1999 Jean Pierre LeJacq <jplejacq@quoininc.com>
licensed under the GNU Free Documentation License
Last modified: Sat Sep 7 14:56:17 UTC 2002