# Server-Wide Configuration

This document explains some of the directives provided by the core server which are used to configure the basic operations of the server.

- Server Identification
- File Locations
- Limiting Resource Usage

## Server Identification

Related Directives ServerName ServerAdmin ServerSignature ServerTokens UseCanonicalName

The `ServerAdmin` and `ServerTokens` directives control what information about the server will be presented in server-generated documents such as error messages. The `ServerTokens` directive sets the value of the Server HTTP response header field.

The `ServerName` and `UseCanonicalName` directives are used by the server to determine how to construct self-referential URLs. For example, when a client requests a directory, but does not include the trailing slash in the directory name, Apache must redirect the client to the full name including the trailing slash so that the client will correctly resolve relative references in the document.

## File Locations

Related Directives CoreDumpDirectory DocumentRoot ErrorLog Lockfile PidFile ScoreBoardFile ServerRoot

These directives control the locations of the various files that Apache needs for proper operation. When the pathname used does not begin with a slash "/", the files are located relative to the `ServerRoot`. Be careful about locating files in paths which are writable by non-root users. See the security tips documentation for more details.

## Limiting Resource Usage

Related Directives LimitRequestBody LimitRequestFields LimitRequestFieldsize LimitRequestLine RLimitCPU RLimitMEM RLimitNPROC ThreadStackSize

The `LimitRequest`* directives are used to place limits on the amount of resources Apache will use in reading requests from clients. By limiting these values, some kinds of denial of service attacks can be mitigated.

The `RLimit`* directives are used to limit the amount of resources which can be used by processes forked off from the Apache children. In particular, this will control resources used by CGI scripts and SSI exec commands.

The `ThreadStackSize` directive is used only on Netware to control the stack size.