博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在Puppet中用ERB模板来自动配置Apache虚拟主机
阅读量:6835 次
发布时间:2019-06-26

本文共 1283 字,大约阅读时间需要 4 分钟。

模板文件是在puppet模块下面templates目录中以”.erb”结尾的文件,puppet模板主要用于文件,例如各种服务的配置文件,相同的服务,不同的配置就可以考虑使用模板文件,例如Nginx和Apache的虚拟主机配置就可以考虑采用ERB模板。

/etc/puppet/modules/apache/manifests文件内容如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class apache{
        
package{
"httpd"
:
        
ensure          =>present,
}
        
service{
"httpd"
:
        
ensure          =>running,
        
require         =>Package[
"httpd"
],
}
}
define apache::vhost ( $sitedomain,$rootdir,$port ) {
    
file 
"/etc/httpd/conf.d/httpd_vhost_${sitedomain}.conf"
:
         
#path    => '/etc/httpd/conf/httpd_vhost.conf',
         
content => template(
"apache/httpd.conf.erb"
),
         
require => Package[
"httpd"
],
    
}
}


/etc/puppet/modules/apache/templates中的httpd.conf.erb模板文件内容如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
<VirtualHost *:<%= port %>>
ServerName <%= sitedomain %>
DocumentRoot 
/var/www/html/
<%= rootdir %>
 
<Directory <%= rootdir %>>
  
Options Indexes FollowSymLinks
  
AllowOverride None
  
Order allow,deny
  
Allow from all
 
<
/Directory
>
ErrorLog logs/<%= sitedomain %>_error.log
CustomLog logs/<%= sitedomain %>_access.log common
<
/VirtualHost
>

注:很多资料和文档都是复制/etc/httpd/conf/httpd.conf文件来作为httpd.conf.erb模板,我觉得这种做法还是欠缺考虑的,一般来说,每台Aapche主机上面至少有一个基于域名的虚拟主机,有的更多,十几个也很常见,所以我们才需要用独立的虚拟主机文件来管理虚拟主机并自动的载入,这也是我们利用erb模板文件将虚拟主机的文件定义路径放在/etc/httpd/conf.d目录下的原因。

本文转自 抚琴煮酒 51CTO博客,原文链接:http://blog.51cto.com/yuhongchun/1325296,如需转载请自行联系原作者
你可能感兴趣的文章
浏览器跑分测试
查看>>
Android的Activity屏幕切换动画(一)-左右滑动切换
查看>>
LVS+keeplived+nginx+tomcat高可用、高性能jsp集群
查看>>
Linux下清理内存和Cache方法
查看>>
XML1.1
查看>>
rhel6.3挂载HP-EVA6400磁阵--linux端操作流程
查看>>
Gradle构建脚本概要之构建块
查看>>
HashTable已经被淘汰了,不要在代码中再使用它
查看>>
ACCP学习旅程之----- 使用HTML语言开发商业站点(第一章 HTML的基本标签)
查看>>
AAD Connect 微软官方的描述准确吗?
查看>>
C++实现快速排序
查看>>
puppet 类、模块
查看>>
Rabbitmq安装
查看>>
2016年3月9日作业
查看>>
tomcat 部署站点时遇到的部分问题以及解决方案
查看>>
excel两个下拉框相互关联
查看>>
HttpURLConnection发送post请求信息
查看>>
mysql出现多线程操作同一个表的情况,应该怎么办?
查看>>
springmvc 将post转换为delete,put
查看>>
第二届清华大学项目管理精英训练营【敏捷个人】分享
查看>>