首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >设置puppet和安装apache包问题

设置puppet和安装apache包问题
EN

Stack Overflow用户
提问于 2018-09-06 03:24:27
回答 1查看 422关注 0票数 1

出于测试目的,我想使用puppet在Ubuntu 16.4 puppet master上设置puppet并部署apache,而无需使用节点,具体步骤如下:

代码语言:javascript
复制
$ wget https://apt.puppetlabs.com/puppet5-release-xenial.deb

通过运行以下命令安装程序包:

代码语言:javascript
复制
$ dpkg –i puppet5-release-xenial.deb

更新包列表

代码语言:javascript
复制
$ apt-get update

安装puppet服务器

代码语言:javascript
复制
$ sudo apt-get install puppetserver

在我们的Puppet服务器上,安装puppetlabs-apache模块:

代码语言:javascript
复制
$ sudo puppet module install puppetlabs-apache

在manifests目录中,需要创建一个init.pp类/etc/puppet/modules/apache/manifests/init.pp

代码语言:javascript
复制
class apache2 {
    package {'apache2':
          ensure => 'present',
    }
}

要尝试安装我使用的apache包:

代码语言:javascript
复制
$ sudo puppet apply init.pp

然后,我得到了以下内容:

代码语言:javascript
复制
Notice: Compiled catalog for osboxes.home in environment production in 0.03 seconds
Notice: Finished catalog run in 0.04 seconds

当我检查是否安装了apache时,它还没有安装。

我哪里错了?

EN

回答 1

Stack Overflow用户

发布于 2018-09-06 10:26:05

如果Apache模块位于正确的模块路径中,那么问题是您没有任何代码来包含该模块。

为了简单起见,让我们忘记Puppet master上的文件结构等等,只需创建一个apache.pp文件(将其保存在/tmp中或您喜欢的任何位置),并为其提供以下内容:

代码语言:javascript
复制
class apache2 {
    package {'apache2':
        ensure => 'present',
    }
}

include apache2

现在试一试:

代码语言:javascript
复制
$ sudo puppet apply apache.pp

您应该会看到Puppet install the apache2包。

但是,按照惯例,并且为了与Puppet master正确集成,您现在需要将此内容放在预期的文件位置。

apache类(您已经拥有的代码)需要在文件${modulepath}/apache2/manifests/init.pp中。

这是为了满足Puppet的自动加载器。您可以找到有关该here的更多信息。

同时,模块路径是记录在here中的,它可以根据Puppet的版本以及如何设置一切而有所不同。

要找到您的模块路径,请尝试:

代码语言:javascript
复制
$ sudo puppet config print modulepath

现在,如果您已经准备好了所有的文件,那么接下来应该能够以不同的方式包含该类,如下所示:

代码语言:javascript
复制
$ sudo puppet apply -e "include apache2"

一旦您得到了工作,就可以阅读roles and profiles模式了。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52192133

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档