nanoweb.conf - Nanoweb main configuration file
The file nanoweb.conf is the main configuration file of the Nanoweb
HyperText Transfer Protocol server and contains all the general
settings that must apply to all files served from your host. It is
usually located in the directory /etc/nanoweb/.
Some parts of the configuration are seperated out of the main file, but
this man page anyhow only discusses a very small subset (the core
directives) of all possible settings. For further and uptodate
information please refer to the manual on http://localhost/manual/
using your favorite browser.
The configuration files are divided in sections whose names are given
in square brackets, we’ll only discuss the main (which is the biggest)
part in this man page:
All other sections define virtual hosts. But see the file vhosts.conf
for an example of what this means in practice.
In any section you can assing values to the configuration directives in
directive = value...
Starting from Nanoweb 1.8.1 you can leave out the equal sign.
These are the core configuration directives that can be used in the
[global] section (most of them can be used in virtual host sections,
too). You’ll see some example settings for them in this man page.
ServerName = www.example.com
Defines the default server name Nanoweb will respond to and with.
ServerAlias = *.example.com
Is an additional dns name glob the server will accept.
DocumentRoot = /var/www
Defines the base directory under which all files must be located
in, if they should be accessible via http.
DirectoryIndex = index.php index.html
If one of the files specified with this directive is found in a
directory it gets send in favour of a server generated directory
ServerMode = standalone
This tells Nanoweb to run in standard mode, which is to work as
standalone server daemon. The other possible setting here is
DefaultContentType = text/plain
If a file type can not be automagically determined for a file,
Nanoweb will tell it’s of the mime(1) type specified here.
Include = /etc/nanoweb/modules.conf
This directive loads another Nanoweb configuration file into the
current one and leads of course to processing of the directives
MimeTypes = /etc/mime.types
Loads the given file which should contain all known file name
extensions associated with the according mime(1) types.
ParseExt = php CGI /usr/bin/php $SCRIPT_FILENAME
Associates a file extension with a parser, commonly a scripting
language interpreter like perl(1) or php(1)
AccessFile = .htaccess
Files with the name given here may contain additonal directives
that apply to the directory (and subdirectories) they’re located
ErrorDocument = 404 error404.php
Gives a custom error response file which gets send instead of one
of the builtin error messages, whenever one occours ("file not
found" in this example).
User = www-data
Sets the user id the Nanoweb daemon will run as. Normally you
don’t want nanoweb to run with root privileges. Likewise for
Log = /var/log/nanoweb/access.log
The servers log file.
IgnoreDotFiles = 1
Do not deliver files whose name begins with a dot (usually
referred to as "hidden files").
AllowExtSymlinks = 1
Deliver files which are symlinked to outside of the DocumentRoot.
ListenInterface = 0.0.0.0
The network interface Nanoweb shall listen on. When set to 0.0.0.0
the server will listen on all available network cards (lo, eth0 as
well as ppp0 on Linux boxes).
ListenPort = 80
The TCP port address the server should listen to. 80 is the
default for webservers, so you don’t want to change this.
The main configuration file, but following parts are
seperated out of it in the standard distribution:
This part of the main configuration loads the extension
modules and defines additional directives for them.
This part of the Nanoweb configuration defines the virtual
hosts and directives that only apply to them.