/ / Expression rationnelle Ansible pour la ligne Apache VirtualHost - ansible

Expression régulière Ansible pour la ligne Apache VirtualHost - ansible

Je veux remplacer <VirtualHost *:80> à <VirtualHost *:443> dans mon fichier de configuration apache en utilisant ansible. Comment devrais-je faire ça? J'ai essayé ci-dessous mais cela n'a pas aidé:

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

Réponses:

1 pour la réponse № 1

Cela ne fonctionne pas, à cause de la * (un marqueur de répétition d'expression régulière) dans le regexp. Vous devriez y échapper avec pour correspondre à la * caractère dans le fichier cible:

regexp="^<VirtualHost *:80>"

Toutefois:

  • il est assez lourd d’utiliser Ansible "s replace module pour éditer les fichiers de configuration Apache. Apache vous permet déjà de placer facilement la configuration dans des fichiers séparés, de les lire et de les combiner automatiquement. Utilisation copy ou template au lieu;

  • ne pas enregistrer les fichiers de configuration directement dans sites-enabled, ils doivent être stockés dans sites-available et symlinked de sites-enabled (cela ne vous concerne peut-être pas, mais c’est pour Apache "s a2ensite et a2dissite commandes).