はじめに

F-RevoCRMとは(引用 https://f-revocrm.jp/)

F-RevoCRM は、世界中で活用されている vTigerCRM をベースに、日本の企業文化に合わせてシンキングリードが独自のカスタマイズを行った、フリー&オープンな高機能CRMアプリケーションです。

このCRMをインストールしてから運用するために実施した内容をまとめておきます。
インストール手順は公式ページを参照ください。

環境

サーバ
 AWS Lightsail(RAM:1GB, SSD:30GB, 転送量:2TB)
 リージョン:バージニア

ミドルウェア
 Apache2.4
 MySQL5.6.35
 PHP5.6
※最初PHP7でインストールを実施したところ、バージョン対応していないらしくインストール時点でコケたためPHP5.6で導入しました。

前提

CRMのユーザは社員であり、社内・社外からアクセスする

セキュリティ設定

  • 常時HTTPS接続
  • 社外IPからのアクセス時はダイジェスト認証
  • サーバ証明書(Let's encrypt)
  • iptablesでファイアウォール設定  ※LightsailのGUIコンソールでネットワーク設定もできますが高度な設定ができないためにiptablesを使用しました

バックアップ設定

  • Lightsailで使用できるスナップショットを利用
  • データベースはmysqldumpを定時実行

運用設定

  • F-Revoログ出力設定
  • 証明書自動更新設定

懸念点(特にLightsail)

Lightsailのスペックに限界がきた場合、スケールアップする可能性があります。
2017年4月段階で、LightsailのスケールアップはAPIからしか実施できないのが注意点です。
さらに、DBをインスタンスから切り離したいとなると、VPC Peeringを経由させる必要があったりするので若干複雑化します。
また、スナップショットでサーバを復旧させた場合(復旧と言っても新規インスタンスとして立ち上がる)、Public IPが変わります。Static IPを設定するかDNS Zoneを設定する必要が出てきますね(IPもDNSもLightsailで設定可能です)。

おわりに

今のところ特に問題は発生してないです。F-Revoの推奨スペックはRAM4GBと記載がありますが、そこも特に問題はないです。
ただし、Lightsailのリージョンがバージニアのため、コマンド入力に微妙にタイムラグがあってストレスが溜まります。。。