我想使用ansible将<VirtualHost *:80>
替换为我的apache配置文件中的<VirtualHost *:443>
。我该怎么办?我在下面试过,但没有帮助:
- name: Enable SSL port
replace: dest="/etc/apache2/sites-enabled/000-default.conf"
regexp='^<VirtualHost *:80>'
replace='<VirtualHost *:443>'
become: true
答案 0 :(得分:1)
由于*
中的regexp
(正则表达式重复标记),它不起作用。您应该使用\
对其进行转义,以匹配目标文件中的*
字符:
regexp='^<VirtualHost \*:80>'
然而:
使用Ansible的replace
模块编辑Apache配置文件相当麻烦。 Apache已经使您可以轻松地将配置放在单独的文件中,自动读取和组合它们。请改用copy
或template
;
不要将配置文件直接保存到sites-enabled
,它们应存储在sites-available
中,并且sites-enabled
符号链接(这可能与您无关,但是这适用于Apache的a2ensite
和a2dissite
命令。