2017-12-02 2 views
0

Puppetを使用しているApache Vhostのファイル内の単語を置き換えるのに役立つ必要があります。今、私は最初の行に$fqdn facter変数と*を代用したい人形を使ってファイル内の文字列を置換する必要があります

<VirtualHost *:80> 
RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R,L] 
</VirtualHost> 

:私のバーチャルホストファイルは次のようになります。私はPuppet Forgeのapacheモジュールを使いたくありません。 stdlibモジュールのfile_lineが見つかりましたが、ファクタ変数で置き換えることはできません。

sedコマンドを実行して*をホスト名に置き換えるリソースタイプをexecとすることもできますが、そのようにしないでください。これを行う他の方法はありますか?

答えて

1

あなたは、実際にここにfile_lineを使用することができます。

include stdlib 
$fqdn = $facts['fqdn'] 
file_line { 'virtual_host': 
    ensure => present, 
    path => '/path/to/httpd.conf', 
    line => "<VirtualHost ${fqdn}:80>", 
    match => '<VirtualHost \*:80>', 
} 
関連する問題