在Puppet中用ERB模板来自动配置Apache虚拟主机 推荐
2013-11-15 16:56
447 查看
模板文件是在puppet模块下面templates目录中以”.erb”结尾的文件,puppet模板主要用于文件,例如各种服务的配置文件,相同的服务,不同的配置就可以考虑使用模板文件,例如Nginx和Apache的虚拟主机配置就可以考虑采用ERB模板。
/etc/puppet/modules/apache/manifests文件内容如下所示:
/etc/puppet/modules/apache/templates中的httpd.conf.erb模板文件内容如下所示:
注:很多资料和文档都是复制/etc/httpd/conf/httpd.conf文件来作为httpd.conf.erb模板,我觉得这种做法还是欠缺考虑的,一般来说,每台Aapche主机上面至少有一个基于域名的虚拟主机,有的更多,十几个也很常见,所以我们才需要用独立的虚拟主机文件来管理虚拟主机并自动的载入,这也是我们利用erb模板文件将虚拟主机的文件定义路径放在/etc/httpd/conf.d目录下的原因。
/etc/puppet/modules/apache/manifests文件内容如下所示:
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模板文件内容如下所示:
<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目录下的原因。
相关文章推荐
- 在Puppet中用ERB模板来自动配置Nginx虚拟主机 推荐
- 在Puppet中用ERB模板来自动配置Nginx虚拟主机
- [转载]在Puppet中用ERB模板来自动配置Nginx虚拟主机
- 关于apache虚拟主机深入配置实例 推荐
- 【推荐】基于Apache在本地配置多个虚拟主机站点
- Apache 配置虚拟主机之3--基于IP+Port结合 推荐
- 4----apache主配置文件模板和基于域名虚拟主机配置文件模板
- apache实现虚拟主机的配置
- apache上配置多虚拟主机
- Apache服务器的架设(虚拟主机) 推荐
- apache 本地配置虚拟主机,单ip多域名
- Apache虚拟主机搭建(单IP多网站服务器配置)
- apache hosts 虚拟主机 配置
- Apache虚拟主机的配置
- Apache2.2.x+tomcat单IP多域名多站点的虚拟主机配置详解(win2003环境)
- Apache 配置虚拟目录、主机的疑惑及解决
- Apache虚拟主机配置之基于IP的虚拟主机实践
- 转:apache+tomcat+mod_jk整合配置虚拟主机
- apache虚拟主机的配置
- apache配置多个虚拟主机