F-RevoCRM7.3をAmazon Linux 2のLAMP環境(php7.2+MariaDB10.2)にインストールしました。
プロローグ
以前からオーダーを受けていた顧客管理システムのリニューアル案件ですが、ついに重い腰をあげ取り掛かる事にしました。はじめスクラッチで開発する事も考えたのですが、友人知人に聞きまわっていくと、現在は色々なソリューションが世の中に出回っています。それらを色々と技術調査し、セールスフォースはもちろん、ファイルメーカーやキントーン等も候補にあげていたのですが、オープンソースのF-RevoCRM7.3ならカスタマイズが効き、いざとなればサポートも受けられそうなので、今回、試してみる事にしました。ちなみにwiki情報によると、F-RevoCRM(エフレボシーアールエム)は、シンキングリード株式会社によって開発されているオープンソースの顧客関係管理(Customer Relationship Management、略してCRM)システムで、インド企業vtigerが開発を主導するコミュニティ駆動型のオープンソースCRMソフトウェアvtiger CRM(英語版)をベースに、日本の企業文化に合わせ独自にカスタマイズを行っているそうです。
環境準備
方針を考える
まずは公式サイトのインストール手順を眺めてみます。
前提条件として「さくらインターネットのVPS、AWS Lightsail等CentOS7.xがインストールされた環境」と記載されています。しかし私はよく利用するAWSのEC2インスタンス(Amazon Linux 2)にLAMP環境を導入する方式にしました。インスタンス次第ではありますが、こちらの方が月額料金を抑えられる気がしています。なおlamp環境の構築手順の詳細は、以下のAWSの公式サイトチュートリアルを参照してください。
またEC2インスタンス(Amazon Linux 2)の構築方法が不明な方は、以下の以前の私の記事をご参照ください。
Amazon Linux 2にLAMP環境を準備する
以下は私が行った手順の備忘録( ..)φメモメモです。
# Amazon Linux Extras リポジトリをインストールし、必要なlamp環境をインストール $ sudo yum update -y $ sudo amazon-linux-extras install -y lamp-mariadb10.2-php7.2 php7.2 $ sudo yum install -y php-mbstring php php-gd php-xml $ sudo yum install -y httpd mariadb-server # パッケージの現在バージョンを確認 $ yum info php $ yum info mariadb # Apacheウェブサーバーを起動し、常駐させる為にデーモンへも登録 $ sudo systemctl start httpd $ sudo systemctl enable httpd # デーモンに登録されたか確認 $ sudo systemctl is-enabled httpd enabled
HTTP80ポートの許可とブラウザによる接続確認
HTTP (ポート 80) 接続をインスタンスに許可するセキュリティルールを追加していない場合、以下の手順を実施します。
Amazon EC2 コンソールから、該当[インスタンス] を選択し、[セキュリティ] タブで、インバウンドルールを編集します。
「ルールを追加」からタイプ「HTTP」を選択し、ソースは「任意の場所(※どのIPからでもアクセス可という事)」を選択し、「ルールの保存」を押します。
phpinfoを作成しドキュメントルートに配置します。(※:権限変更も忘れずに)
$ echo "<?php phpinfo(); ?>" > info.php $ sudo cp -p info.php /var/www/html/ $ sudo chown apache:apache /var/www/html/info.php
無事php7.2が入った様です。危ないのでinfo.phpは忘れずに削除しておきましょう。
$ sudo rm -i /var/www/html/info.php rm: remove regular file ‘/var/www/html/info.php’? y
パブリックIPをElasticIPで固定する
F-RevoCRMはインストール後にパブリックIPのアドレスが変わってしまうと何かと不具合が発生する様です。EC2サーバー再起動後にIPアドレスが変わらない様、ElasticIPで固定してください。
なおElasticIPの設定方法がわからない方は、以下の記事をご参照ください。
データベースのセットアップ
次にMariaDB サーバーのセットアップを実行していきます。
# MariaDB サーバーを起動 $ sudo systemctl start mariadb # 常駐させる為、デーモンに登録 $ sudo systemctl enable mariadb # デーモンに登録されたか確認 $ sudo systemctl is-enabled mariadb enabled
次にmysql_secure_installation コマンドを使用する事で、ルートパスワードを設定したり、安全でない機能をインストールから削除します。
# mysql_secure_installation を実行 $ sudo mysql_secure_installation
ここで以下の操作が必要です。
- 最初に現在のルートパスワードが聞かれますが、デフォルトではルートアカウントにはパスワードが設定されていません。ここでは何も入力せずEnter キーを押します。
- 「Y」と入力してルートパスワードを設定し、安全なパスワードを 2 回入力します。
- 「Y」と入力して匿名ユーザーアカウントを削除します。
- 「Y」と入力してリモートルートログインを無効にします。
- 「Y」と入力してテストデータベースを削除します。
- 「Y」と入力して権限テーブルを再ロードし、変更を保存します。
F-RevoCRM7.3のセットアップ
いよいよF-RevoCRM7.3のインストールです。まずは公式サイトのインストール手順どおり、php.iniとmy.cnfを書き換えていきます。
準備1.php.iniの変更
# php.iniを編集します $ sudo vi /etc/php.ini date.timezone = "Asia/Tokyo" max_input_vars = 100000 post_max_size = 32M upload_max_filesize = 32M max_execution_time = 600 # Apacheを再起動します $ sudo systemctl restart httpd
準備2.my.cnf変更
# server.cnfを編集します $ sudo vi /etc/my.cnf.d/mariadb-server.cnf [mariadb] sql_mode=NO_ENGINE_SUBSTITUTION default-authentication-plugin=mysql_native_password # MariaDBを再起動します $ sudo systemctl restart mariadb
準備3.データベースの作成
# MariaDBにログインします。 sql -u root -p Enter password:先ほど設定したパスワードを入力 # 手順どおり「frevocrm」というDBを作成 MariaDB [(none)]> CREATE DATABASE frevocrm DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; # データベースが作成されたか確認 MariaDB [(none)]> SHOW DATABASES; +--------------------+ | Database | +--------------------+ | frevocrm | | information_schema | | mysql | | performance_schema | +--------------------+
F-RevoCRM7.3のインストール
# アップロードしたfrevocrm7.3.zipファイルをfrevocrmディレクトリに解凍 $ unzip frevocrm7.3.zip # ApacheのDocumentRoot以下に配置しパーミッションを指定 $ sudo mv frevocrm /var/www/html/ $ sudo chown -R apache.apache /var/www/html/frevocrm/
「https://グローバルIP/frevocrm/」にアクセスしてインストールウィザードを実行していきます。
公式手順書によると「config.inc.php」はこの時点では生成されていないため「いいえ」のままで問題ないそうです。「次へ」に進みます。
さきほど設定したデータベース情報と、任意の管理者ユーザー情報を入力します。
以上でインストールは完了です。以上、自分用の備忘録( ..)φメモメモでした。