naviserver /

Filename Size Date modified Message
64 B
858 B
67.7 KB
3.9 KB
4.1 KB
3.9 KB
1.7 KB
7.4 KB
2.2 KB
24.3 KB
10.6 KB
2.5 KB
15.8 KB

This is the source distribution of the NaviServer, a versatile
multiprotocol (httpd et al) server written in C/Tcl.  It can 
be easily extended in either language to create interesting 
web sites and services. 

    1. Introduction
    2. Documentation
    3. Compiling and installing
    4. Mailing lists

1. Introduction

NaviServer is maintained, enhanced, and distributed freely by the
open source community.  The home for NaviServer sources and bug/patch
database is located on SourceForge site:

Another resource is the NaviServer wiki:

NaviServer is a freely available open source package.  See the file
"license.terms" for complete information.

2. Documentation

Documentation will be available in the "doc" subdirectory. At this
point the documentation is incomplete and is considered to be the
work in progress. Once done, it will be distributed in Unix nroff
format (suitable for viewing with Unix "man" command) and HTML 
format (suitable for viewing with any HTML-compatible browser).

3. Compiling and installing

The server is known to compile and run on FreeBSD, Linux, Solaris, and
Mac OS/X 10.2+.  Ports to other modern platforms such as HP/UX should
be easy.  To compile and install:

3a.     Download, configure, build and install Tcl 8.4 or better
	with threads and shared libraries enabled.  To do so,
	download the latest release from and following
	the instructions in the included README.  You may install
	Tcl within the directory you intend to install the server 
	(e.g., /usr/local/ns) or in some other location.
	The following should work:

	% gunzip < tcl8.4.12-src.tar.gz | tar xvf -
	% cd tcl8.4.12/unix
	% ./configure --prefix=/usr/local/ns --enable-threads
	% make install
3b.     If you don't have GNU make (Linux make is GNU make), install
	it as server's makefiles require it.  If you're not sure
	if you have GNU make, try "make -v" to check.  You can get
	GNU make at

3c.     Download, configure, build, and install.
	The following should work:

	% gunzip < naviserver-4.99.1.tar.gz | tar xvf -
	% cd naviserver-4.99.1
	% ./configure --prefix=/usr/local/ns --with-tcl=/usr/local/ns/lib
	% make install

	The server's configure script takes the following options:


		Path to library installation directory of Tcl where
		configure can find the script.  Without
		this option, configure will search around for, perhaps finding it in ../tcl8.4.12/unix.


		Compile with debug symbols enabled.  The default
		is to compile optimized.


		Set the installation directory for the server.  All
		program, man page, and runtime files (e.g., log
		files) will be install or updated within this

        To compile with Purify tool, set the variable $PURIFY to 
        your Purify executable along with any options you desire, e.g.,

        make PURIFY="purify -cache-dir=/home/joe/my-cache-dir" install

        If you checked out the source directly from CVS on SourceForge
        replace "./configure" in the example above with "./"
        to get initial makefiles created.

3d.     Create and edit a config file, nsd.tcl by convention.
	A sample is provided to get started:

	% cd /usr/local/ns
	% cp sample-config.tcl nsd.tcl
	% vi nsd.tcl

3e.	Try running the server in a shell window:

	% cd /usr/local/ns
	% bin/nsd -f -t conf/nsd.tcl

4. Mailing lists

There are mailing lists for NaviServer to discuss anything from
configuration, development, and future direction. To join visit:

Thank you for your interest in NaviServer.  We hope you find it
useful and look forward to hearing from you on our mailing list.