用于 Apache 的 Sun Cluster 数据服务指南(适用于 Solaris OS)

安装和配置 Apache

可以将 Apache Webserver 安装和设置为不安全的或安全的 Webserver。本节介绍了两种安装的过程。要安装 Webserver 的不安全版本,请参见以下过程之一。

要安装 Webserver 的安全版本,请参见以下过程之一。

Sun Cluster HA for Apache 与配置为 Web 服务器或代理服务器的 Apache 软件配合使用。

有关标准安装的说明,请参见 http://www.apache.org 中的 Apache 文档。有关 Sun Cluster 软件支持的 Apache 版本的完整列表,请与 Sun 的销售代表联系。

安装不安全的 Apache Webserver

本节提供了安装不安全的 Apache Webserver 的过程。有关安装安全的 Apache Webserver 的过程,请参见安装安全的 Apache Webserver

如何从 Solaris 8 CD-ROM 和 Solaris 9 CD-ROM 安装和配置 Apache 软件

此过程用于安装不安全版本的 Apache Webserver。有关安装安全的 Apache Webserver 的过程,请参见安装安全的 Apache Webserver

在组成 SUNWCapache 软件包元群集的三个软件包 SUNWapchrSUNWapchuSUNWapchd 中包含了 Apache 二进制。您必须先安装 SUNWapchr 软件包,然后再安装 SUNWapchu 软件包。

请将 Web 服务器二进制放在每个群集节点的本地文件系统中或群集文件系统中。

  1. 运行 pkginfo(1) 命令以确定是否已经安装了 Apache 软件包 SUNWapchrSUNWapchuSUNWapchd

    如果未安装,请按以下方式安装。


    # pkgadd -d Solaris 8 Product directory SUNWapchr SUNWapchu SUNWapchd
    ...
    Installing Apache Web Server (root) as SUNWapchr
    ...
    [ verifying class initd ]
    /etc/rc0.d/K16apache linked pathname
    /etc/rc1.d/K16apache linked pathname
    /etc/rc2.d/K16apache linked pathname
    /etc/rc3.d/S50apache linked pathname
    /etc/rcS.d/K16apache linked pathname
    ...
  2. 禁用作为 SUNWapchr 软件包的一部分刚安装的 STARTSTOP 运行控制脚本。

    此步骤是必需的,因为在您配置数据服务之后,Sun Cluster HA for Apache 将启动和停止 Apache 应用程序。请执行以下步骤。

    1. 列出 Apache 运行控制脚本。

    2. 重命名 Apache 运行控制脚本。

    3. 检验是否已重命名所有与 Apache 相关的脚本。


    注意 –

    下例将运行控制脚本名称中的首字母从大写更改为小写。但是,您可以重命名该脚本,使其与您的常规管理惯例一致。



    # ls -1 /etc/rc?.d/*apache
    /etc/rc0.d/K16apache
    /etc/rc1.d/K16apache
    /etc/rc2.d/K16apache
    /etc/rc3.d/S50apache
    /etc/rcS.d/K16apache
     
    # mv /etc/rc0.d/K16apache  /etc/rc0.d/k16apache
    # mv /etc/rc1.d/K16apache  /etc/rc1.d/k16apache
    # mv /etc/rc2.d/K16apache  /etc/rc2.d/k16apache
    # mv /etc/rc3.d/S50apache  /etc/rc3.d/s50apache
    # mv /etc/rcS.d/K16apache  /etc/rcS.d/k16apache
     
    # ls -1 /etc/rc?.d/*apache
    /etc/rc0.d/k16apache
    /etc/rc1.d/k16apache
    /etc/rc2.d/k16apache
    /etc/rc3.d/s50apache
    /etc/rcS.d/k16apache

如何从 Apache Web 站点安装和配置 Apache 软件

此过程用于安装不安全版本的 Apache Webserver。有关安装安全的 Apache Webserver 的过程,请参见安装安全的 Apache Webserver

请将 Web 服务器二进制放在每个群集节点的本地文件系统中或群集文件系统中。

  1. 成为某个群集成员的超级用户。

  2. 使用 Apache 安装文档中的安装过程来安装 Apache 软件。

    使用 Apache 软件附带的 Apache 安装文档,或参见 http://www.apache.org 中的安装说明,来安装 Apache 软件。

  3. 更新 httpd.conf 配置文件。

    • 设置 ServerName 指令。(在 Apache 2.0 版本中,ServerName 指令用于指定主机名和端口。)

    • 设置 BindAddress 指令(可选)。(BindAddress 指令仅存在于 Apache 2.0 之前的版本。对于 Apache 2.0,请参见以下 Listen 指令项目。)

    • 设置 Listen 指令。Listen 指令必须使用逻辑主机或共享地址的地址。(Listen 指令仅存在于 Apache 2.0 和更高版本中。对于 Apache 2.0 之前的 Apache 版本,请参见上面的 BindAddress 指令项目。)

    • 设置 ServerTypeServerRootDocumentRootScriptAliasLockFile 指令。


      注意 –

      ServerType 指令不存在于 Apache 2.0 中。


    • 设置 Port 指令,使其具有与 Port_list 标准资源特性相同的编号。有关详细信息,请参见步骤 4

    • 如果您选择将 Apache 软件作为代理服务器运行,请进行更改以作为代理服务器运行。有关详细信息,请参见 Apache 文档。如果要将 Apache 软件作为代理服务器运行,CacheRoot 设置必须指向群集文件系统中的某个位置。

  4. 检验 httpd.conf 文件中的一个或多个端口号是否与 Port_list 标准资源特性中的端口号相匹配。

    您可以编辑 httpd.conf 配置文件以更改其中的一个或多个端口号,使其与标准 Sun Cluster 资源特性中的缺省值(端口 80)相匹配。或者,当您配置 Sun Cluster HA for Apache 时,可以将 Port_list 标准特性设置为与 httpd.conf 文件中的设置相匹配。

  5. 更新 Apache 启动/停止脚本文件 (Bin_dir/apachectl) 中的路径。

    您必须更改路径的 Apache 缺省值,使其与 Apache 目录结构相匹配。例如,将 BIN_dir/apachectl 脚本中以 HTTPD=/usr/local/apache/bin/httpd 开头的行更改为以下内容。


    HTTPD='/usr/local/apache/bin/httpd -f /global/foo/apache/conf/httpd.conf'
    
  6. 执行以下任务以检验您的配置更改。

    1. 运行 apachectl configtest 以检查 Apache httpd.conf 文件的语法是否正确。

    2. 确保 Apache 使用的所有逻辑主机名或共享地址已配置并处于联机状态。

    3. 发出 apachectl start 以手动启动 Apache 服务器。

      如果 Apache 没有正常启动,请解决问题。

    4. 启动 Apache 之后,先停止 Apache 再转到下一过程。

安装安全的 Apache Webserver

本节提供了安装安全的 Apache Webserver 的过程。有关安装不安全的 Apache Webserver 的过程,请参见安装不安全的 Apache Webserver

如何使用 mod_ssl 安装和配置 Apache 软件

此过程用于安装安全版本的 Apache Webserver。有关安装不安全的 Apache Webserver 的过程,请参见安装不安全的 Apache Webserver

  1. 成为某个群集成员的超级用户。

  2. 安装 Apache 软件,包括 mod_ssl

    要安装 mod_ssl,请参见 Apache 安装文档或 http://www.modssl.org 中的安装说明。

  3. 更新 httpd.conf 配置文件。

    • 设置 ServerName 指令。

    • 设置 BindAddress 指令(可选)。

    • 设置 ServerTypeServerRootDocumentRootScriptAliasLockFile 指令。

    • 设置 Port 指令,使其具有与 Port_list 标准资源特性相同的编号。有关详细信息,请参见步骤 4

    • 如果您选择将 Apache 软件作为代理服务器运行,请进行更改以作为代理服务器运行。有关详细信息,请参见 Apache 文档。如果要将 Apache 软件作为代理服务器运行,CacheRoot 设置必须指向群集文件系统中的某个位置。

  4. 检验 httpd.conf 文件中的一个或多个端口号是否与 Port_list 标准资源特性中的端口号相匹配。

    您可以编辑 httpd.conf 配置文件以更改其中的一个或多个端口号,使其与标准 Sun Cluster 资源特性中的缺省值(端口 80)相匹配。或者,当您配置 Sun Cluster HA for Apache 时,可以将 Port_list 标准特性设置为与 httpd.conf 文件中的设置相匹配。

  5. 安装所有证书和密钥。

  6. Bin_dir 目录中,创建一个名为 keypass 的文件。确保除属主之外其他人均无访问此文件的权限。


    # cd Bin_dir
    # touch keypass
    # chmod 700 keypass
    
  7. 如果您使用的是加密专用密钥,请执行以下步骤 a 和步骤 b。

    1. httpd.conf 文件中,查找 SSLPassPhraseDialog 指令并按以下内容进行修改。


      # SSLPassPhraseDialog exec:/Bin_dir/keypass
      

      有关 SSLPassPhraseDialog 指令的详细信息,请参见 mod_ssl 文档。

    2. 编辑 keypass 文件,以便其针对主机和端口显示加密密钥的口令。

      此文件将使用 server:port algorithm 参数调用。请确保在使用正确的参数调用该文件时,它可以为每个加密密钥显示口令。

      随后,当您尝试手动启动 Webserver 时,它就不会提示您输入口令。例如,对于在端口 8080 和 8888(两个端口均使用 RSA 加密专用密钥)上进行侦听的安全 Webserver,keypass 文件可能如下所示。


      # !/bin/ksh
      host=`echo $1 | cut -d: -f1`
      port=`echo $1 | cut -d: -f2`
      algorithm=$2
      
      if [ "$host" = "button-1.eng.sun.com" -a "$algorithm" = "RSA" ]; then
         case "$port" in
         8080) echo passphrase-for-8080;;
         8888) echo passphrase-for-8888;;
         esac
      fi

      注意 –

      keypass 文件不可以被属主以外的任何人读、写或执行。


  8. httpd.conf 文件中,将 SSLLogLevel 设置为每次 Sun Cluster HA for Apache 探测 Webserver 时均会发出警告以避免记录信息。


    SSLLogLevel warn
  9. 更新 Apache 启动/停止脚本文件 (Bin_dir/apachect1) 中的路径。

    您必须更改路径的 Apache 缺省值,使其与 Apache 目录结构相匹配。

  10. 执行以下任务以检验您的配置更改。

    1. 运行 apachectl configtest 以检查 Apache httpd.conf 文件的语法是否正确。

    2. 确保 Apache 使用的所有逻辑主机名或共享地址已配置并处于联机状态。

    3. 发出 apachectl start 以手动启动 Apache 服务器。

      确保 Webserver 不会要求您输入口令。

      如果 Apache 没有正常启动,请解决问题。

    4. 启动 Apache 之后,先停止 Apache 再转到下一过程。

如何使用 apache-ssl 安装和配置 Apache 软件

此过程用于安装安全版本的 Apache Webserver。有关安装不安全的 Apache Webserver 的过程,请参见安装不安全的 Apache Webserver

  1. 成为某个群集成员的超级用户。

  2. 使用 Apache 安装文档中的安装过程来安装 Apache 软件,包括 apache-ssl

    要安装 apache-ssl,请参见 Apache 安装文档或 http://www.apache-ssl.org 中的安装说明。

  3. 更新 httpd.conf 配置文件。

    • 设置 ServerName 指令。

    • 设置 BindAddress 指令(可选)。

    • 设置 ServerTypeServerRootDocumentRootScriptAliasLockFile 指令。

    • 设置 Port 指令,使其具有与 Port_list 标准资源特性相同的编号。有关详细信息,请参见步骤 4

    • 如果您选择将 Apache 软件作为代理服务器运行,请进行更改以作为代理服务器运行。有关详细信息,请参见 Apache 文档。如果要将 Apache 软件作为代理服务器运行,CacheRoot 设置必须指向群集文件系统中的某个位置。

  4. 检验 httpd.conf 文件中的一个或多个端口号是否与 Port_list 标准资源特性中的端口号相匹配。

    您可以编辑 httpd.conf 配置文件以更改其中的一个或多个端口号,使其与标准 Sun Cluster 资源特性中的缺省值(端口 80)相匹配。或者,当您配置 Sun Cluster HA for Apache 时,可以将 Port_list 标准特性设置为与 httpd.conf 文件中的设置相匹配。

  5. 安装所有证书和密钥。

  6. 确保所有专用密钥均为存储时不加密。

    随后,当您尝试手动启动 Webserver 时,它就不会提示您输入口令。

  7. 更新 Apache 启动/停止脚本文件 (Bin_dir/httpsdct1) 中的路径。

    您必须更改路径的 Apache 缺省值,使其与 Apache 目录结构相匹配。

  8. 执行以下任务以检验您的配置更改。

    1. 运行 httpsdctl configtest 以检查 Apache httpd.conf 文件的语法是否正确。

    2. 确保 Apache 使用的所有逻辑主机名或共享地址已配置并处于联机状态。

    3. 发出 httpsdctl start 以手动启动 Apache 服务器。

      如果 Apache 没有正常启动,请解决问题。

    4. 启动 Apache 之后,先停止 Apache 再转到下一过程。

从此处可转到何处

如果在初始 Sun Cluster 安装期间您没有安装 Sun Cluster HA for Apache,请转至安装 Sun Cluster HA for Apache 软件包。否则,请转到注册和配置 Sun Cluster HA for Apache