如果您查看httpd.conf,您可以看到' AllowOverride无',我想将此更改为' AllowOverride All',但是请通过下面的Puppet清单执行此操作。
我尝试使用'目录'但它无效。在此示例中将AllowOverride更改为All的正确方法是什么?
# ************************************
# Vhost template in module puppetlabs-apache
# Managed by Puppet
# ************************************
<VirtualHost *:443>
ServerName test.example.com
## Vhost docroot
DocumentRoot "/var/www/html"
## Directories, there should at least be a declaration for /var/www/html
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
apache::vhost { 'test.example.com':
port => '443',
docroot => '/var/www/html',
ssl => true,
ssl_cert => "${ssl_base}/ssl.crt",
ssl_key => "${ssl_base}/ssl.key",
directories => [
{
'path' => '/var/www/html',
'options' => 'Indexes FollowSymLinks',
'allowoverride' => 'All',
},
],
}
}
答案 0 :(得分:1)
您似乎需要使用&#34; allow_override&#34;而不是&#34; allowoverride&#34;或&#34;覆盖&#34;根据给出的例子。现在,这将创建所需的vhost文件。
<强> apache.pp 强>
apache::vhost { 'test.example.com':
port => '443',
docroot => '/var/www/html',
ssl => true,
ssl_cert => "${ssl_base}/ssl.crt",
ssl_key => "${ssl_base}/ssl.key",
directories => [
{
'path' => '/var/www/html',
'options' => 'Indexes FollowSymLinks',
'allow_override' => 'All',
},
],
}
}
答案 1 :(得分:0)
从puppet文档中,您可以使用override设置它: https://forge.puppet.com/puppetlabs/apache#override
以下是apache模块用于设置AllowOverride值的模板: https://github.com/puppetlabs/puppetlabs-apache/blob/61301b5a8d5fa2bf1e98b1d8532aaf141a27f365/templates/vhost/_directories.erb#L55-L57
您的代码应如下所示:
apache::vhost { 'test.example.com':
port => '443',
docroot => '/var/www/html',
ssl => true,
ssl_cert => "${ssl_base}/ssl.crt",
ssl_key => "${ssl_base}/ssl.key",
directories => [
{
'path' => '/var/www/html',
'options' => 'Indexes FollowSymLinks',
'override' => 'All',
},
],
}
}
以下是他们如何在其中一个单元测试中使用覆盖的示例: https://github.com/puppetlabs/puppetlabs-apache/blob/2931d0ebc4a0582e5209e9994ab8ae5c445d87b7/spec/acceptance/vhost_spec.rb#L998-L1015
答案 2 :(得分:0)
我在httpd.conf文件中使用了ruby模板。
这里,allowoverride的值是根据层次结构和环境从hiera传递的。
如果您的httpd.conf在不同环境中保持不变,则可以通过文件资源方法
传递它