*DocumentRoot : 组成网络上可见的主文档树的根目录
*ErrorLog : 存放错误日志的位置
*LockFile : 当 AcceptMutex 指令的值是 fcntl 或 flock 的时候,Apache 使用的锁文件的位置
*PidFile : 设置服务器用于记录父进程(监控进程) PID 的文件。
*ScoreBoardFile : 存储子进程协调数据(coordination data)的文件(Apache 使用 scoreboard 在父进程和子进程之间进行通信)
*ServerRoot : 指定服务器安装的基础目录
收紧 Ubuntu 下的 Apache 配置
对于实际的产品服务器,应该首先收紧 Apache 的配置。为此可以在 /etc/apache2/conf.d/ 目录下创建一个新的 local_configs.conf 文件添加如下的配置:
/etc/apache2/conf.d/local_configs.conf
# 设置 ServerName
# 对 / 进行保护
# Forbid default access to file system locations
Order Deny,Allow
Deny from all
# prevent use of .htaccess files in all directories
# apart from those specifically enabled.
AllowOverride None
# 限制显示服务器的可用信息
ServerSignature Off
ServerTokens production
Apache 的管理工具
Apache 套件中包含了许多可执行程序,其中一部分是管理工具,本节仅介绍 apache2ctl。
apache2ctl
apache2ctl 是 Apache2 服务器的前端程序。他可以帮助管理员控制 Apache2 后台守护进程的功能。
apache2ctl脚本有两种操作模式:
*作为简单的 apache2 的前端程序,设置所有必要的环境变量,然后启动 apache2,并传递所有的命令行参数。
*作为 SysV 初始化脚本,接受简单的一个单词的参数,如:start, restart, stop ,并把他们翻译为适当的信号发送给 apache2 。
*在 Ubuntu 的 Apache2 启动脚本 /etc/init.d/apache2 中,就是调用 apache2ctl 实现控制的。
apache2ctl 有两种语法格式:
apache2ctl -参数
apache2ctl 动作选项
使用 apache2ctl 的命令参数
*显示 apache 的版本
apache2ctl -v
*显示 apache 的版本和编译参数
apache2ctl -V
*输出一个可用的命令行选项的简要说明
apache2ctl -h
*输出一个静态编译在服务器中的模块的列表。它不会列出使用 LoadModule 指令动态加载的模块
apache2ctl -l
*输出一个指令的列表,并包含了各指令的有效参数和使用区域
apache2ctl -L
*仅对配置文件执行语法检查。。如果还指定了”-D DUMP_VHOSTS”,则会显示虚拟主机配置的详细信息
apache2ctl -t
*显示从配置文件中读取并解析的设置结果 (目前仅显示虚拟主机的设置)
apache2ctl -S
使用 apache2ctl 的动作选项
*启动 apache2 后台守护进程。如果已经启动,则产生一个错误。
apache2ctl start
*停止 apache2 后台守护进程。
apache2ctl stop
*重新启动 apache2 后台守护进程。如果守护进程尚未运行,则启动它。在重新启动守护进程之前,此命令会使用 configtest 自动检查配置文件,以确保 Apache 不会死掉。
apache2ctl restart
*显示一个简要的状态报告。
apache2ctl status
*优雅地重新启动 apache2 后台守护进程。如果守护进程尚未启动,则启动它。它和标准重新启动的不同之处在于:不会中断当前已经打开的连接,也不会立即关闭日志。这意味着,如果在日志滚动脚本使用它,则在处理日志之前必须加入一个实实在在的延迟,以确保老的日志文件在被处理前已经关闭。在重新启动守护进程之前,此命令会使用 configtest 自动检查配置文件,以确保 apache 不会死掉。
apache2ctl graceful
*优雅地停止 apache2 后台守护进程。它和标准停止的不同之处在于:不会中断当前已经打开的连接,也不会立即关闭日志。
apache2ctl graceful-stop
*执行一次配置文件语法检查。它解析配置文件,并报告 Syntax Ok 或者是特定的语法错误详细信息。
apache2ctl configtest