はじめに
Ansibleを使ってnginxをインストールします。内容は以下の通りです。
- ホスト名を「Web01」にする
- nginxをインストールする
- Webサイトのメインページを作成する
- nginxサービスを起動する
前提条件
Ansibleサーバのインストールが完了しているものとします。インストールが完了していない場合は「Ansibleをインストールしてみた」をご参照下さい。
事前準備
Ansibleサーバで4つの作業を実施します。
- hostsファイルの変更
- インベントリファイルの作成
- プレイブックの作成
- 鍵ファイルのコピー
hostsファイルの変更
hostsファイルにnginxをインストールするサーバの情報を追加します。2行分追加して下さい。
$ vi /etc/ansible/hosts
[servers]
192.168.188.138
インベントリファイルの作成
inventoryファイルを新規に作成しnginxをインストールするサーバの情報を追加します。2行分追加して下さい。
$ vi /home/ansible/inventory
[web]
192.168.188.138
プレイブックの作成
プレイブックを作成します。
$ vi install_nginx.yml
---
- name: Install Nginx
hosts: web
vars:
ansible_become: yes
ansible_become_method: sudo
tasks:
- name: Change Hostname
hostname:
name: web01
- name: Install Nginx
yum:
name: nginx
state: latest
- name: Create contents
copy:
dest: /usr/share/nginx/html/index.html
content: "<html><h1>Hello World!</h1></html>"
owner: ansible
鍵ファイルのコピー
Ansibleサーバから対象サーバへ鍵ファイルをコピーします。
$ ssh-copy-id 192.168.188.138
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/ansible/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
ansible@192.168.188.138's password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh '192.168.188.138'"
and check to make sure that only the key(s) you wanted were added.
[ansible@as1 ~]$
nginxのインストール
インベントリファイルとプレイブックを元にnginxをインストールします。
$ ansible-playbook -i inventory install_nginx.yml
PLAY [Install Nginx] ***********************************************************
TASK [Gathering Facts] *********************************************************
ok: [192.168.188.138]
TASK [Change Hostname] *********************************************************
changed: [192.168.188.138]
TASK [Install Nginx] ***********************************************************
changed: [192.168.188.138]
TASK [Create contents] *********************************************************
changed: [192.168.188.138]
TASK [Start Nginx] *************************************************************
changed: [192.168.188.138]
PLAY RECAP *********************************************************************
192.168.188.138 : ok=5 changed=4 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
[ansible@as1 ~]$
動作確認
ブラウザのURLに対象サーバのIPアドレスを入力します。Webサーバとして動作していることが確認できました。
コメント