ポンコツ.log

ひよっこエンジニアのちょっとしたメモ。主に備忘録。たまに雑記。

【Itamae】remiリポジトリのPHPをインストールする

1ヶ月ほど前にItamae入門しました。

Itameを使ってvagrant(centOS6.5)上にphpをいれようとすると、バージョン5.3.3がインストールされるのですが、諸事情により5.3.6以上のバージョンを使いたかったので、remiリポジトリからインストールすることに。
そのときのItamaeレシピメモ。

ちなみに、諸事情というのは、PDO×MySQLPHPのプロジェクトで、インスタンス指定時にcharsetが使われていたため。
5.3.6以上であればcharset指定が有効なので、文字化けが回避できる。
5.3.6以前のバージョンでは、charsetではなくSET NAMESで指定することで回避できるらしいです。
参考:MySQLとPDOの組み合わせでcharsetを指定する - Qiita

remiリポジトリの追加

epelリポジトリのインストール+rpmコマンドでremiリポジトリを追加する。

# cookbooks/yum/default.rb

package 'epel-release' do
  action :install
end

package "http://rpms.famillecollet.com/enterprise/remi-release-#{node[:platform_version][0]}.rpm" do
  not_if 'rpm -q remi-release'
end

phpをインストール

追加したremiリポジトリからphpをインストール
ついでに必要なパッケージ群もインストール

# cookbooks/php/default.rb

%w( php php-mbstring php-xml php-gd php-pear php-mysql ).each do |pkg|
    package pkg do
      options '--enablerepo=remi'
      action :install
    end
end

確認

あとはinclude_recpephpインストールするdefault.rbを指定して、itamaeコマンドを実行すると、remiリポジトリからのphpインストールが完了する。
itamaeが無事終了後、phpバージョンを確認

[vagrant@vagrant-centos65 ~]$ php -v
PHP 5.4.45 (cli) (built: May 29 2016 09:17:38)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies

5.3.6以上のバージョン。勝てる。
ついでにinfoも。

[vagrant@vagrant-centos65 ~]$ yum info php
Installed Packages
Name        : php
Arch        : x86_64
Version     : 5.4.45
Release     : 9.el6.remi
Size        : 9.4 M
Repo        : installed
From repo   : remi

remiリポジトリからインストールされていることを確認。