26.4. 服务器设置

「服务器」标签允许你配置基本的服务器设置。默认设置在多数情况下都是适用的。

图 26-10. 服务器配置

「锁文件」的值和LockFile 指令相对应。在服务器使用 USE_FCNTL_SERIALIZED_ACCEPT 或 USE_FLOCK_SERIALIZED_ACCEPT 编译时,该指令把路径设为锁文件所用的路径。它必须贮存在本地磁盘上。除非 logs 目录位于 NFS 共享上。如果事实如此,你应该 把默认值改为本地磁盘上某处只能被根用户读取的目录。

「PID 文件」的值和PidFile 指令相对应。该指令设置服务器记录进程 ID(PID) 的文件。该文件应该只能够被根用户读取。多数情况下,你应该使用默认值。

「核心转储目录」的值和CoreDumpDirectory 指令相对应。Apache HTTP 服务器 在转储核心前会试图转换到该目录中。默认值是 ServerRoot。然而,如果运行服务器的用户所使用的身份没有到该目录的写权限,核心转储就无法被写入。如果你想把核心转储写入磁盘以用于调试目的,请把这个值改为能够被服务器的运行身份写入的目录。

「用户」的值和 User 指令相对应。它设置服务器回答请求所用的 userid。用户的设置决定服务器的访问权限。该用户所无法访问的文件,你的网站来宾也不能够访问。默认的 User 是 apache。

该用户应该仅拥有一定特权,因此它能够存取外部用户可以看见的文件。该用户还是所有被服务器生出的 CGI 进程的所有者。它不应该被允许执行任何目的不是回答 HTTP 请求的编码。

警告警告
 

除非你知道自己在做什么,不要把 User 指令设为根用户。把 User 设为根用户会为你的万维网服务器制造极大的安全漏洞。

在正常操作中,httpd 父进程首先以根用户身份来运行,但是,它会立即被交给 apache 用户。服务器必须以根用户启动的原因是,它需要关联到 1024 以下的端口。1024 以下的端口是为系统使用而保留的,因此只有根用户才有使用权。一旦服务器把自己连接到它的端口,它就会在接受任何连接请求前把进程交给 apache 用户。

Group 的值与 Group 指令相对应。Group 指令和 User 指令很相似。它设置服务器回答请求所用的组群。默认组群也是 apache。