インストールガイド · 1 min read · Jan 02, 2026

Debian Etch (Apache2) に memcached と PHP5 memcache モジュールをインストールする

Debian Etch (Apache2) に memcached と PHP5 memcache モジュールをインストールする

Version 1.0
Author: Falko Timme

このガイドでは、Apache2 を使用した Debian Etch システムに memcached と PHP5 memcache モジュールをインストールする方法を説明します。memcached は、システムのメモリにオブジェクト(データベースクエリの結果など)を保存できるデーモンであり、ウェブサイトの速度を大幅に向上させることができます。ネットワーク越しに memcached を使用することもできます(つまり、ウェブアプリケーションを 1 台のサーバーにインストールし、memcached を別のサーバーにインストールすることができます)が、通常はネットワークのオーバーヘッドを避けるために両方を 1 台のサーバーにインストールします。

memcached は、ウェブアプリケーションの速度を向上させるための即効性のあるソリューションではないことに注意が必要です。通常、memcached と連携するようにスクリプト(PHP、Perl など)を調整する必要があるため、少し作業が必要です。

この文書には、いかなる種類の保証もありません!これがあなたにとって機能することを保証するものではありません!

1 予備ノート

私は、Apache2 と PHP5 がすでにインストールされて動作している IP アドレス 192.168.0.100 の Debian Etch サーバーでこれをテストしました。このチュートリアルでは、デモンストレーションの目的で Apache のデフォルトのドキュメントルート /var/www を使用します。もちろん、他の vhost を使用することもできますが、このチュートリアルで使用している info.php ファイルへのパスを調整する必要があるかもしれません。

2 PHP5 の現在の状態を確認する

まず、memcached をインストールする前に、PHP5 のインストール状況を確認しましょう。これを行うために、ドキュメントルート /var/www に info.php ファイルを作成します:

vi /var/www/info.php

| |

その後、ブラウザでそのファイルを呼び出します:http://192.168.0.100/info.php

ご覧の通り、PHP 5.2.0 がインストールされています…

… しかし、PHP5 memcache モジュールはページのどこにも言及されていません:

3 memcached と PHP5 memcache モジュールのインストール

memcached と PHP5 memcache モジュールは Debian Etch 用のパッケージとして利用可能なので、次のようにインストールできます:

apt-get install memcached php5-memcache

インストール後、memcached はすでに実行中であるはずです。それを確認するには、次のように入力します。

netstat -tap | grep memcached

server1:~# netstat -tap | grep memcached
tcp 0 0 :11211 :* LISTEN 3053/memcached
server1:~#

ご覧の通り、memcached はポート 11211(デフォルトの memcached ポート)で実行中であり、システムのすべてのインターフェースでリッスンしています。memcached には組み込みの認証メカニズムがないため(速度を犠牲にしないため)、外部から誰でも接続して使用できることを意味します。これを避けるために、ファイアウォールでポート 11211 を閉じるか、memcached を localhost のみでリッスンするように構成します。ここでは後者の方法を使用します。

これを行うには、/etc/memcached.conf に保存されている memcached の設定を開きます:

vi /etc/memcached.conf

設定に -l 127.0.0.1 を追加します(他の設定も調整できます - ファイルには各設定の説明が含まれています):

| [...] # Specify which IP address to listen on. The default is to listen on all IP addresses # This parameter is one of the only security measures that memcached has, so make sure # it's listening on a firewalled interface. # -l 12.34.56.78 -l 127.0.0.1 [...] |

memcached を再起動します…

/etc/init.d/memcached restart

… そして再度実行します。

netstat -tap | grep memcached

ご覧の通り、memcached は現在 localhost のみでリッスンしています:

server1:~# netstat -tap | grep memcached
tcp 0 0 localhost.localdo:11211 : LISTEN 3092/memcached
server1:~#

その後、Apache を再起動して新しい PHP 設定を有効にします:

/etc/init.d/apache2 restart

その後、ブラウザで再度 info.php を開きます:http://192.168.0.100/info.php

これで、ページに memcache が表示されるはずで、正常に統合されて機能していることを意味します:

PHP アプリケーションで PHP memcache モジュールを使用するには、memcache の例と memcache 関数リファレンスを確認する必要があります。

私は http://dk.php.net/manual/en/memcache.examples.php からの例のスクリプトを使用し、それを /var/www/memcachetest.php に保存します:

vi /var/www/memcachetest.php

| connect('localhost', 11211) or die ("Could not connect"); $version = $memcache->getVersion(); echo "Server's version: ".$version."
"; $tmp_object = new stdClass; $tmp_object->str_attr = 'test'; $tmp_object->int_attr = 123; $memcache->set('key', $tmp_object, false, 10) or die ("Failed to save data at the server"); echo "Store data in the cache (data will expire in 10 seconds)
"; $get_result = $memcache->get('key'); echo "Data from the cache:
"; var_dump($get_result); ?>
|

その後、ブラウザでそのファイルを呼び出します(http://192.168.0.100/memcachetest.php)。すべてがうまくいけば、出力は次のようになります:

4 リンク

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。