Ansibleでsquidのbasic認証ユーザ名・パスワードを変更をした時の手順をまとめてみました。
0.環境
Ansible:2.4.2.0
OS:CentOS7
1.ディレクトリ構成
ansible/
├─hosts
├─roles/
│ └─squid/
│ ├─handlers
│ │ └─main.yml
│ └─tasks
│ └─main.yml
└─site.yml
2.hostsファイル作成
[ファイルの書き方]
変更対象のIPアドレス(またはホスト名) basic_auth_user="設定したいユーザー名" basic_auth_passwd="設定したいパスワード"
<例>
/etc/ansible/hosts
192.168.56.51 basic_auth_user=user basic_auth_passwd=user
192.168.56.53 basic_auth_user=proxy basic_auth_passwd=proxy
3.playbook編集
- site.ymlの編集
cd/etc/ansible
vi site.yml
---
- hosts: all
roles:
- squid
- tasks/main.ymlの編集
mkdir -p roles/squid/tasks
vi roles/squid/tasks/main.yml
---
- name: "python-passlib installed"
pip:
name: passlib
- name: "delete user"
htpasswd:
path: /etc/squid/.htpasswd
name: ##現在のユーザ名を記入
state: absent
- name: "add user"
htpasswd:
path: /etc/squid/.htpasswd
name: "{{ basic_auth_user }}"
password: "{{ basic_auth_passwd }}"
owner: root
group: squid
mode: 0640
notify: restart squid
- handlers/main.ymlの編集
vi roles/squid/handlers/main.yml
---
- name: restart squid
systemd: name=squid state=restarted
become: true
4.動かす
- 対象を確認する
ansible-playbook site.yml --list-hosts
- 検証する
ansible-playbook site.yml -C
- 実際に動かす
ansible-playbook site.yml