STERFIELD

Ansibleを実際に導入してみた (2)

Ansibleを実際に導入してみた (2)

前回に引き続き、Ansibleでサーバー構築を実践的にやってみました。
前回の失敗はファイアーウォールっぽく、すぐに出来たので割愛します。

今回はローカルのVagrantで構築した開発環境に挑んでみます。

インストールするものとしては、
・Apache
・Mysql
・PHP
・git
・LaunchCartそのもの (ファイルとDB含む)

ファイル構成

├── ansible.cfg
├── clean.retry
├── clean.yml
├── group_vars
│         └── all
├── hosts
├── roles
│   ├── apache
│   │   ├── handlers
│   │   │   └── main.yml
│   │   ├── tasks
│   │   │   └── main.yml
│   │   └── templates
│   │         └── httpd.conf
│   ├── git
│   │   ├── files
│   │   │   └── id_rsa
│   │   ├── handlers
│   │   │   └── main.yml
│   │   ├── tasks
│   │   │   └── main.yml
│   │   └── templates
│   ├── lc_install
│   │   ├── handlers
│   │   │   └── main.yml
│   │   ├── tasks
│   │   │   └── main.yml
│   │   └── templates
│   ├── mysql
│   │   ├── files
│   │   │   └── LaunchCartStandard.sql
│   │   ├── handlers
│   │   │   └── main.yml
│   │   ├── tasks
│   │   │   └── main.yml
│   │   └── templates
│   │         └── my.cnf
│   └── php
│              ├── handlers
│              ├── tasks
│              │   └── main.yml
│              └── templates
│                    └── php.ini
├── site.retry
└── site.yml

このような感じです。

順番としては

  1. git インストール
  2. LCインストール (fileのみ)
    cache, logs ディレクトリの権限設定含む
  3. php パッケージのインストール
    php.iniをテンプレートとして対象サーバへ送る
  4. mysqlインストール
    インストール後の起動とmy.cnfの対象サーバ送信
  5. Apacheインストール
    インストール後の起動

Apacheなどのミドルウェアを先に持ってくると設定ファイルに
「対象ディレクトリが見つかりません」
とご親切にエラーを返してくれます。。。

以下、行き詰まった時のエラー

ソースの例 (Apache, Framework等だけ抜粋)





※設定ファイルのhttpd.confはroles/apache/templates以下に用意しておきます。

 

補足

実はこれ以外にも手動で細かい作業を足してますが・・・
まとめ切れなかったため今回は割愛して後々ドキュメントにでもまとめたいと思います。最後に結果のエビデンス!

 

ss_ansible_lc
思ったほど難しくなかったです。意外とお手軽で便利なツールだと思います。

Author Profile

著者近影

スターフィールド編集部

SHARE

合わせて読みたい