ansible
2017-01-03 40 views 0 likes 
0

我想在我的apache配置文件中使用ansible替换<VirtualHost *:80><VirtualHost *:443>。我应该怎么做?下面我试过,但没有帮助:用于Apache VirtualHost行的Ansible正则表达式

- name: Enable SSL port 
    replace: dest="/etc/apache2/sites-enabled/000-default.conf" 
      regexp='^<VirtualHost *:80>' 
      replace='<VirtualHost *:443>' 
    become: true 

回答

1

它不工作,因为*(正则表达式的重复标记),在regexp。你应该\逃脱它的*字符在目标文件匹配:

regexp='^<VirtualHost \*:80>' 

但是:

  • 这是相当麻烦的使用Ansible的replace模块编辑Apache的配置文件。 Apache已经使您可以轻松地将配置放在单独的文件中,自动读取和组合它们。改为使用copytemplate;

  • 没有配置文件直接保存到sites-enabled,他们应存放在sites-availablesites-enabled(它可能不是怎么了你,但是这是Apache的a2ensitea2dissite命令)符号链接。

+0

Thanks @techraf。它帮助了我! –

相关问题