WHAT IS THIS?
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.
Contents
- Introduction
- Documentation
- Compiling and installing
- 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:
http://sourceforge.net/projects/naviserver
Another resource is the NaviServer wiki:
http://naviserver.sourceforge.net
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 http://tcl.tk 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 http://www.gnu.org.
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:
--with-tcl=/usr/local/ns/lib
Path to library installation directory of Tcl where
configure can find the tclConfig.sh script. Without
this option, configure will search around for
tclConfig.sh, perhaps finding it in ../tcl8.4.12/unix.
--enable-symbols
Compile with debug symbols enabled. The default
is to compile optimized.
--prefix=/usr/local/ns
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
directory.
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 "./autogen.sh"
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:
http://sourceforge.net/projects/naviserver
Thank you for your interest in NaviServer. We hope you find it useful and look forward to hearing from you on our mailing list.
-EOF-
