Vagrantのcentos6.5.3に、php5.6、apache2.2、mysql5.6、phpmyadmin、vim、gitをchefで自動的に入れます。
macにvagrantはインストール済みであるものとします。 chefのknife-soloと、Berkshelfもインストール済みの状態とします。
作成した、Vagrantfile、chef-repoは、下記のgithubにpushしました。 https://github.com/endoyuta/vagrant_contos65_cakephp3/tree/php5.6
php5.6ブランチが、php5.6やphpmyadminがインストールできて、cakephp3をインストールした際に出たエラーなども若干対応したものになります。
まず、~/vagrant/test内に、新たにvagrantを立ち上げます。
これで~/vagrant/test内に、Vagrantfileが作成されます。
BOXは、下記のCentOSの6.5.3を使います。 https://github.com/2creatives/vagrant-centos/releases/download/v6.5.3/centos65-x86_64-20140116.box
Vagrantfileを編集します。
# -*- mode: ruby -*- # vi: set ft=ruby : VAGRANTFILE_API_VERSION = "2" Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.box = "centos6.5.3" config.vm.box_url = "https://github.com/2creatives/vagrant-centos/releases/download/v6.5.3/centos65-x86_64-20140116.box" config.vm.network "private_network", ip: "192.168.33.10" config.vm.synced_folder "./", "/vagrant", mount_options: ['dmode=777', 'fmode=666'] end
vagrantを立ち上げます。
次にchefのセットをしていきます。 とりあえず、sshのconfigを設定しておきます。
Host 192.168.33.* IdentityFile ~/.vagrant.d/insecure_private_key User vagrant
chefのリポジトリをつくります。
chef-soloをvagrantにインストールします。
次に、Berkshelfを使って、cookbookを作ります。
<br?
site :opscode
cookbook 'mysql', '~> 5.3.6'
cookbook 'vim'
cookbook 'git'
cookbook 'openssl'
cookbookを作成します。
phpと、httpd、phpmyadminについては、berkshelfだと中々上手くいきませんでした。phpは、5.3までならすんなり入りますし、httpdも勝手にインストールされます。httpdとphpmyadminはエラーが続いたのでberkshelfはやめました。代わりに、vargrant+chefでつくるPHP5.5+MySQL5.6+CakePHP3環境を参考に、baseとphp55とphp56というcookbookをつくりました。baseとphp55は参考サイトをほぼそのまま使わせてもらってます。
次に、jsonファイルを編集します。
{ "run_list": [ "recipe[base]", "recipe[php56]", "recipe[mysql::server]", "recipe[mysql::client]", "recipe[vim]", "recipe[git]", "recipe[openssl]" ], "automatic": { "ipaddress": "192.168.33.10" }, "mysql": { "version":"5.6", "port":"3306", "server_root_password":"vagrant", "remove_anonymous_users":true }, "httpd": { "port": "80", "docroot": "/var/www/app/webroot" }, "php": { "timezone": "Asia/Tokyo" } }
chefを実行します。
■参考 vargrant+chefでつくるPHP5.5+MySQL5.6+CakePHP3環境 Chef-Solo + Berkshelf で Rails 4 の開発環境を構築 chef-solo(knife)でMySQLサーバ5.6をインストールする 2014年度版 cakePHP3にチャレンジ! https://supermarket.chef.io/ CentOSにPHP5.6をインストール