ども、株式会社オズビジョンの卜部です。
前回は 海外エンジニアと使う頻出英単語・英文 50選 のタイトルで @terra_yucco さんより、とてもおもしろい記事を書いていただいていました。意外と知っている英単語で会話できるんだと気付かされますね。
今回は
【php7.2 対応】 複数バージョンの php がそろった vagrant 環境を作ってみる ver1
というテーマでやっていきたいと思います。
というのは社内では複数のプロジェクトが動いており、そこで扱っている php が複数バージョンあるので、1環境で事足りるようにしたいなという思いと、 (vagrant いっぱい立てるのは重たいですしね)
2017年11月30日に php7.2.0 がめでたくリリースされたので、折角なので、最新版の環境も立てたいなと思ってのテーマです。
今回は ver1 ですので、 ver2 .. とやっていきます。。。
というのは、今回だけでは完結できなかったんですけどね。。
イメージとしてはざっくり以下のようなイメージです
こんな感じのことがしたい
- 1 つの Vagrant だけで開発できるようにしたい
- 複数の php のバージョンが扱えるようにしたい
- Amazon Linux のイメージを使いたい
- Apache の VirtualDocumentRoot を使ってディレクトリを分けて環境が使えるようにしたい
立ててみる
ということで、実際に環境を構築したので、 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 さんから颯爽と現れ、
手厚いサポートを行い、何もなかったかのように問題が解決し、颯爽といつもの業務に戻っていくという姿を何度見かけたことか!
どんな記事がでてくるかとても楽しみですね。
3件のコメント