Webサーバーの問い合わせフォームのデータのCMSへの取り込み

公開日 2015-01-12

最終更新日 2015-01-12

CMSサーバーとWebサーバーを分けた構成の場合、公開画面の問い合わせフォームから入力された内容をCMSサーバーに取り込みます。
CMSサーバーとWebサーバーを分けた場合、通常はWebサーバーの管理画面へはアクセスを行わなわず、CMSの管理画面にて問い合わせフォームの内容を確認します。
特にWebサーバーを複数配置した場合は、Webサーバーの問い合わせフォームの内容をCMSに転送しなければ、問い合わせフォームの内容をまとめて参照できません。

ここではそれぞれのサーバーのIPアドレスが次のものとして説明します。
CMSサーバー 192.168.0.2
Webサーバー 192.168.0.3

■Webサーバーでの設定
外部サーバーから、WebサーバーのDBへのアクセス権限を追加します。
Webサーバーのmysql上で次のコマンドを実行します。
 grant all privileges on zomeki_production.* to zomeki@'192.168.0.2' identified by 'zomekipass';
MySQLのzomekiのパスワードはデフォルトでは、zomekipass と設定しています。

■CMSサーバーでの設定
問い合わせフォームの取り込みの対象とするサーバーを設定します。
この設定はdatabase.ymlにて、次のように行います。

/var/share/zomeki/config/database.yml
-------------------------------------------------------------------
production_pull_database:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: zomeki_production
  pool: 5
  username: zomeki
  password: zomekipass
  host: 192.168.0.3

production_pull_database_2:
~~~略~~~

production_pull_database_3:
~~~略~~~
-------------------------------------------------------------------
・host:はWebサーバーのIPを設定してください。
・Webサーバが複数ある場合は、production_pull_database_2、3と追記してください。
・developmentモードの場合は、development_pull_databaseとなります。