2.6. 配置 HTTP 服务器
HTTP 服务器现已安装并启用。下一步是提供一些配置。HTTP 服务器已在 /etc/httpd/conf/httpd.conf 中提供一些默认配置,它在端口 80 上提供一个 Web 服务器。我们将添加一些额外的配置,以便在用户指定的端口上提供额外的 Web 服务器。
我们使用模板文件来存储配置内容,因为用户定义的端口需要变量输入。在我们的模块中,创建一个名为 templates 的目录,并在新目录中添加名为 myserver.conf.erb 的文件。在文件中添加以下内容:
				此模板遵循 Apache Web 服务器配置的标准语法。唯一的区别是包含 Ruby 转义字符来注入我们模块的变量。例如,httpd_port,我们用来指定 Web 服务器端口。
			
				另请注意包含 fqdn 的变量,它是存储系统的完全限定域名的变量。这称为系统事实。系统事实是在生成各个系统的 Puppet 目录之前从每个系统收集而来。Puppet 使用   命令收集这些系统事实,您也可以运行事实来查看这些事实的列表。
			facter 
编辑 httpd.pp 清单并添加突出显示的行:
这可实现:
- 我们为服务器配置文件 /etc/httpd/conf.d/myserver.conf 添加文件资源声明。
 - 
						我们使用 
notify abrt Service["服务之间添加一个关系。这会检查配置文件是否有更改。如果文件已更改,Puppet 将重新启动服务。httpd"] 属性在配置文件和 httpd - 在添加此文件之前,我们检查是否安装了 httpd 软件包。
 - 
						此 /etc/httpd/conf.d/myserver.conf 文件的内容是我们之前创建的 myserver.conf.erb 模板。
 - 我们添加第二个 file resource 声明。这个目录为我们的 Web 服务器创建一个目录 /var/www/myserver/。
 
				我们还需要将 httpd_port 参数包含在我们的主清单文件中。编辑 init.pp 清单,添加以下文本,以粗体显示:
			
class mymodule (
  $httpd_port = 8120
) {
  include mymodule::httpd
}
class mymodule (
  $httpd_port = 8120
) {
  include mymodule::httpd
}
				这会将 httpd_port 参数设置为默认值 8120。您可以使用 Satellite 服务器覆盖这个值。
			
				再次运行 puppet apply 命令,以测试对模块的更改:
			
这些输出会看到消息显示创建配置文件和 Web 服务器目录。