tipidee
Software
skarnet.org

The /etc/tipidee.conf configuration file

Goal and usage

/etc/tipidee.conf is a text file written by the web administrator to configure the tipideed server. After writing or modifying this file, the administrator is expected to run the tipidee-config program, that will read /etc/tipidee.conf and output a /etc/tipidee.conf.cdb file that will be suitable for tipideed to use.

tipidee-config provides sane defaults, so an empty /etc/tipidee.conf file is perfectly usable for purely static installations. But an empty file still needs to be created, unless tipidee-config is run with the -i /dev/null option.

Description

The /etc/tipidee.conf file contains a series of lines; every line is an instruction. Lines do not wrap around and there is no quoting, so a newline is always the end of an instruction. Empty lines, or lines containing only whitespace, or lines beginning with # (comments), are ignored. If a line contains a # that is not in the middle or end of a word, the rest of the line is also considered a comment, and ignored.

Words on a line are separated by whitespace (spaces or tabs). Instructions are one directive, the first word in the line, followed by one or more arguments. Most directives take a fixed number of arguments; some of them take a variable number. There are several types of directives.

Preprocessing directives

These are meta-directives: they do not control tipideed's behaviour directly, but tell tipidee-config to include other files. They allow administrators and packagers to write modular, pluggable configuration files. Preprocessing directives always start with a ! (exclamation point, or bang) character.

You will probably never see preprocessing directives in simple configuration files. They are meant for bigger or more generic configurations.

The !include directive

!include file

The !includedir directive

!includedir dir

The !included: directive

!included: unique
!included: multiple

Global directives

Global directives control global aspects of tipideed — values that apply to the server itself, no matter what domain it is serving. The directive name is global, and it takes two arguments: the name and the value of a setting.

verbosity

global verbosity v

read_timeout

global read_timeout t

write_timeout

global write_timeout t

cgi_timeout

global cgi_timeout t

max_request_body_length

global max_request_body_length n

max_cgi_body_length

global max_cgi_body_length n

index_file

global index_file file1 file2 ...

The content-type directive

content-type is also a global directive, but is introduced by the keyword content-type, without prepending global. It allows the user to define mappings from a document's extension to a standard Content-Type.

content-type type extension1 extension2 ...

Local directives

All the other directives are local: they only apply to the current domain. Except for domain, they can only be used after a domain directive.

domain

domain domain

cgi

cgi directory
cgi file

noncgi

noncgi directory
noncgi file

nph-prefix

nph-prefix prefix

nph

nph directory
nph file

nonnph

nonnph directory
nonnph file

basic-auth

basic-auth directory
basic-auth file

no-auth

no-auth directory
no-auth file

file-type

file-type directory type
file-type file type

redirect

redirect resource rtype target