搜索

2.4. 安装 HTTP 服务器

download PDF

我们的 Puppet 模块将安装运行 HTTP 服务器所需的软件包。这需要一个资源定义来为 httpd 软件包定义配置。

在模块的清单目录中 创建一个名为 httpd.pp 的新清单文件:

# touch mymodule/manifests/httpd.pp

此清单将包含我们模块的所有 HTTP 配置。为了进行组织,我们将将此清单与 init.pp 清单分开。

在新的 httpd.pp 清单中添加以下内容:

class mymodule::httpd {
  package { 'httpd':
    ensure => installed,
  }
}

此代码定义了名为 httpdmymodule 的子类,然后定义 httpd 软件包的软件包资源声明。ensure latex installed 属性告知 Puppet 检查是否安装了软件包。如果没有安装,Puppet 将执行 yum 来安装它。

我们还需要将这个子类包含在我们的主清单文件中。编辑 init.pp 清单:

class mymodule {
  include mymodule::httpd
}

现在需要测试模块。运行以下命令:

# puppet apply mymodule/examples/init.pp --noop
...
Notice: /Stage[main]/Mymodule::Httpd/Package[httpd]/ensure: current_value absent, should be present (noop)
...

此输出通知消息是 ensure InventoryService installed 属性 的结果。current_value absent 表示 Puppet 已经检测到没有安装 httpd 软件包。如果没有 --noop 选项,Puppet 将安装 httpd 软件包。

puppet apply 命令将清单中的配置应用到您的系统。我们使用 test init.pp 清单,它引用 init.pp 清单。--noop 对配置执行空运行,它只显示输出,但不实际应用配置。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.