卜部の技術ブログ

【php7.2 対応】 複数バージョンの php がそろった vagrant 環境を作ってみる ver1

ども、株式会社オズビジョン卜部です。

前回は 海外エンジニアと使う頻出英単語・英文 50選 のタイトルで @terra_yucco さんより、とてもおもしろい記事を書いていただいていました。意外と知っている英単語で会話できるんだと気付かされますね。

今回は
【php7.2 対応】 複数バージョンの php がそろった vagrant 環境を作ってみる ver1
というテーマでやっていきたいと思います。

というのは社内では複数のプロジェクトが動いており、そこで扱っている php が複数バージョンあるので、1環境で事足りるようにしたいなという思いと、 (vagrant いっぱい立てるのは重たいですしね)
2017年11月30日に php7.2.0 がめでたくリリースされたので、折角なので、最新版の環境も立てたいなと思ってのテーマです。

今回は ver1 ですので、 ver2 .. とやっていきます。。。
というのは、今回だけでは完結できなかったんですけどね。。

イメージとしてはざっくり以下のようなイメージです

こんな感じのことがしたい

立ててみる

ということで、実際に環境を構築したので、 Vagrant の設定と、chef の設定を github に公開しました。

※ ライセンスは MIT にしています。 pull request 歓迎です!

https://github.com/oh-my-oss/multi-php-ec2

Readme に書いているように前提条件が揃っている環境で試しましょう。

ということで早速 clone してセットアップしてみましょう。


    $ git clone https://github.com/oh-my-oss/multi-php-ec2.git
    $ cd multi-php-ec2
    $ vagrant up --provision

    $ git submodule init
    $ git submodule update

    $ vagrant ssh-config --host php-multi.local.com >> ~/.ssh/config
    $ cd chef-repo
    $ VG_HOST=php-multi.local.com
    $ chef exec knife zero bootstrap $VG_HOST --node-name $VG_HOST
    $ php add-fqdn.php nodes/php-multi.local.com.json
    $ chef exec knife node run_list add $VG_HOST 'role[php-web]'
    $ chef exec knife node environment set $VG_HOST vagrant
    $ chef exec knife zero converge "name:$VG_HOST"

セットアップしたところ php 5.6.32, 7.1.12, 7.2.0 がインストールできました。

ここから、 fpm の設定や、 apache の設定を行いたいところですが、それは次回 ver2 に更新に乞うご期待!

ということで次の更新は アドベントカレンダー 3日目!
@smirax さんより jenkins について投稿いただけるとのこと。

とにかく `jenkins 困った` というワードがチャットやら、バックログやらで出てきたときには @smirax さんから颯爽と現れ、
手厚いサポートを行い、何もなかったかのように問題が解決し、颯爽といつもの業務に戻っていくという姿を何度見かけたことか!

どんな記事がでてくるかとても楽しみですね。

モバイルバージョンを終了