トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   一覧 最終更新   ヘルプ   最終更新のRSS
 


動作確認ディストリビューション

mod_pagespeedをソースからインストール

Web担の「インストールするだけ! お手軽サイト高速化ツールGoogle mod_pagespeedはスゴかった」の記事に触発されて、インストール方法をまとめてみました。
バイナリでインストールする場合は、各パッケージがGoogleのデベロッパーサイトに準備されているので非常に簡単ですが、今回はApacheをソースからインストールしている環境だったため、mod_pagespeedもソースからインストールする必要がありました。
基本的には、「Build mod_pagespeed From Source」に従ってインストールを行います。
しかし、「Build mod_pagespeed From Source」のページはところどころ説明を端折っているような感じですので、次回インストール時に自分が迷わないようにまとめておきたいと思います。

まず、関連パッケージをインストールします。

gcc-c++がインストールされているか確認し、未インストールの場合はインストールを行います
gcc-c++のインストール確認

$ rpm -qa |grep '^gcc-c++-[0-9].*'
gcc-c++-4.1.2-54.el5

未インストールの場合は追加でインストール

$ sudo yum -y install gcc-c++

pythonがインストールされているか確認し、未インストールの場合はインストールを行います
pythonのインストール確認

$ rpm -qa |grep '^python-[0-9].*'
python-2.4.3-56.el5

未インストールの場合は追加でインストール
CentOS5.4系の場合、標準のリポジトリではPythonは2.4系がインストールされます。
mod_pagespeedはPython2.6系が必須パッケージとなっているため、以下の手順でインストールを行います。
まず、CentOSのアーキテクチャに合わせて、EPELのリポジトリのインストールを行います。

$ sudo rpm -ivh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm

次にPython2.6をインストールします。

$ sudo yum -y install python26 python26-libs python26-devel

もしくは、直接RPMでインストールする方法でもOKです。

$ sudo rpm -ivh http://dl.fedoraproject.org/pub/epel/5/x86_64/python26-2.6.8-2.el5.x86_64.rpm \
> http://dl.fedoraproject.org/pub/epel/5/x86_64/python26-libs-2.6.8-2.el5.x86_64.rpm \
> http://dl.fedoraproject.org/pub/epel/5/x86_64/python26-devel-2.6.8-2.el5.x86_64.rpm

Python2.6の関連パッケージとしてlibffiが必要だと警告された場合はPython2.6のインストールの前に以下の手順でインストールしておきます。

$ sudo yum install libffi

ホームディレクトリにbinディレクトリを作成し、Python2.6のバイナリにシンボリックリンクを貼った後に、パスを通しておきます。

$ mkdir -p ~/bin
$ cd ~/bin
$ ln -s /usr/bin/python26 python
$ export PATH=$PATH:~/bin

残りの関連パッケージのインストール確認を行い、未インストールの場合は、gcc-c++やpythonの場合と同様にyumコマンドでインストールします。
subversionのインストール確認

$ rpm -qa |grep '^subversion-[0-9].*'
subversion-1.6.11-11.el5_9

gperfのインストール確認

$ rpm -qa |grep '^gperf-[0-9].*'
gperf-3.0.1-7.2.2

makeのインストール確認

$ rpm -qa |grep '^make-[0-9].*'
make-3.81-3.el5

rpm-buildのインストール確認

$ rpm -qa |grep '^rpm-build-[0-9].*'
rpm-build-4.4.2.3-32.el5_9

gitのインストール確認

$ rpm -qa |grep '^git-[0-9].*'
git-1.7.11.3-1.el5.rf

関連パッケージのインストールが終わったら、「Chromium Depot Tools」、「mod_pagespeed」のインストールに移ります。
Python2.6のバイナリへシンボリックリンクを貼っておいたディレクトリに移動し、「Chromium Depot Tools」をインストールします。

$ cd ~/bin
$ svn co http://src.chromium.org/svn/trunk/tools/depot_tools
$ export PATH=$PATH:~/bin/depot_tools

mod_pagespeedのインストール作業用ディレクトリの作成

$ mkdir ~/mod_pagespeed

mod_pagespeedのインストール(「the latest stable version」か「the bleeding edge version」のどちらかを選択)

$ cd ~/mod_pagespeed

「the latest stable version」をインストールする場合
$ gclient config http://modpagespeed.googlecode.com/svn/branches/latest-beta/src
「the bleeding edge version」をインストールする場合
$ gclient config http://modpagespeed.googlecode.com/svn/trunk/src

$ gclient sync --force --jobs=1

実行テスト

$ cd ~/mod_pagespeed/src
$ make AR.host=`pwd`/build/wrappers/ar.sh AR.target=`pwd`/build/wrappers/ar.sh BUILDTYPE=Release mod_pagespeed_test pagespeed_automatic_test
$ ./out/Release/mod_pagespeed_test
$ ./out/Release/pagespeed_automatic_test

コンパイル

$ cd ~/mod_pagespeed/src
$ make AR.host=`pwd`/build/wrappers/ar.sh AR.target=`pwd`/build/wrappers/ar.sh BUILDTYPE=Release

インストール
デベロッパーサイトでは「./install_apxs.sh」との記載がありますが、ファイルのパーミッションが755ではなく644だったので「sh install_apxs.sh」としています。
マニュアルの通りに「./install_apxs.sh」で実行したい場合は事前にchmodしておく必要があるでしょう。
もしかしたら事前のコンパイル処理で755に設定されるはずができていない可能性もあるかもです。
一点気になった点は「install_apxs.sh」を実行する際、sudoした記憶がないこと。
root権限ではないのに、Apacheの設定ファイルを変更したり、soファイルが作成できている気がして、なんか気持ち悪いです。(思い過ごしかもしれませんが)

$ cd install/
$ APXS_BIN=/usr/local/apache2/bin/apxs sh install_apxs.sh

インストールが完了すると、mod_pagespeedの関連ファイルがApacheのディレクトリ配下に作成され、設定ファイルも自動で書き変わります。

$ ls -l /usr/local/apache2/modules/mod_pagespeed*
-rw-r--r-- 1 root root 5896360 Apr 20 00:34 /usr/local/apache2/modules/mod_pagespeed.so
-rw-r--r-- 1 root root 5896360 Apr 20 00:34 /usr/local/apache2/modules/mod_pagespeed_ap24.so

$ cat /usr/local/apache2/conf/httpd.conf |grep ^Include |grep pagespeed
Include /usr/local/apache2/conf/pagespeed.conf
Include /usr/local/apache2/conf/pagespeed_libraries.conf

Last-modified: 2013-04-29 (月) 23:49:21 (1975d)