23時12分はじめに本ブログでは、これまで仮想化ソフトウエアについて多く取り上げて来ましたが、構築系の話は全くと言って良いほどありませんでした。そこで今回は、Chef-Soloを使ったLAMPサーバの構築方法を解説します。Incが開発するサーバ構成管理ツールです。構成管理ツールと言うと難しく感じますが、ひと言で言うと、サーバ設定情報を一元管理するツールと言えます。Chefでは、サーバの設定情報を管理するサーバ(Chefサーバ)と、Chefサーバによって管理されるサーバ(Chefクライアント)があり、Chefサーバのサーバの構成情報を元にChefクライアントのメンテナンスを行います。このようなクラサバ構成を取る事で、これまでサーバ毎に行って来たサーバ設定情報をChefサーバで一元管理し、サーバのインストールや変更を全てChefサーバから変更できるようになっています。今回使用するChef-Soloは、Chefサーバとクライアントの機能を1つにしたツールですので、Chef-Solo単体でサーバの構成を管理できるようになっています。作業の前提条件は、下記のとおりです。2.1.0-preview1Chef環境の構築サーバ構成管理に必要なChef環境を構築します。vagrant-omunibusのインストールvagrant-omnibusプラグインをインストールします。vagrant-omnibusは、起動するBoxにChefがインストールされているか確認し、Chefがインストールされていない場合、Chefをインストールします。Chefがインストールされている場合、Chefのバージョンアップを行います。(1.2.1)'!Chefのインストールサーバ構成管理に必要なChefを、ホストOS側にインストールします。installedバージョン確認インストールしたchef-soloおよび、knifeコマンドのバージョンを確認します。11.8.0基本設定レシピ作成サーバのホスト名、ファイアウォール無効化などの基本設定を行う、レシピを作成します。EOCendテンプレート作成レシピ内で使用するbashrcのテンプレートを作成します。now'リポジトリレシピ作成EPEL、remi、rpmforgeリポジトリをインストールする、リポジトリ設定レシピを作成します。/etc/yum.repos.d/epel.repo"endCookbookパラメタ設定レシピ内で使用するパラメタを設定します。:enable]endhttpd.confテンプレート作成インストールするhttpd.confのテンプレートを作成します。^'php-mcrypt'"endphp.iniテンプレートの作成php.iniのテンプレートを作成します。End:PHPサンプルページテンプレートの作成HTTPサーバに設置するPHPのサンプルページのテンプレートを作成します。charset=UTF-8"><title>phpinfo</title></head><body><?phpphpinfo();?></body></html>LAMPサーバの構築LAMPサーバ構築レシピが作成できましたので、Vagrantfileを編集してLAMPサーバを構築します。endendBox起動BoxにChefがインストールされた後、レシピが実行されてBoxが起動します。