Apache HTTP Server Version 2.4

Apache > HTTP Server > Documentation > Version 2.4

# 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

Related Modules | Related Directives
--- | ---
| `ServerName` `ServerAdmin` `ServerSignature` `ServerTokens` `UseCanonicalName` `UseCanonicalPhysicalPort`

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`, `UseCanonicalName` and `UseCanonicalPhysicalPort` 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, httpd 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 Modules | Related Directives
--- | ---
| `CoreDumpDirectory` `DocumentRoot` `ErrorLog` `Mutex` `PidFile` `ScoreBoardFile` `ServerRoot`

These directives control the locations of the various files that httpd 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 Modules | Related Directives
--- | ---
| `LimitRequestBody` `LimitRequestFields` `LimitRequestFieldsize` `LimitRequestLine` `RLimitCPU` `RLimitMEM` `RLimitNPROC` `ThreadStackSize`

The `LimitRequest`* directives are used to place limits on the amount of resources httpd 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 httpd children. In particular, this will control resources used by CGI scripts and SSI exec commands.

The `ThreadStackSize` directive is used with some platforms to control the stack size.

## Implementation Choices

Related Modules | Related Directives
--- | ---
| `Mutex`

The `Mutex` directive can be used to change the underlying implementation used for mutexes, in order to relieve functional or performance problems with APR's default choice.