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.
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.
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
/var/www
.
wn_daemon
mandatory
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
wn_log_format_debug
optional
wn_log_format_syslog
optional
syslogd
.
wn_log_file_access
[ " " | "<directory>" ]
optional
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
""
is used as the value then the WN access log file is used.
wn_user
Here are the choices I made to build the binary package and which server options or index file attributes to use to override.
*.cgi
".
cgi-bin
".
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.
The WN documentation has many links, some of which are broken. I need to a reliable way of checking them.
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.
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.
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?
Logging thru syslog doesn't seem to
work with any format other than verbose
.
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.
The one I have is terrible. Need to work with upstream author on this one.
I currently don't have this included. Need to work out how to use standard Debian RSA package with this.
An SSL version is available and is essential. The trouble is finding a non-US collaborator.