HerokuでWordpressを動かす場合、GitHub – mhoofman/wordpress-heroku: Template project for deploying WordPress to Heroku を使うのが定番と思われるが、SiteGuard WP Pluginの画像認証機能を使うことができない。必要なPHPの拡張モジュールをインストールするために、設定ファイルを追加する必要がある。
SiteGuard WP Pluginの画像認証機能
SiteGuard WP Pluginの画像認証機能は、ログインページ、コメント投稿に画像認証を追加する機能である。Botによる不正ログインやコメントスパムを受けにくくすることを目的としている。
HerokuのWordpressで有効にするには
GitHub – mhoofman/wordpress-heroku: Template project for deploying WordPress to Herokuを使って構築した場合、この画像認証機能が有効にならない。必要なPHPの拡張機能が入っていないからだ。拡張機能を入れる場合、composer.jsonとcomposer.logの2つのファイルを使用するのだが、Template projectには含まれていないため、自分で用意する必要がある。
composerファイルを作成する
composer.jsonファイルは必要な拡張機能を記載したファイルだ。下記のようになる。
{
"require": {
"php": "~5.6",
"ext-mbstring": "*",
"ext-gd": "*"
}
}
このファイルがあるディレクトリで
composer install
と実行すると、composer.lockファイルが生成される。環境によってはcomposerコマンドではなく、composer.pharコマンドかもしれない。
composerをインストールしていないというのであれば、
curl -sS https://getcomposer.org/installer | php
とすれば、カレントディレクトリにcomposer.pharという名前でインストールされる。
Dockerコンテナを使う
PHPの環境は作っていない!というのであれば、Dockerを使おう。
docker run -i -t php:5.6 /bin/bash
とやって、PHPが入った仮想コンテナを立ち上げる。立ち上がったコンテナの中で
apt-get update && apt-get install -y libpng-dev && docker-php-ext-install gd
と実行する。
続いて、
curl -sS https://getcomposer.org/installer | php
と実行して、composerをインストールする。composer.phar
という名前になるので、注意。
composer.jsonファイルを用意してから、composer.lockファイルを生成しよう。
cat - > composer.json
として、上記composer.jsonファイルをコピペすればOK。大した量ではないので、素直に打ち直してもどうってことないけど。
composer.phar install
とすればcomposer.lockファイルが生成されるので、
cat composer.lock
として中身を表示させて、コピペする。いちいちファイル転送を行うほどの行数ではないし、頻繁に行うことでもないので、これで十分。
Herokuにpushする
ここまでの手順でcomposer.jsonファイルとcomposer.lockファイルが作成できたので、Template projectに加える。加える場所はindex.phpやREADME.mdのある、トップディレクトリだ。herokuにpushすれば、拡張機能がインストールされ、SiteGuardの画像認識機能が有効になる。
コメント