ホーム > 技術情報 > Linux > Ansibleを利用して、LAMP環境を構築する!

Ansibleを利用して、LAMP環境を構築する!

今回は、Ansibleを利用して、LAMP環境を構築してみたいと思います。Ansibleとは、ChefやPuppetと並ぶ、構成管理ツールの一つです。近年のDevOpsや、Infrastructure as a codeという考え方のもと、利用が増えています。

みなさん、こんにちは!
イーアイティのSです。

今回は、Ansibleを利用してLAMP環境を構築してみたいと思います。

Ansibleについて

Ansibleとは、ChefやPuppetと並ぶ構成管理ツールの一つです。
特徴としては、以下の点が挙げられます。

  • ・設定ファイルが読みやすい(YAML形式で記述する)
  • ・ターゲットノードに特別なagentをインストールする必要がない
  • ・ブートストラッピング、構成管理、オーケストレーションに対応
  • ・冪等性を担保する(何度実行しても同じ結果になる事)

LAMP構成について

LAMPとは、Webアプリケーションを開発、運用する為のソフトウェア構成です。

構成

  • L → Linux (redhat, CentOS, debian, SUSE等のLinuxと呼ばれるOS)
  • A → Apache (Apache, nginx等のWebサーバ)
  • M→ MySQL (MySQL, MariaDB, postgresql等のデータベース)
  • P → PHP (PHP, ruby on rails等のアプリケーションの実行環境)

 

著者の主観ではありますが、Linux上にWebサーバ,DBサーバ、Webアプリケーションの実行環境が揃っているものを総称して、LAMP環境と呼ぶことが多いようです。

検証内容

ESXi上のターゲットノードに対して、Ansibleを利用してLAMP環境を構築します。

今回は、Playbookを階層構造化せずに、単一のファイルに記述します。

ソフトウェア構成

  • ・Apache 2.4
  • ・MariaDB 5.5
  • ・PHP 5.4

検証環境

コントロールノード

  • ・CentOS7.4
  • ・Ansible 2.5.0
  • ・python 3.6

※ コントロールノードとは、AnsibleでPlaybookを実行するノードの事です。

※ 事前にAnsibleをインストールしています。インストールついては、以下を参考にしてください。

<公式ドキュメント>

http://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html

ターゲットノード

  • ・CentOS7.4

※ ターゲットノードとは、コントロールノードから構成管理されるノードの事です。
※ 事前にコントロールノードからターゲットノードに、rootユーザで公開鍵認証を利用して、SSH接続ができるように設定しています。

Playbookの作成

Playbookとは、YAML形式で記述されるサーバの構成情報を記述するファイルの事です。

コントロールノードから、Ansibleを利用してPlaybookを実行することにより、ターゲットノードに構成を反映させます。

以下からの検証作業は、コントロールノードの任意のディレクトリで行って下さい。

インベントリファイルの作成

playbookの作成

 

Ansible Playbookの実行

※ 実行に失敗する方は、公開鍵認証を利用してSSH接続できるかを確かめてください!

 

ターゲットノードにSSH接続し、LAMP環境が構築できたかを確認する

各パッケージのインストールと起動に成功していますね!

 最後に

今回は、AnsibleでLAMP環境を構築してみました。Ansibleではサーバを構成管理する為の、モジュールが豊富に用意されているため、設定ファイルの書き換えや異なるバージョンのソフトウェアのインストールも可能です。
著者の主観ではありますが、簡単に分かりやすく記述できるのがいいところだと思いました。

お問い合わせ

各種お問い合わせに関しては、こちらからお願い致します。