首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Augeas设置ServerName

使用Augeas设置ServerName
EN

Stack Overflow用户
提问于 2015-12-05 01:42:15
回答 1查看 936关注 0票数 1

我正在尝试使用Augeas资源在我的httpd.conf中设置ServerName,如下所示……

代码语言:javascript
复制
# configure Apache HTTP server
augeas { 'ServerName':
    context => '/files/etc/httpd/conf/httpd.conf',
    changes => "set ServerName ${controller_name}",
} ->

..。但是我得到了这个错误:

代码语言:javascript
复制
[Debug: Augeas[ServerName](provider=augeas): Opening augeas with root /, lens path , flags 32^[[0m
[Debug: Augeas[ServerName](provider=augeas): Augeas version 1.2.0 is installed^[[0m
[Debug: Augeas[ServerName](provider=augeas): Will attempt to save and only run if files changed^[[0m
[Debug: Augeas[ServerName](provider=augeas): sending command 'set' with params ["/files/etc/httpd/conf/httpd.conf/ServerName", "svl-ost-centos.cisco.com"]^[[0m
[Debug: Augeas[ServerName](provider=augeas): Put failed on one or more files, output from /augeas//error:^[[0m
[Debug: Augeas[ServerName](provider=augeas): /augeas/files/etc/httpd/conf/httpd.conf/error = put_failed^[[0m
[Debug: Augeas[ServerName](provider=augeas): /augeas/files/etc/httpd/conf/httpd.conf/error/path = /files/etc/httpd/conf/httpd.conf^[[0m
[Debug: Augeas[ServerName](provider=augeas): /augeas/files/etc/httpd/conf/httpd.conf/error/lens = /opt/puppet/share/augeas/lenses/dist/httpd.aug:88.10-.44:^[[0m
[Debug: Augeas[ServerName](provider=augeas): /augeas/files/etc/httpd/conf/httpd.conf/error/message = Malformed child node 'ServerName'^[[0m
[Debug: Augeas[ServerName](provider=augeas): Closed the augeas connection^[[0m
[Error: /Stage[main]/Wrapcontroller/Augeas[ServerName]: Could not evaluate: Saving failed, see debug^[[0m

我在这里做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2015-12-05 06:05:38

Httpd.lns镜头中的指令不是节点标签。相反,树应该看起来像这样:

代码语言:javascript
复制
/directive = "ServerName"
/directive/arg = "${controller_name}"

使用Puppet实现这一点的方法是:

代码语言:javascript
复制
augeas { 'ServerName':
    context => '/files/etc/httpd/conf/httpd.conf',
    changes => [
      'set directive[.="ServerName"] "ServerName"',
      "set directive[.="ServerName"]/arg '${controller_name}'",
    ],
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34094284

复制
相关文章

相似问题

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