The syntax of the configuration files for esehttpd is very similar to the httpd.conf files for apache. Each line of a configuration file consists of a directive and arguments for it. How arguments are interpreted is depend on the directive. White spaces(including TABs) are ignored, Lines starting with '#' are ignored.
To change configurations for a potion of the server, write directives inside a section between <VirtualHost>...</VirtualHost>, <Directory>...</Directory>, <FilesMatch>...</FilesMatch>, or <Limit>...</Limit>.
If an argument expresses a path name or a regular expression, you can quote it with "". The backslash character works as the escape inside the quotes.
BindAddress ADDRESS
ADDRESS
to bind. If not specified, esehttpd accepts connections to all addresses on the server. You need not to use this directive if you don't need to specify an address to bind.
User NAME
NAME
must not be the super user.
Group NAME
NAME
must not be the super user.
MaxFiles NUMBER
StartServers NUMBER
ChangeRoot DIRNAME
ListenBacklog NUMBER
SendBufferSize NUMBER
RecvBufferSize NUMBER
FileCacheSize NUMBER
FileCacheThreshold NUMBER
NUMBER
will be candidates for caching. If 0 is specified, all the files can be cached. The default value is 0.
SendCGIErrors (On|Off)
MultipleAccept (On|Off)
ForceLingeringClose (On|Off)
LingeringCloseLimit NUMBER
RequestHeaderLimit NUMBER
RequestBodyLimit NUMBER
ScriptEvalMax NUMBER
NUMBER
times, the worker process exits and another worker will started. This option is affective only if StartServers
is more than 1.
<VirtualHost HOSTNAME>
<VirtualHost>
and </VirtualHost>
. The following directives can be written outside of <VirtualHost>
...<VirtualHost>
clauses, and such directives are affected to the 'default' virtualhost.
Port NUMBER
NUMBER
should be 80 in most cases. If this directive is not specified, esehttpd does not accept HTTP connections.
ServerName HOSTNAME
localhost
.
PassEnv NAME [...]
CustomLog FILENAME [LOGTYPE]
LOGTYPE
must be 'common' or 'combined'. The default value for LOGTYPE
is 'common'.
DocumentRoot DIRNAME
TypesConfig FILENAME
ErrorDocumentDir DIRNAME
TimeOut SEC
SSLPort NUMBER
NUMBER
should be 443 in most cases. If not specified, esehttpd does not accept HTTPS connections. If neither Port
nor SSLPort
is specified, such a virtual server does noting.
SSLCertificateFile FILENAME
FILENAME
must be in PEM format. This option must be set if you want to use SSL.
SSLCertificateKeyFile FILENAME
FILENAME
must contain a RSA key in PEM format. If this option is not specified, esehttpd tries to read private key for the server from the file specified by SSLCertificateFile
instead.
SSLCACertificateFile FILENAME
FILENAME
must be in PEM format. This directive is necessary if you want to use client authentifications.
SSLDHParamFile FILENAME
SSLCipherSuite STRING
Alias URI DIRNAME
URI
to the directory DIRNAME
.
ScriptAlias URI DIRNAME [MODULENAME]
URI
to the directory DIRENAME
, and uses the module MODULENAME
as the default handler for the URI. If MODULENAME
is omitted, cgi-script
module is used.
<Directory DIRNAME>
<Directory DIRNAME>
and </Directory>
. These directives can be written outside of <Directory>
sections, and such lines are affected to the files that don't match any <Directory>
sections.
AuthUserFile FILENAME
esepasswd
command.
AuthName NAME
DirectoryIndex FILENAME [...]
DefaultType MIMETYPE
AddType MIMETYPE SUFFIX
SUFFIX
.
AddHandler MODULENAME SUFFIX
SUFFIX
.
Options OPTION [...]
OPTION
must be 'Indexes' or 'NoFileCache'. If 'Indexes' is specified, directory listings are allowed for the directory. If 'NoFileCache' is specified, file caching is disabled for the directory contents.
SSLVerifyClient REQUIREMENT
REQUIREMENT
must be 'require' or 'none'. If REQUIREMENT
is 'require', esehttpd requests the client a certificate.
SSLVerifyDepth NUMBER
<FilesMatch PATTERN>
<FilesMatch PATTERN>
and </FilesMatch>
. If a file is matched to more than one <FilesMatch
sections, the first one in the configuration file is affected. The following directives can be written outside of <FilesMatch>
sections, and such lines are affective to files that don't match any <FilesMatch>
sections.
<Limit METHOD [...]>
<Limit METHOD>
and </Limit>
. These directives can be written outside of <Limit>
sections, and such lines are affective to requests that don't match any <Limit>
sections.
Require user USERNAME [...]
USERNAME [...]
are allowed to do the request for the URI. Esehttpd sees the password file specified by AuthUserFile
directive in order to judge if the supplied password is correct.
Require valid-user
<Directory>
sections, apache treats it as a directive affective for all the files. Esehttpd doesn't treat it as apache does, and treat it as a directive affective for the files that don't match any <Directory>
sections. For <VirtualHost>
and others, the same difference exists.