Je reçois l'erreur suivante lorsque vous tentez d'activer un module déjà permis Apache2 sur Ubuntu 16.04
:Impossible de définir le module Réécrire activé: Module de réécriture déjà permis
Failed to set module rewrite to enabled: Module rewrite already enabled
Ma tâche
- name: Enable mod_rewrite
apache2_module:
state: present
name: rewrite
force: true
ignore_configcheck: true
L'erreur dans Ansible
TASK [apache : Enable mod_rewrite] ****************************************************************************
fatal: [vps]: FAILED! => {"changed": false, "failed": true, "msg": "Failed to set module rewrite to enabled: Module rewrite already enabled\n", "rc": 0, "stderr": "", "stderr_lines": [], "stdout": "Module rewrite already enabled\n", "stdout_lines": ["Module rewrite already enabled"]}
to retry, use: --limit @/home/me/ansible_ubuntu/ansible/playbook.retry
Je suis sur Ansible 2.4.0
J'ai essayé d'utiliser le paramètre force
, puis ignore_configcheck
, tous donnant les mêmes résultats.
Python Client: 2.7.6
Python serveur: 2.7.12
Mise à jour # 1
devrait-il pas tout simplement continuer indiquant qu'il est installé plutôt que de s'arrêter?
Mise à jour # 2
Sortie de a2dismod
[email protected]:/etc/apache2/sites-available$ a2dismod
Your choices are: access_compat alias auth_basic authn_core authn_file authz_core authz_host authz_user autoindex deflate dir env fastcgi filter headers mime mpm_event negotiation proxy proxy_fcgi rewrite setenvif status
Which module(s) do you want to disable (wildcards ok)?
Mise à jour # 3
J'ai changé la tâche par un des commentaires afin de refléter le nom complet du module:
- name: Enable mod_rewrite
apache2_module:
state: present
name: mod_rewrite
force: true
ignore_configcheck: true
Vous avez une autre erreur:
TASK [apache : Enable mod_rewrite] ****************************************************************************
fatal: [vps]: FAILED! => {"changed": false, "failed": true, "msg": "Failed to set module mod_rewrite to enabled: ", "rc": 1, "stderr": "ERROR: Module mod_rewrite does not exist!\n", "stderr_lines": ["ERROR: Module mod_rewrite does not exist!"], "stdout": "", "stdout_lines": []}
to retry, use: --limit @/home/me/ansible_ubuntu/ansible/playbook.retry
Mise à jour # 4
Solution
En task.yml
:
- Nom: Activer mod_rewrite apache2_module: état: nom actuel : Réécriture Force: Vrai ignore_configcheck: true
Dans ansible/modules/web_infrastructure/apache2_modules.py
# a2enmod name replacement to apache2ctl -M names
text_workarounds = [
('shib2', 'mod_shib'),
('evasive', 'evasive20_module'),
('rewrite', 'rewrite_module'),
('headers', 'headers_module'),
]
Est-ce que 'a2dismod' est installé sur l'hôte cible? – Zlemini
Je crois que c'est, voir mise à jour # 2 – TekiusFanatikus
Cela semble fou, mais Ansible gère certaines situations résultant de cette erreur avec les noms de modules codés en dur. https://github.com/ansible/ansible/blob/devel/lib/ansible/modules/web_infrastructure/apache2_module.py#L153 Pouvez-vous essayer avec 'name: mod_rewrite' à la place? Et vérifiez quel est le nom du module dans les résultats 'apache2ctl -M'. – techraf