さくらのレンタルサーバ:マネージドにeAcceleratorをインストールしてみた

phpを高速化するeAcceleratorを、さくらのレンタルサーバ・マネージドのcore-i5プランに入れてみたの記。

簡潔に手順だけ書いてあります。

手順その1 sshログイン

まずssh接続する(TeraTermとか)
サーバのパスワード等は登録完了のメールにある。

手順その2 ディレクトリの作成

home/ユーザー名/local の下に設置する場合

%mkdir -p local/src local/lib local/cache

手順その3 インストール

%wget http://sourceforge.net/projects/eaccelerator/files/eaccelerator/eAccelerator%200.9.6.1/eaccelerator-0.9.6.1.zip
%unzip eaccelerator-0.9.6.1.zip
%cd eaccelerator-0.9.6.1
%phpize
%./configure –prefix=/local \
–enable-eaccelerator=shared \
–with-php-config=/usr/local/bin/php-config
%cp -p modules/eaccelerator.so /home/ユーザー名/local/lib
%cp -p control.php /home/ユーザー名/www

手順その4 control.phpのユーザ、パスワードを変更

最後の%cp -p control.php~により、www直下にcontrol.phpがコピーされてるので、このファイルのユーザ、パスワードを変更する。
場所はここ。
http://ユーザー名.sakura.ne.jp/control.php

$user = “admin”;
$pw = “eAccelerator”;

この部分を書き換える。
FFFTP使って一回ダウンロードして、書き換えてアップすればおk。

手順その5 PHP設定

さくらの会員メニューにログイン
>契約情報
>サーバー設定
>サーバコントロールパネル
>PHP言語に関する設定
>PHP設定の編集

デフォルトは空欄(白紙)なので、以下のようにする

[eaccelerator]
zend_extension=”/home/ユーザー名/local/lib/eaccelerator.so”
eaccelerator.shm_size=”16″
eaccelerator.cache_dir=”/home/ユーザー名/local/cache”
eaccelerator.enable=”1″
eaccelerator.optimizer=”1″
eaccelerator.check_mtime=”1″
eaccelerator.debug=”0″
eaccelerator.filter=””
eaccelerator.shm_max=”0″
eaccelerator.shm_ttl=”0″
eaccelerator.shm_prune_period=”0″
eaccelerator.shm_only=”0″
eaccelerator.allowed_admin_path=”/home/ユーザー名/www/control.php”

他の導入事例によると

eaccelerator.shm_size=”32″

のように
ここを16から32にしている例もある。
お好みで。

ちなみに自分は

eaccelerator.shm_size=”128″
eaccelerator.shm_ttl=”3600″
eaccelerator.shm_prune_period=”3600″

こんな感じに設定してます。
メモリがいっぱいになったら古いのからどんどん削除されていく模様。

そしてもう1つ。

>PHPのバージョン選択
標準のPHP[PHP5]を選び、モジュール版にチェックする。

手順その6 control.php確認

http://ユーザー名.sakura.ne.jp/control.phpにアクセスし、control.phpに設定したユーザ名とパスワードを入力して認証。eAccelerator control panelで利用状況の確認ができる。

注意点1
さくらのレンタルサーバ(マネージド)の絶対パスは
/home/ユーザー名/
なので、例えばHPなんかのデータは
/home/ユーザー名/www/
ここで公開されている。

FFFTPで見えるのはユーザー名より下の部分だけなので、つないでも
/
とか
/www/
しか見えない。

注意点2
eAcceleratorの大元(http://eaccelerator.net/)が消えてるので、ここは使えない。
代わりに
http://sourceforge.net/projects/eaccelerator/
ここから落とす。

と言ってもssh接続からwgetコマンドでサーバに直接落とすので、手元のPCにダウンロードする必要は無い。

注意点3
php.ini(さくらのコンパネから設定)の記述の最後に

eaccelerator.allowed_admin_path=”/home/ユーザー名/www/control.php”

を付け加えること。(上記の例には入ってます。)
これを付け加えておかないと、eAcceleratorのコンパネのScript Cacheを開いたときに以下のようなエラーが出る。この一文を加えたらこのエラーが消え、Script Cacheもちゃんと表示された。

Warning: This script isn’t in the allowed_admin_path setting! in /home/ユーザー名/www/control.php on line 397

Warning: This script isn’t in the allowed_admin_path setting! in /home/ユーザー名/www/control.php on line 398

Warning: array_map() [function.array-map]: Argument #2 should be an array in /home/ユーザー名/www/control.php on line 405

Warning: array_merge() [function.array-merge]: Argument #1 is not an array in /home/ユーザー名/www/control.php on line 405

Warning: array_merge() [function.array-merge]: Argument #2 is not an array in /home/ユーザー名/www/control.php on line 405

Warning: array_filter() [function.array-filter]: The first argument should be an array in /home/ユーザー名/www/control.php on line 412

Warning: usort() [function.usort]: The argument should be an array in /home/itst/www/control.php on line 426

Warning: array_slice() expects parameter 1 to be array, null given in /home/ユーザー名/www/control.php on line 439

これでようやくインストール終了。

http://ユーザー名.sakura.ne.jp/control.php

にアクセスして、動作を見てみよう。

シェアする