SUSE Linux 中的 Apache 可以使用以下两种方法配置:使用 YaST 或手工配置。手工配置可提供更详细的信息,但没有 YaST GUI 方便。
![]() | 配置更改 |
|---|---|
对 Apache 的某些配置值的更改仅在重启动 Apache 之后生效。当使用 YaST(通过选中 中的)完成配置后会自动重启动 Apache。第 46.3.3 节 “激活、启动和停止 Apache” 中对手工重启动进行了介绍。大多数配置更改仅需要使用 rcapache2 reload 进行重装载即可。 | |
使用 YaST 可以将网络中的主机变为万维网服务器。要配置这样的服务器,请启动 YaST 并选择+。第一次启动此模块时,HTTP 服务器向导启动,提示您做出一些有关服务器管理的基本决定。
HTTP 服务器向导包括五个步骤或对话框。在对话框的最后一步中,您可以进入专家配置方式进行更特定的设置。
在这里,指定 Apache 用以监听进入的请求的网络接口和端口。可以选择现有网络接口和其各自 IP 地址的任意组合。可以使用未保留给其它服务的所有三个范围内的端口(公认端口、注册端口和动态或私有端口)。
默认设置监听端口 80 上的所有网络接口(IP 地址)。启用防火墙时,可以检查是否在防火墙上启用 Apache 端口。
选择,在防火墙中打开万维网服务器监听的端口。要使万维网服务器在网络(LAN、WAN 或公共因特网)中可用,这样做是必要的。测试时,在不必对万维网服务器进行外部访问时,关闭监听端口是很有用的。如果对默认设置满意或做出任何更改后,请单击,继续进行配置。
SUSE Linux Apache 包附带多种 Apache 模块。这些模块扩展了 Apache 的功能并能用于多种任务。配置选项允许服务器启动时装载和卸载各种 Apache 模块。有关模块的详细说明,请参见第 46.5 节 “Apache 模块”。单击继续。
该选项与默认的万维网服务器相关。正如第 46.4 节 “虚拟主机”中所述,Apache 可以在一台物理计算机上为多个域提供服务。配置文件中首先声明的域(或 VirtualHost)通常被称为默认主机。要编辑主机设置,在表中选择适当的项,然后单击。要添加新主机,请单击。要删除主机,请选择该主机,然后单击。
在本步骤中,您可以决定是否向主机设置中添加 SSL(安全套接层)选项和值。您可以在第 46.3.1.3 节 “添加 SSL 支持”上阅读有关更多信息。
这里是服务器默认设置的列表:
如第 46.2.3.4 节 “文档根目录”中所述,/srv/www/htdocs 是 Apache 处理万维网网页的默认位置。
/srv/www/htdocs 是万维网网页的位置。
借助 Alias 指令,URL 可以被映射到物理文件系统位置。这意味着可以通过对某路径进行 URL 别名判别来访问该路径(即使是在文件系统中文档根目录之外的路径)。
默认的 SUSE Linux Alias /icons 指向显示在目录索引视图中的 Apache 图标所在的 /usr/share/apache2/icons。
/usr/shareapache2/icons 是 Alias 目录的位置。
和 Alias 指令类似,ScriptAlias 指令将 URL 映射到文件系统位置。不同之处在于 ScriptAlias 将目标目录指定为 CGI 位置,意味着 CGI 脚本应该在此位置执行。
/srv/www/cgi-bin 是 ScriptAlias 目录的位置。
/etc/apache2/conf.d/*.conf 目录包含某些包附带的配置文件。/etc/apache2/conf.d/apache2-manual?conf 目录包含所有 apache2-manual 配置文件。
该选项请参见第 46.4 节 “虚拟主机”。
使 VirtualHost 答复对该确定的服务器的请求(请参见第 46.4.1 节 “基于名称的虚拟主机”)。
使 Apache 根据客户机发送的 HTTP 报头信息选择请求主机。有关基于 IP 的虚拟主机的更多详细信息,请参见第 46.4.2 节 “基于 IP 的虚拟主机”。
指定了客户机用来联系万维网服务器的默认 URL。使用 FQDN(请参见域)到达万维网服务器(位于 http://)或其 IP 地址。
FQDN
为提供万维网服务器管理员的电子邮件地址。
完成步骤后,单击继续完成配置对话框。
在本步骤中,向导显示已配置的虚拟主机(请参见第 46.4 节 “虚拟主机”)的列表。其中一台主机被标记为默认主机(在服务器名称旁边有一个星号)。要设置默认主机,请选择该服务器并单击。
要添加主机,单击会显示一个对话框,请在其中输入主机的基本信息。包括服务器名称、服务器内容根和管理员电子邮件。窗口左侧框架中的的帮助文本详细介绍了其中的每一个项目。用来确定如何识别主机。通过选择相应的选项,您可以指定是从 HTTP 报头还是根据服务器 IP 地址确定请求服务器。另一种情况是通过客户机连接到服务器时使用的 IP 地址来确定虚拟主机。通过选中该选项,您可以选择启用 SSL 支持。还可以指定证书文件的路径。单击,将显示默认目录 /etc/apache2/ssl.crt。输入所有信息后,单击继续进行配置的最后一步。
这是本向导的最后一步。在此将决定 Apache 服务器启动的方式和时间:引导时启动或手动启动。以前选择的端口和默认主机与虚拟主机一起显示。如果对设置满意,单击以完成配置。
HTTP 服务器模块还可以使您对配置进行更多的调整。单击 查看更多配置选项。可以进行如下更改:
在所有前述对话框中,您都可以单击查看错误日志并访问日志。单击完成配置并返回到 YaST 控制中心。
要在主机上添加 SSL 选项,在 HTTP 服务器向导的步骤三(默认主机)单击。如果服务器已经完成设置并且不再需要访问向导,则可以设置 SSL 选项,方式是从 HTTP 服务器配置对话框中选择,或单击然后选择。在这两种情况中,当您滚动查看 选项并按下确认时,将显示弹出窗口。系统随后会要求您为选择的选项输入值。这也许和将值设置为打开或关闭一样简单,但是对话框会要求您输入一个合适的值。如果不确定,配置 SSL 时请参考文档中的值参数。单击后,主机配置列表上将显示选项和值。单击,进行配置对话框的下一个步骤。
如果 出现在主机配置列表中,单击打开 SSL 配置对话框。如果没有显示,单击,选择 后按,将自动打开对话框。在此可以添加、删除或编辑 SSL 选项。单击返回到 HTTP 服务器向导。
手工配置 Apache 包括作为根用户来编辑纯文本配置文件。
![]() | 没有适用于 Apache2 的 SuSEconfig 模块 |
|---|---|
适用于 Apache2 的 SuSEconfig 模块已经从 SUSE Linux 中去除了。更改 | |
/etc/sysconfig/apache2 控制 Apache 的某些全局设置,例如要装载的模块、要包含的其他配置文件、启动服务器时应同时启动的标志,以及应添加到命令行的标志。此文件中的每个配置选项都有详细记录,因此在此不再说明。对于一般用途的万维网服务器,/etc/sysconfig/apache2 应足以满足所有配置需要。如果需要了解某项特定的配置,请参见 第 46.3.2.2 节 “/etc/apache2/httpd.conf 中的 Apache 指令:Global Environment
”。
![]() | 在启动服务器时自动创建的文件 |
|---|---|
当启动或重启动万维网服务器时,
不要手工编辑这些文件。而是在 | |
有关精确的配置调整,特别是虚拟主机、全局环境或主服务器手工配置的更改,请查看 /etc/apache2/* 中的文件。
SUSE Linux 使用 /etc/apache2/httpd.conf 作为其他配置文件的一个集中参考来源。只需编辑该文件就可启用在 /etc/sysconfig/apache2 中不可用的功能。httpd.conf 的 Global Environment 部分中的指令影响 Apache 的整体操作。
以下各部分描述在 YaST 中不可用的一些指令。核心指令(例如 Document Root,文档根目录)在 Global Environment 中以及针对 VirtualHost 是必不可少的。
以下参数和指令按照逻辑关联和配置范围排序。应在 /etc/apache2/httpd.conf 中设置这些参数和指令。
LoadModule 指令指定在运行时要装载的 Apache 模块。module_identifier 是根据模块文档而定的名称。/path/to/module 可以是指向文件的绝对或相对路径。
在 SUSE Linux 上,不必直接使用 LoadModule 语句。而是在 /etc/sysconfig/apache2 中使用 APACHE_MODULE。
Apache 可以同时处理的客户程序的最大数目。MaxClients 必须足够大才能处理万维网站点预期接收的同时请求数,但同时又要足够小以确保所有处理都有足够的物理内存可用。
当客户程序请求未由任何 VirtualHost 处理并且因此需要按默认方式或由主服务器处理时,会应用 Main Server 部分中的指令。另外,在此环境中定义的参数对于所有配置的虚拟主机都是默认的。因此,Main Server 中的所有指令也可以设置在 VirtualHost 环境中,以覆盖默认设置。
设置 Apache 应搜索哪些文件来补全缺少文件规范的 URL。默认设置是 index.html。 例如,如果客户程序请求 URL http://www.example.com/foo/ 并且目录 foo 包含名为 index.html 的文件,Apache 将此页传递给客户程序。通过用空格分隔多个文件来声明这些文件。
此指令只能在 <Directory></Directory> 声明中使用。请参见 Directory。
AllowOverride 指定 .htaccess 文件(或如 第 46.3.2.3.3 节 “AccessFileName 文件名
” 中所描述的由 AccessFileName 指定的其他文件)可以覆盖的访问选项和显示选项。
可能的值为:
全部
.htaccess 文件可以覆盖所有选项。
无
.htaccess 文件不能覆盖任何选项。
AuthConfig
借助于 .htaccess 文件,可以用口令保护目录。
FileInfo
允许使用指令来控制 .htaccess 文件中的文档类型。典型的示例是使用 ErrorDocument(请参见 http://httpd.apache.org/docs-2.0/mod/core.html#errordocument)来配置自定义错误页。
索引
如果未找到 DirectoryIndex 文档,此参数使 Apache 可以控制显示的目录内容。
限制
控制对目录或客户程序的某些文件的访问权。在 .htaccess 文件中,指令 Allow、Deny 和 Order 用于实现此功能。有关如何使用这些指令,请参见访问模块文档(http://httpd.apache.org/docs-2.0/mod/mod_access.html)。
Options
允许在 .htaccess 文件中使用 Options 和 XBitHack 指令。Options 指令(http://httpd.apache.org/docs-2.0/mod/core.html#options)控制在特定目录中哪些服务器功能是可用的。XBitHack 指令(http://httpd.apache.org/docs-2.0/mod/mod_include.html#xbithack)允许将带有执行位集的文件分析为 SSI(请参见 第 46.5.1.1 节 “使用 mod_include 的服务器端包含
”)。
![]() | 重要 |
|---|---|
这些设置递归应用于当前目录及其子目录。这些选项(除了 | |
要在一个物理机器上维护多个域或主机名,需要 VirtualHost 树枝。这些树枝是在配置的 Virtual Hosts 部分声明的。有关虚拟主机的语法和功能的更多详细信息,请参见 第 46.4 节 “虚拟主机”。
要在引导时激活 Apache 万维网服务器,请使用 YaST 的运行级别编辑器。要启动该编辑器,请在 YaST 中选择+。然后导航至 项。选择以在引导机器时自动启动 Apache。经验丰富的用户可能想使用 chkconfig 工具在以下命令行上实现同样的操作:/sbin/chkconfig -a apache2。
要启动或停止 Apache,请作为根用户来使用 /usr/sbin/rcapache2 脚本。/usr/sbin/rcapache2 使用以下参数来启动和停止 Apache 万维网服务器:
start
启动 Apache 万维网服务器。
startssl
启动带有 SSL 支持的 Apache 万维网服务器。有关配置对 Apache 配置 SSL 的信息,请参见 第 46.3.1.3 节 “添加 SSL 支持” 和 第 46.5.2.2 节 “安全套接字层和 Apache:mod_ssl”。
stop
停止 Apache 万维网服务器。
configtest
测试 Apache 配置不必实际停止、启动或重启动万维网服务器。因为此测试是在每次启动、重新装载或重启动服务器时强制进行的,所以通常不必显式地运行它。
restart
先停止再重启动万维网服务器。
try-restart
重启动万维网服务器(如果它在运行中)。
restart-hup
通过向 Apache 万维网服务器发送 SIGHUP 信号来重启动该服务器。通常不使用此方法。
graceful 和 reload
通过建议所有生成的 Apache 进程在关闭之前首先完成其请求来停止万维网服务器。每个进程终止时,会替换为一个新启动的进程,继而导致 Apache 完全“重启动”。
![]() | 提示 |
|---|---|
在生产环境中,rcapache2 | |
status
检查 Apache 万维网服务器的运行时状态。
例 46.7. 启动和停止 Apache 时的输出示例:
tux@sun # rcapache2 status Checking for httpd2:unused tux@sun # rcapache2 configtest Syntax OK tux@sun # rcapache2 start Starting httpd2 (prefork) done tux@sun # rcapache2 status Checking for httpd2:running tux@sun # rcapache2 graceful Reload httpd2 (graceful restart) done tux@sun # rcapache2 status Checking for httpd2:running
格式错误的配置文件会导致 Apache 不能正确启动或者根本无法启动。当根本无法启动时,可能甚至不会显示任何讯息。请始终检查主错误日志,以了解每次启动和重启动的信息。