2017-06-12 9 views
2

httpd.confを見ると、「AllowOverride None」と表示されますが、これを「AllowOverride All」に変更しますが、以下のパペットマニフェストでこれを行います。Puppet Manifest経由でApacheでAllowOverrideを有効にするにはどうすればよいですか?

私はこれを 'ディレクトリ'で試みましたが、動作しません。この例でAllowOverrideをAllに変更する正しい方法は何ですか?

のhttpd.conf

# ************************************ 
# 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.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', 
     'allowoverride' => 'All', 
     }, 
    ], 
    } 
} 
+1

を経由して、それを渡すことができますそのファイルに使用されている.conf.erbの場合、 'AllowOverride'の値は' None'にハードコードされています。あなたは 'apache'モジュール以外の変更を行う別の方法を模索する必要があります。テンプレートを変更したり、 'file_line'を使ったり、新しい' file'リソースを作成したりすることができます。 –

+0

また、欠けている機能をApacheモジュールに追加するというプルリクエストを起こすこともできます。 –

答えて

0

人形のドキュメントから、あなたはオーバーライドでこれを設定します: 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

0

私はhttpd.confのファイル用のルビーのテンプレートを使用していました。

ここでallowoverrideの値は階層と環境に基づいてhieraから渡されます。

あなたのhttpd.confは、環境間で同じままである場合、あなたはテンプレートhttps://github.com/puppetlabs/puppetlabs-apache/blob/master/templates/httpdによると、ファイルリソース方法

関連する問題