<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>StarPlatinum.jp &#187; Apache</title>
	<atom:link href="http://www.starplatinum.jp/categories/serverenv/apache/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.starplatinum.jp</link>
	<description>Successor of www.bflets.dyndns.org</description>
	<lastBuildDate>Fri, 02 Jul 2010 15:59:41 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>APC (Alternative PHP Cache) の導入</title>
		<link>http://www.starplatinum.jp/serverenv/apache/apc/</link>
		<comments>http://www.starplatinum.jp/serverenv/apache/apc/#comments</comments>
		<pubDate>Tue, 03 Nov 2009 16:41:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Apache]]></category>

		<guid isPermaLink="false">http://www.starplatinum.jp/?p=190</guid>
		<description><![CDATA[Wordpressはとっても気に入っているのですが、いかんせん動作が重たい&#8230;
PHPの塊で動いているので仕方がないという部分があるのはわかるのですが、できることはやってみようということで、高速化のための手段を [...]


Related posts:<ol><li><a href='http://www.starplatinum.jp/serverenv/vps/yuminst/' rel='bookmark' title='Permanent Link: VPS環境へのyumの導入'>VPS環境へのyumの導入</a></li>
<li><a href='http://www.starplatinum.jp/serverenv/vps/wordpressinst/' rel='bookmark' title='Permanent Link: WebkeepersのVPSにWordpressを導入'>WebkeepersのVPSにWordpressを導入</a></li>
<li><a href='http://www.starplatinum.jp/serverenv/apache/excludelocalaccess/' rel='bookmark' title='Permanent Link: ローカルアクセスをログから除外する'>ローカルアクセスをログから除外する</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Wordpressはとっても気に入っているのですが、いかんせん動作が重たい&#8230;<br />
PHPの塊で動いているので仕方がないという部分があるのはわかるのですが、できることはやってみようということで、高速化のための手段をちょっと調べてみました。</p>
<p>プラグインを含めて色々な手段があることはすぐにわかりましたが、その中で気になったのが以下のページで紹介されているAPC(Alternative PHP Cache)でした。</p>
<p><a href="http://www.syuhari.jp/blog/archives/382">WordPress を高速化する5つの方法 | Sun Limited Mt.:</a></p>
<p>簡単に言えば毎回毎回生成されるPHPの中間コードをキャッシュすることにより高速化を目指すというもので、PHPで書かれたコードであればWordpressに限らずあらゆる場面で効果があります。</p>
<p><span id="more-190"></span>PHPの拡張として動作するため、レンタルサーバなどでは取りにくい対策ではありますが、逆に言えば自宅サーバならではの対策とも言えるため、まずはこちらをやってみることにします。導入については、上に紹介したページからリンクされている<a href="http://www.doyouphp.jp/tips/tips_apc.shtml">このページ</a>を参考にしました。</p>
<p>ちなみに、環境は以下の通りです。</p>
<blockquote><p># uname -a<br />
Linux www.starplatinum.jp 2.6.18-164.el5 #1 SMP Thu Sep 3 03:33:56 EDT 2009 i686</p>
<p># /usr/sbin/httpd -V<br />
Server version: Apache/2.2.3<br />
Server built:   Sep  3 2009 17:38:51<br />
Server&#8217;s Module Magic Number: 20051115:3<br />
Server loaded:  APR 1.2.7, APR-Util 1.2.7<br />
Compiled using: APR 1.2.7, APR-Util 1.2.7<br />
Architecture:   32-bit<br />
Server MPM:     Prefork<br />
threaded:     no<br />
forked:     yes (variable process count)<br />
Server compiled with&#8230;.<br />
-D APACHE_MPM_DIR=&#8221;server/mpm/prefork&#8221;<br />
-D APR_HAS_SENDFILE<br />
-D APR_HAS_MMAP<br />
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)<br />
-D APR_USE_SYSVSEM_SERIALIZE<br />
-D APR_USE_PTHREAD_SERIALIZE<br />
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT<br />
-D APR_HAS_OTHER_CHILD<br />
-D AP_HAVE_RELIABLE_PIPED_LOGS<br />
-D DYNAMIC_MODULE_LIMIT=128<br />
-D HTTPD_ROOT=&#8221;/etc/httpd&#8221;<br />
-D SUEXEC_BIN=&#8221;/usr/sbin/suexec&#8221;<br />
-D DEFAULT_PIDLOG=&#8221;logs/httpd.pid&#8221;<br />
-D DEFAULT_SCOREBOARD=&#8221;logs/apache_runtime_status&#8221;<br />
-D DEFAULT_LOCKFILE=&#8221;logs/accept.lock&#8221;<br />
-D DEFAULT_ERRORLOG=&#8221;logs/error_log&#8221;<br />
-D AP_TYPES_CONFIG_FILE=&#8221;conf/mime.types&#8221;<br />
-D SERVER_CONFIG_FILE=&#8221;conf/httpd.conf&#8221;</p>
<p># /usr/bin/php -v<br />
PHP 5.1.6 (cli) (built: Apr  7 2009 08:00:04)<br />
Copyright (c) 1997-2006 The PHP Group<br />
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies</p></blockquote>
<p>まず、おもむろにpecl経由でAPCの導入を試みます。</p>
<blockquote><p># pecl install APC</p></blockquote>
<p>しかし、参考ページと同じく、&#8221;phpizeがない&#8221;とエラーが出ます。そちらではそこであきらめてソースからコンパイルしていますが、同じことをやっても芸がないので、少しだけ追いかけてみます。</p>
<p>少しGoogle先生に聞いてみたらすぐに<a href="http://cm.livedoor.biz/archives/50380972.html">回答</a>に辿り着きました。どうやら、php-develパッケージを入れればいい模様なので、yum経由でインストール。</p>
<blockquote><p># yum install php-devel.i386</p></blockquote>
<p>再度上のコマンドを叩くと、今度はapxsがないと言って怒られます。こちらもすぐにGoogleで対策が見つかったので、httpd-develパッケージを同じくyumでインストール。</p>
<blockquote><p># yum install httpd-devel</p></blockquote>
<p>本来であれば、Apacheのコンパイル時にapxsが有効になっていることを確認する必要がありますが、何も考えずにapxsを入れたら通ったので、いいことにします。これでAPC本体のインストールが完了しました。</p>
<p>続いて、APCを有効にする設定を行います。これも簡単で、以下の1行を/etc/PHP.iniに追加するだけです。場所はどこでもいいと思いますが、下の場所に入れるのが美しいでしょう。</p>
<blockquote><p>;;;;;;;;;;;;;;;;;;;;;;<br />
; Dynamic Extensions ;<br />
;;;;;;;;;;;;;;;;;;;;;;<br />
;<br />
; If you wish to have an extension loaded automatically, use the following<br />
; syntax:<br />
;<br />
;   extension=modulename.extension<br />
;<br />
; For example:<br />
;<br />
;   extension=msql.so<br />
;<br />
; Note that it should be the name of the module only; no directory information<br />
; needs to go here.  Specify the location of the extension with the<br />
; extension_dir directive above.</p>
<p>extension=apc.so</p></blockquote>
<p>あとはhttpdの再起動を行って、動作を確認するだけです。<br />
<a href="http://jp2.php.net/manual/ja/function.phpinfo.php">phpinfo()</a>のみを書いたPHPファイル(通常phpinfo.phpという名前になります)用意してアクセスすれば、APCが有効になっているかどうかわかります。私の環境でアクセスしたところ、</p>
<p><img class="alignnone size-full wp-image-191" title="APC_on_phpinfo" src="http://www.starplatinum.jp/wp-content/uploads/2009/11/APC_on_phpinfo.png" alt="APC_on_phpinfo" width="496" height="549" /></p>
<p>こんな感じで確認できました。<br />
最適化は何もしていない状態なので、設定値はすべてデフォルトのままです。</p>
<p>なお、APC導入時に/usr/share/pearに入るapc.phpをWebサーバで表示できるパスに置いてアクセスすることにより、Web経由でキャッシュのヒット状況など現状の確認ができるようになります。また、apc.phpを編集することにより、管理業務的な作業も実施できるようになります。</p>
<p>管理業務を行うためには基本的にログインが必要となりますので、apc.phpを編集してパスワードを設定する必要があります。認証不要で管理画面にアクセスできるように設定することも可能ですが、外部からのアクセスがない環境などを除けば、そのように設定するべきではありませんので、注意してください。</p>
<p>コンテンツが少ないうえに、自宅サーバとしてはかなり贅沢な環境で回しているので、正直効果は体感できませんでした&#8230;.と書くことになるかと思ったら、意外にも<span style="color: #ff0000;"><strong>体感できるレベルで速度が向上しました！</strong></span></p>
<p>記事を書く時や管理画面にアクセスする時など、現状ではこのサーバの最大のヘビーユーザは自分になるわけですが、投稿のプレビューや記事間の移動のスピードが明らかに向上しました。</p>
<p>導入可能な環境でWordPressを運用しているのであれば、マイナスはないのでとにかく入れてみることをお勧めいたします。驚くほどパフォーマンスが向上するかもしれませんよ？</p>


<p>Related posts:<ol><li><a href='http://www.starplatinum.jp/serverenv/vps/yuminst/' rel='bookmark' title='Permanent Link: VPS環境へのyumの導入'>VPS環境へのyumの導入</a></li>
<li><a href='http://www.starplatinum.jp/serverenv/vps/wordpressinst/' rel='bookmark' title='Permanent Link: WebkeepersのVPSにWordpressを導入'>WebkeepersのVPSにWordpressを導入</a></li>
<li><a href='http://www.starplatinum.jp/serverenv/apache/excludelocalaccess/' rel='bookmark' title='Permanent Link: ローカルアクセスをログから除外する'>ローカルアクセスをログから除外する</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.starplatinum.jp/serverenv/apache/apc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ローカルアクセスをログから除外する</title>
		<link>http://www.starplatinum.jp/serverenv/apache/excludelocalaccess/</link>
		<comments>http://www.starplatinum.jp/serverenv/apache/excludelocalaccess/#comments</comments>
		<pubDate>Sun, 18 Oct 2009 11:34:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Apache]]></category>

		<guid isPermaLink="false">http://www.starplatinum.jp/?p=153</guid>
		<description><![CDATA[AWStatsのようなアクセスログベースのアクセス統計ツールでApacheのアクセスログを解析する際に、ローカルアクセスのログを邪魔に感じることがあります。自宅サーバの場合、基本的にローカルアクセス = 管理アクセスとい [...]


Related posts:<ol><li><a href='http://www.starplatinum.jp/serverenv/apache/apc/' rel='bookmark' title='Permanent Link: APC (Alternative PHP Cache) の導入'>APC (Alternative PHP Cache) の導入</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>AWStatsのようなアクセスログベースのアクセス統計ツールでApacheのアクセスログを解析する際に、ローカルアクセスのログを邪魔に感じることがあります。自宅サーバの場合、基本的にローカルアクセス = 管理アクセスということになりますので、なおさらです。<br />
#イントラネットのWebサーバなど、ローカルアクセス ≠ 管理アクセスという場合もあります。</p>
<p>AWStatsであれば、設定でそのようなアクセスを統計から除外することもできますが、Apache側の設定でログを取得しないように設定することができます。してみたところ、気分的にかなり快適になりました。</p>
<p><span id="more-153"></span>設定は非常に簡単で、デフォルトで以下のように書かれている設定を、</p>
<blockquote><p>CustomLog logs/access_log combined</p></blockquote>
<p>以下のように書き換えるだけです。</p>
<blockquote><p>SetEnvIf Remote_Addr 192.168.0. no_log<br />
CustomLog logs/access_log combined env=!no_log</p></blockquote>
<p>見れば一目瞭然ですが、リモートアドレスが192.168.0.0/24なアクセスを”no_log”という名前で環境変数として設定しておき、それに合致しないログを記録する、ということになります。</p>
<p>SetEnvIfのリファレンスマニュアルは<a href="http://httpd.apache.org/docs/2.0/mod/mod_setenvif.html#setenvif">こちら</a>。</p>


<p>Related posts:<ol><li><a href='http://www.starplatinum.jp/serverenv/apache/apc/' rel='bookmark' title='Permanent Link: APC (Alternative PHP Cache) の導入'>APC (Alternative PHP Cache) の導入</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.starplatinum.jp/serverenv/apache/excludelocalaccess/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
