Mediawikiにmemcacheを導入

提供:あわ自由帳

MediaWikiを使っているのですが、memcacheが使えるとの事で、自宅サーバー(CentOS 7,2)に導入してみました。

注意

Memcachedのは、セキュリティや認証されていません。サーバーが適切にファイアウォールされていることを確認し、memcachedのサーバに使用するポートが外部からアクセス可能でないこと確認してください。それ以外の場合は、インターネット上の誰でもデータにアクセスでき、あなたのキャッシュからデータを読み取ることができます。

MediaWikiの内部に精通している攻撃者は、すべてのユーザーのパスワードハッシュと電子メールアドレスを取得するだけでなく、wikiのデータベースからすべてのデータを自分自身に開発者のアクセス権を与えると、削除するためにこれを使用することができます。

memcachedのインストール

インストール

[root@host3 ~]# yum install memcached

起動

[root@host3 ~]# systemctl start memcached.service

[root@host3 ~]# systemctl enable memcached.service

確認

[root@host3 ~]# systemctl status memcached
 memcached.service - Memcached
   Loaded: loaded (/usr/lib/systemd/system/memcached.service; disabled; vendor preset: disabled)
   Active: active (running) since 木 2016-01-07 22:39:59 JST; 3s ago
 Main PID: 453 (memcached)
   CGroup: /system.slice/memcached.service
           └─453 /usr/bin/memcached -u memcached -p 11211 -m 64 -c 1024

 1月 07 22:39:59 host3.sudachi.jp systemd[1]: Started Memcached.
 1月 07 22:39:59 host3.sudachi.jp systemd[1]: Starting Memcached...

PHPextensionのインストール

[root@host3 ~]# yum -y install php-pecl-memcache

[root@host3 ~]# systemctl restart memcached
[root@host3 ~]# systemctl restart httpd

[root@host3 ~]# php --ini
・
・
/etc/php.d/memcache.ini,
・
・

mediawikiの設定

memcacheの使うPortを確認

[root@host3 ~]# cat /etc/sysconfig/memcached
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS=""

mediawiki LocalSettings.php 設定

$wgMemCachedServersのアドレスとPort番号は先ほどmemcacheの設定ファイルで確認or設定したものを使用します。

## memcacheを使う
$wgMainCacheType = CACHE_MEMCACHED;
$wgMemCachedServers = array('127.0.0.1:11211');