【Ansible】Ansible ~ インストール / ローカルでのAnsible使用 ~

 ■ はじめに

https://dk521123.hatenablog.com/entry/2018/03/01/225732

で扱った ansible の続き。

 今回の目的

[a] Ansible のインストール
[b] Ansible を使って、ローカル上にApacheインストール
 => シンプルな構成で、かつ、やることもシンプルなので、
    Ansible の感じを掴みやすかった。

 ■ ポイント

【i】 ansible-playbookコマンド

「--connection=local」を付加して実行 
ansible-playbook 【Playbook(***.yml)】 --connection=local

 【ii】 playbook

以下のように指定 

hosts: 127.0.0.1
connection: local

 ■ 手順

 【1】 Ansible の インストール

sudo yum install epel-release -y

sudo yum install ansible -y

確認

# 確認1:バージョン確認
ansible --version
 => 「ansible 2.6.3」が表示

# 確認2:[WARNING]が1つほどでるが、エラーがでなければOK
ansible localhost -m ping

 【2】 Ansible を使って、ローカル上にApacheインストール

2-1) Playbook を作成する

sudo vi main.yml
~~~~~~~~~~~
- hosts: 127.0.0.1
  connection: local
  become: yes
  tasks:
  - name: Install libselinux-python
    yum: name=libselinux-python state=present
  - name: Install Apache
    yum: name=httpd state=latest
  - name: Start Apache
    service: name=httpd state=started enabled=yes
  - name: firewall-cmd allow Apachei(HTTP)
    firewalld: service=http permanent=true state=enabled immediate=true
  - name: firewall-cmd allow Apache(SSL)
    firewalld: service=https permanent=true state=enabled immediate=true
  - name: Check to start Apache
    shell: ps aux | grep httpd
    register: ps_result
    changed_when: false
  - debug: var=ps_result.stdout_lines
    when: ps_result | success
~~~~~~~~~~~

補足 : main.yml の内容

1) yumでlibselinux-pythonのインストール(SELinux対策)
2) yumでApacheのインストール
3) Apache起動と自動起動化
4) ファイアウォールでHTTP/SSLをあける
5) Apacheの起動確認

2-2) Playbook を実行する

sudo ansible-playbook main.yml --connection=local

2-3) 動作確認を行う

curl http://localhost
 => HTMLファイルが出力されていればOK

 参考文献

https://qiita.com/takahashi-kazuki/items/0eb44ab411ed23ac9c15
https://qiita.com/hnakamur/items/c7c4f7277c07a14a4a59

関連記事

Ansible ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2018/03/01/225732