puppetでLAMP構成を構築する part2
今回から、LAMP構成の一要素であるphpのpuppetize(puppetで構成管理すること)を取り上げたいと思います。
今日の記事では、puppetize前の注意事項を取り上げます。
環境
phpインストールをpuppetizeする前に
シンプルにpuppetizeする場合、pacakge
リソースを使用すれば良いのは容易に想像がつくと思います。
っが、phpのバージョンによっては少しだけ工夫が必要になります。
例えば、CentOS6系にphp5.6をインストールしたいとします。
しかし、yum provides
を実行するとphp 5.3系しかリポジトリから取得できない状態となっています。
$ cat /etc/redhat-release CentOS release 6.8 (Final) $ $ yum provides php 読み込んだプラグイン:fastestmirror, security Loading mirror speeds from cached hostfile * base: ftp.iij.ad.jp * epel: ftp.riken.jp * extras: ftp.iij.ad.jp * remi-safe: repo1.sea.innoscale.net * updates: ftp.iij.ad.jp extras | 3.4 kB 00:00 puppetlabs-deps | 2.5 kB 00:00 puppetlabs-products | 2.5 kB 00:00 remi-safe | 2.9 kB 00:00 remi-safe/primary_db | 705 kB 00:00 updates | 3.4 kB 00:00 updates/primary_db | 3.7 MB 00:00 php-5.3.3-47.el6.x86_64 : PHP scripting language for creating dynamic web sites リポジトリー : base 一致 : php-5.3.3-48.el6_8.x86_64 : PHP scripting language for creating dynamic web sites リポジトリー : updates 一致 :
ですので、例えば以下のようにpuppetizeすると、php5.3系がインストールされてしまいます。
仮にensure => latest
としても一緒です。
package { 'php': ensure => present, }
CentOS6系にphp5.6を入れるには、事前にremiをyumリポジトリに追加しておく必要があります。
remiとはリポジトリの一種で、これを追加しておくことで、CentOS標準のリポジトリだけでは提供されていないパッケージもインストールできるようになります。
似たものとしてepelやrpmforgeなどがあります。
php5.6はremiで提供されているので、/etc/yum.repo.d/
にremiを追加しておくことでyumでインストールできるようになります。
puppetizeする際も、このことを考慮する必要があります。
次回の記事で、このことを踏まえてpuppetizeを始めたいと思います。