AnsibleでLAMP環境をお手軽構築こんにちは。エンジニアの渡邉です。ウェブ制作やシステム開発を、みなさんはどのような環境で進めていますか?ウェブサイトやウェブサービスを提供するには、サーバーを立てるケースがほとんどです。多くの場合は、社内やクライアントなどの様々な人たちが、共通の同じサーバーを利用することになります。なると、OSやApache・nginx、PHP、MySQLなどのバージョン管理はもちろん、あたらしいパッケージをインストールするにも各所に調整が必要になってくること必至!ましてや、エラーで見れなくなってしまったり、環境自体が壊れてしまったら、目も当てられません。そこで今回は、普段使用しているPCに仮想環境を構築して、なにをしてもいい自分だけの開発環境を作ってみよう!というお話です。やって?今回は、Virtualbox、Vagrant、Ansibleというソフト・ツールを使って構築していきます。正直なところ、すでにかなりメジャーな構成で、調べれば様々な情報が出てきますが、個人的にも好きな構成なので有無を言わさずこちらを採用します!ちなみに、巷ではdockerを使う企業・エンジニアも多いですが、そのdockerの入れ物として上記構成の仮想環境を作るケースも多いです。dockerを使えるようになりたい方も、前段としてまずは上記構成を扱えるようになっておくと良いでしょう。dockerについては、また後日触れられれば。仮想環境の構成Macを使用している前提で、話を進めます。呼ばれる以下の構成です。今回実現させる要件としては、以下の通りドキュメントルート配下のファイルを、ホスト(PC)とゲスト(仮想環境)で共有するホストのブラウザで、ゲストに設置したHTMLファイルがウェブページとして見られるところを目指す必要なソフトまずは、今回使うソフトウェア、ツールについて簡単に説明します。Virtualboxパソコンに仮想環境を作成するソフトのひとつです。VagrantVirtualboxをはじめとした仮想環境ソフトを、より簡単に管理できるツールです。インストールしたいOSに必要な設定を定義しておくことで、いくつかのコマンドでインストールや初期設定を完了することができたり、その設定やOS自体を配布・共有できたりと、とても便利です。Ansible「構成管理ツール」と呼ばれるもののひとつです。Vagrantでは設定しきれないような細かい様々な設定や構成も、管理することができます。必要なソフトをインストールまずは、上記で挙げた、構築に必要なソフトをインストールしていきます。Virtualbox公式サイトから最新版をダウンロードして、インストールします。VirtualBoxhttps://www.virtualbox.org/Vagrant公式サイトから最新版をダウンロードして、インストールします。HashiCorphttps://www.vagrantup.com/インストールが完了したら、ターミナルでコマンドを実行して、インストールがされているかを確認しましょう。2.1.2Ansibleこちらはターミナルでコマンドを実行してインストールします。必要なソフトのインストールができたら、Vagrantを設定していきます。任意のディレクトリに移動して、そこに仮想環境を構築して行きます。下記のコマンドを実行すると、Vagrantfileが作成されます。これが、Vagrantの設定ファイルになります。initVagrantfileに、仮想環境の設定を記述Vagrantfileには、作成する仮想環境のOSや、割り当てるメモリ、ホストとのディレクトリ共有設定などを設定していきます。今回変更した箇所は、以下の通り。OSにCentOS7を指定Vagrantでは、boxという単位で環境を管理します。今回は、CentOS7を構築しますので、以下のように変更します。"192.168.33.10"ホストとゲストのディレクトリを共有するソースコードをホストとゲストで共有するために、ディレクトリの共有する記述をします。/var/www/htmlディレクトリを同期させています。パーミッションは雑に777としていますが、適宜変更してください。仮想環境に割り当てるメモリを変更します。大きくしてもPCが重たくなるだけですし、今回は大幅に減らして256MBにしてみましょう。"256"endAnsible設定のための記述を追加Ansibleを使うための記述を追加します。次に、Ansibleの設定ファイルを作成し、記述していきます。作成まずは、設定を適用する対象のサーバーの指定を記述するファイルを作成します。いうファイルを新規に作成して、以下の記述を行います。次に、サーバーの設定をしていく設定ファイルを作成します。今回記述した内容は、以下の通りです。各項目で何をしているかはコメントで記載してあります。ボリュームがありますが、確認しながら進めていくと、より理解が進むでしょう。以上で、下準備はおしまいです。ゲストOSを起動して、動作確認してみます。ゲストOSを起動Vagrantを起動します。起動すると、ここまで設定してきた内容を勝手に読み込んで、サーバーの構築を進めてくれます。up問題なく進んでいけば、最後に以下のようなメッセージがでて、入力画面にもどるはず。ゲストOSに同期され、実際にブラウザで確認します。?>ブラウザでアクセス以下のURLにアクセスします。http://192.168.33.10/info.phpいかがでしょう。メモリを常に使用しますので、ゲストOSを利用しないときはサーバーを停止しておくこともできます。haltまた、構築した環境が不要になった場合は、以下のコマンドでゲストOSを破棄できます。destroyまとめ少し(かなり?)テクニカルな内容になってしまいましたが、手順に沿って進めていただければ、とても簡単に、LAMP(Linux、Apache、MySQL、PHP)環境を構築することができます。PCにXAMPPなどのアプリケーションをインストールすることで似たようなことを実現することが可能ですが、今回の手順は、より実際のサーバーに近いものを構築できます。Hostを設定してみたり、cronを使ってみたりといったことも、実運用に近い形で試すことができるでしょう。今回は、LAMP環境の構築を行いましたが、VagrantfileやAnsibleのファイルの記述を変更することで、様々な組み合わせの仮想環境をPC内に構築することができるようになります。不要になれば破棄できる気軽さも、仮想環境の魅力のひとつ。この記事を参考に、ぜひ快適な仮想環境ライフを送っていただければ幸いです!サービスの成長を目指し、様々なお手伝いをしています。シナップは、クライアントのビジネス立ち上げ、サービスの継続的発展をサポートすることを得意としている会社です。UI改善はもちろん、オウンドメディア戦略、DMP導入支援などマーケティング戦略に基づく様々な改善活動に関するご相談がございましたら、ぜひお気軽にお問い合わせください。公式アカウントブログの更新情報やシナップからのお知らせを配信しています。SINAPシナップの活動報告や、IT業界のトレンド情報などを発信しています。ご相談・お問い合わせお仕事のご依頼やご相談など、お気軽にお問い合わせください。