カテゴリー
Linux

【PHP】APC 付属のステータス把握できる管理ツールを使う方法♪【CentOS 5.9】

スクリーンショット 2013-03-20 19.50.16.png

ポイント

  • 管理ツールは、/usr/share/doc/php-pecl-apc-3.1.14/apc.php にある。
  • 上記場所になくても、find / -name “apc.php” で探せば良い。
  • apc.php をドキュメントルート配下に置いてウェブブラウザからアクセスすれば APC の使用状況をみることができる。
  • apc.php を編集して、ADMIN_USERNAME、ADMIN_PASSWORD を初期値から変更すれば管理ツールの「User Cache Entries」が使用できるようになる。
  • APC の把握ツールでは、バージョン情報、キャッシュ状況、APC 設定情報を知ることができる。

おまけのポイント

  • APC の把握ツールではグラフを表示するので PHP の GD を予め導入しておくとよい。
  • PHP の GD をインストールする際、PHP を Remi リポジトリでインストールした場合だと Remi だけでは GD インストールが失敗した。依存関係を解決するために、RPMforge リポジトリも必要だった。

実際に開発環境にて実践してみました記録♪

APC 管理ツールの PHP ファイルを探します。

[root@localhost ~]# find / -name "apc.php"
/usr/share/doc/php-pecl-apc-3.1.14/apc.php
[root@localhost ~]#

ウェブブラウザからアクセスするために、ドキュメントルートの下にコピーし、パーミッションの設定を行いました。

[root@localhost ~]# cp -ap /usr/share/doc/php-pecl-apc-3.1.14/apc.php /var/www/html/apc.php
[root@localhost ~]# chown apache:apache /var/www/html/apc.php  [root@localhost ~]#

さて、わたくしはドキュメントルートに apc.php を配置しましたので、http://192.168.56.111/apc.php にウェブブラウザからアクセスいたしまして、無事 APC の把握ツール画面が表示されました。

スクリーンショット 2013-03-20 19.50.39.png

あれ?グラフが表示されません。開発環境には PHP のモジュールである、GD がインストールされていないようです。早速入れました。

[root@localhost ~]# yum --enablerepo=remi install php-gd
Loaded plugins: fastestmirror
Determining fastest mirrors
 * base: ftp.tsukuba.wide.ad.jp
 * extras: ftp.tsukuba.wide.ad.jp
 * remi: rpms.famillecollet.com
 * updates: ftp.jaist.ac.jp
base                                                                    | 1.1 kB     00:00     
base/primary                                                            | 983 kB     00:00     
base                                                                                 2770/2770
extras                                                                  | 2.1 kB     00:00     
extras/primary_db                                                       | 164 kB     00:00     
updates                                                                 | 1.9 kB     00:00     
updates/primary_db                                                      | 206 kB     00:00     
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package php-gd.i386 0:5.4.13-1.el5.remi set to be updated
--> Processing Dependency: libt1.so.5 for package: php-gd
--> Processing Dependency: libXpm.so.4 for package: php-gd
--> Running transaction check
---> Package libXpm.i386 0:3.5.5-3 set to be updated
---> Package php-gd.i386 0:5.4.13-1.el5.remi set to be updated
--> Processing Dependency: libt1.so.5 for package: php-gd
--> Finished Dependency Resolution
php-gd-5.4.13-1.el5.remi.i386 from remi has depsolving problems
  --> Missing Dependency: libt1.so.5 is needed by package php-gd-5.4.13-1.el5.remi.i386 (remi)
Error: Missing Dependency: libt1.so.5 is needed by package php-gd-5.4.13-1.el5.remi.i386 (remi)
 You could try using --skip-broken to work around the problem
 You could try running: package-cleanup --problems
                        package-cleanup --dupes
                        rpm -Va --nofiles --nodigest
The program package-cleanup is found in the yum-utils package.
[root@localhost ~]#

あれ・・・入りません><。PHP は Remi リポジトリでインストールしたと思うので Remi のみ有効になるように指定したのですけれども。。。

あれやこれやと十数分格闘して、ようやくインストールすることができました!原因は簡単で、GD と依存するパッケージをインストールするのに、RPMforge リポジトリも必要とのことでした!

[root@localhost ~]# yum --enablerepo=epel,remi,rpmforge install php-gd
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.tsukuba.wide.ad.jp
 * epel: ftp.jaist.ac.jp
 * extras: ftp.tsukuba.wide.ad.jp
 * remi: rpms.famillecollet.com
 * rpmforge: mirror.fairway.ne.jp
 * updates: ftp.jaist.ac.jp
epel                                                                    | 3.6 kB     00:00     
rpmforge                                                                | 1.9 kB     00:00     
Not using downloaded repomd.xml because it is older than what we have:
  Current   : Fri Dec 21 11:45:21 2012
  Downloaded: Wed Jul 25 10:45:07 2012
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package php-gd.i386 0:5.4.13-1.el5.remi set to be updated
--> Processing Dependency: libt1.so.5 for package: php-gd
--> Processing Dependency: libXpm.so.4 for package: php-gd
--> Running transaction check
---> Package libXpm.i386 0:3.5.5-3 set to be updated
---> Package t1lib.i386 0:5.1.2-1.el5.rf set to be updated
--> Processing Dependency: libICE.so.6 for package: t1lib
--> Processing Dependency: libXaw.so.7 for package: t1lib
--> Processing Dependency: libXt.so.6 for package: t1lib
--> Processing Dependency: libSM.so.6 for package: t1lib
--> Processing Dependency: libXmu.so.6 for package: t1lib
--> Running transaction check
---> Package libICE.i386 0:1.0.1-2.1 set to be updated
---> Package libSM.i386 0:1.0.1-3.1 set to be updated
---> Package libXaw.i386 0:1.0.2-8.1 set to be updated
---> Package libXmu.i386 0:1.0.2-5 set to be updated
---> Package libXt.i386 0:1.0.2-3.2.el5 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

===============================================================================================
 Package            Arch             Version                        Repository            Size
===============================================================================================
Installing:
 php-gd             i386             5.4.13-1.el5.remi              remi                 215 k
Installing for dependencies:
 libICE             i386             1.0.1-2.1                      base                  54 k
 libSM              i386             1.0.1-3.1                      base                  27 k
 libXaw             i386             1.0.2-8.1                      base                 324 k
 libXmu             i386             1.0.2-5                        base                  62 k
 libXpm             i386             3.5.5-3                        base                  45 k
 libXt              i386             1.0.2-3.2.el5                  base                 173 k
 t1lib              i386             5.1.2-1.el5.rf                 rpmforge             362 k

Transaction Summary
===============================================================================================
Install       8 Package(s)
Upgrade       0 Package(s)

Total download size: 1.2 M
Is this ok [y/N]: y
Downloading Packages:
(1/8): libSM-1.0.1-3.1.i386.rpm                                         |  27 kB     00:00     
(2/8): libXpm-3.5.5-3.i386.rpm                                          |  45 kB     00:00     
(3/8): libICE-1.0.1-2.1.i386.rpm                                        |  54 kB     00:00     
(4/8): libXmu-1.0.2-5.i386.rpm                                          |  62 kB     00:00     
(5/8): libXt-1.0.2-3.2.el5.i386.rpm                                     | 173 kB     00:00     
(6/8): php-gd-5.4.13-1.el5.remi.i386.rpm                                | 215 kB     00:03     
(7/8): libXaw-1.0.2-8.1.i386.rpm                                        | 324 kB     00:00     
(8/8): t1lib-5.1.2-1.el5.rf.i386.rpm                                    | 362 kB     00:01     
-----------------------------------------------------------------------------------------------
Total                                                          161 kB/s | 1.2 MB     00:07     
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : libXpm                                                                  1/8 
  Installing     : libICE                                                                  2/8 
  Installing     : libSM                                                                   3/8 
  Installing     : libXt                                                                   4/8 
  Installing     : libXmu                                                                  5/8 
  Installing     : libXaw                                                                  6/8 
  Installing     : t1lib                                                                   7/8 
  Installing     : php-gd                                                                  8/8 

Installed:
  php-gd.i386 0:5.4.13-1.el5.remi                                                              

Dependency Installed:
  libICE.i386 0:1.0.1-2.1          libSM.i386 0:1.0.1-3.1      libXaw.i386 0:1.0.2-8.1        
  libXmu.i386 0:1.0.2-5            libXpm.i386 0:3.5.5-3       libXt.i386 0:1.0.2-3.2.el5     
  t1lib.i386 0:5.1.2-1.el5.rf     

Complete!
[root@localhost ~]#

OK ですね!これでもう一度 APC 管理ツールページにアクセスしまして、無事「Host Status Diagrams」「Detailed Memory Usage and Fragmentation」の部分にグラフが表示され・・・ません><!あ、Apache の再起動。。。

[root@localhost ~]# /etc/init.d/httpd restart
httpd を停止中:                                            [  OK  ]
httpd を起動中:                                            [  OK  ]
[root@localhost ~]#

グラフが表示されました♪

APC 管理ツールページの「User Cache Entries」にアクセスしようとしますと認証を求められました。apc.php を編集しましてユーザー名とパスワードを設定いたしました。

[root@localhost ~]# vim /var/www/html/apc.php

最初は次のようになっておりまして、開発環境ですのでセキュリティ強度は一切無視して次のように修正いたしました。

defaults('ADMIN_USERNAME','apc');                       // Admin Username
defaults('ADMIN_PASSWORD','password');          // Admin Password - CHANGE THIS TO ENABLE!!!

defaults('ADMIN_USERNAME','admin');                       // Admin Username
defaults('ADMIN_PASSWORD','admin');          // Admin Password - CHANGE THIS TO ENABLE!!!

これで APC 管理ツールページの「User Cache Entries」にアクセスすることができました!!!ですけれども、なにも表示されておらず認証をしてまでなにをするのか、ちょっとわかりませんでした><。

おわりに

認証が必要なページは本番環境である程度時間がたってからまた試してみたいと思います。

また、本投稿の内容を進めるにあたり、次のページが参考になりました。ありがとうございます!

以上です。

コメントを残す