CentOS5.8でmemcachedのインストールしたときのログ

memcacheとwordpressのプラグインを組み合わせてサイトを最適化する際の備忘録。

CentOSの標準リポジトリにはmemcachedが含まれてないので、別のリポジトリから取ってくる必要がある。
ざっと確認したところ、remiリポジトリとrpmforgeリポジトリのどちらかを追加すればyumでインストールできそう。(ソースからも入れる事は可能だけど、今回はyumでインストールする事を前提とする)
ただ、remiリポジトリだと依存関係のPHPとかが最新のバージョン(今だとPHP5.4系)になってしまうので、今回はrpmforgeリポジトリからインストールする事にした。

0. 下準備

必要となるリポジトリを、

http://wiki.centos.org/AdditionalResources/Repositories/RPMForge

を参考にダウンロード・インストール

$ rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
$ wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
$ rpm -K rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
$ rpm -i rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
# rpmforgeがインストールされていることを確認
$ rpm -aq | grep rpm

これでyum経由でインストールする準備は完了。

1. memcachedをインストール

memcachedはrpmforge-extrasリポジトリに含まれているので、このリポジトリを指定してyumを実行する。

# memcachedをインストール
$ yum install --enablerepo=rpmforge-extras memcached

エラー出た。
Error: Missing Dependency: perl(Net::SSLeay) >= 1.33 is needed by package perl-AnyEvent-5.340-1.el5.rfx.x86_64 (rpmforge-extras)

エラーメッセージを確認すると、perl(Net::SSLeay)のバージョンが古いらしいという記述が、、
取りあえずすでにインストールされているか確認してみる。

$ yum list installed | grep  perl-Net-SSLeay

インストールされてない模様。
インストールする際に、yum installコマンドでインストールできるバージョンが、エラーメッセージで出力されているバージョンよりも新しい(1.33以降)かどうかを確認する。

$ yum list | grep perl-Net-SSLeay

centosのbaseパッケージだと1.30とかなので、指示通りrpmforge-extrasから持ってくる必要があるっぽい。
その辺りを記述して再度確認。そしてインストール。

$ yum list --disablerepo=base --enablerepo=rpmforge-extras | grep perl-Net-SSLeay
$ yum install --disablerepo=base --enablerepo=rpmforge-extras perl-NetSSLeay

もういっかいmemcachedをインストールしてみる

$ yum install --enablerepo=rpmforge-extras memcached

インストールできた!
(その際に依存パッケージの以下も一緒にインストールされる)

  • perl-AnyEvent
  • perl-Async-Interrupt
  • perl-EV
  • perl-Guard
  • perl-JSON
  • perl-JSON-XS
  • perl-TermReadKey
  • perl-YAML
  • perl-common-sense

一応インストールの確認

$ memcached -i | head -1

インストールが成功しているらしい。

2. memcached動作させてみる

$ /etc/init.d/memcached start 

動作しているか確認

$ ps aux | grep memcached

自動起動に含める

$ chkconfig memcached on

ここまでで設定は完了。