目次
1.はじめに
こんにちは。シカタローです。最近、本ブログに機能を追加する必要がありました。de2p開発者ブログでは開発環境は全社共有となっているため、直接編集して開発すると開発環境を壊してしまう可能性がありました。そこで、ローカルマシーンに仮想環境を構築し、そこで開発を行うことにしました。仮想環境を構築するにあたり、今後同様の機会があった場合を想定しVagrantとAnsibleで自動化を行ったのでご紹介したいと思います。
今回作成したソースコードはGitHubに置いてあります。
2.VagrantとAnsibleについて
VagrantとAnsibleは環境構築を自動化するツールです。
これらのツールを使用することで仮想環境をコードとして表現出来るため以下のメリットがあります。
・仮想環境の状態をバージョン管理出来る
・環境を壊してしまった場合の作り直しが容易になる
今回作成した環境は以下の様になります。
3.環境構築してみる
百聞は一見に如かず。早速やってみましょう。
VirtualBoxとVagrantのインストールが必要です。なおAnsibleはCentOSへ自動インストールする様に設定してあるため不要です。
VirtualBoxのインストール
VirtualBoxの公式サイトにアクセスし、お使いのOSに対応したパッケージをダウンロードします。
ダウンロードしたパッケージを開き、手順に従ってインストールして下さい。
Vagrantのインストール
Vagrantの公式サイトにアクセスし、お使いのOSに対応したパッケージをダウンロードします。
ダウンロードしたパッケージを開き、手順に従ってインストールして下さい。
Vagrantコマンド実行
準備が出来たので実際に構築してみましょう。たったの3ステップで完了です。
$ git clone git@github.com:de2p-shikataro/wp-dev.git
$ cd wp-dev
$ vagrant up
結果確認
http://192.168.33.10/wp-admin/install.phpにブラウザからアクセスするとWordPressのインストール画面が出力されるはずです。
4.設定ファイルについて
Vagrantの設定は「Vagrantfile」に記述しています。
# -*- mode: ruby -*-
# vi: set ft=ruby :
# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.
Vagrant.configure(2) do |config|
# boxが存在しなければ新規にCenOS6.7のboxをダウンロード
config.vm.box = "CentOS67"
config.vm.box_url = "https://github.com/CommanderK5/packer-centos-template/releases/download/0.6.7/vagrant-centos-6.7.box"
# ゲストOSのIPアドレスの設定
config.vm.network "private_network", ip: "192.168.33.10"
# ホストとゲストのディレクトリ同期設定
config.vm.synced_folder "wordpress", "/srv/wordpress", create: "true", type: "rsync"
# ansibleの設定
config.vm.provision "ansible_local" do |ansible|
ansible.playbook = "ansible/site.yml"
end
end
Ansibleの設定は「ansible/site.yml」に記述しています。
---
- name: Install WordPress, MySQL, Nginx, and PHP-FPM
hosts: all
sudo: yes
roles:
- common
- mysql
- nginx
- php-fpm
- wordpress
5.おわりに
仮想環境を構築することで他の人に迷惑をかけずに開発が出来ると思います。
参考になれば嬉しいです。
de2p株式会社は最新の技術を積極的に採用して開発の効率化を図っています。テクノロジーを使用した世界のハックに興味のある方はこちらまでよろしくお願いします。
<スポンサーリンク>