Mautic(マウティック)は、オープンソースのマーケティングオートメーションツールです。ほとんどのマーケティングオートメーションツールは、有料のクラウドサービスで提供されますが、Mautic は、自分のサーバーにインストールすれば無料で使うことができます。気軽にマーケティングオートメーションを始めることができるのは嬉しいことですね。そこで今回は、Mautic をインストールするための LAMP環境の構築から Mautic のインストールと基本的なセットアップの手順をまとめてみました。
Mautic のインストールに必要な環境
Mautic のインストールに必要な環境は、次の通りです。(2020年7月7日現在)最新の情報は以下の公式ページでご確認ください。
参考資料:Requirements | Mautic Community
PHP は、現時点で PHP7.4 の対応が進行中で PHP 7.3 での利用にも問題があるようですので PHP 7.2 を使うことをオススメします。
- PHP 7.2.21 以上(現在 PHP 7.4 は未サポート)
- MySQL 5.7 以上 または MariaDB 10.2 以上
Webサーバーは以下のバージョンがサポートされています。
- Apache httpd 2.x 以上
- Nginx 1.0 以上(1.8を推奨)
- Microsoft IIS 7
サーバーOSは特に指定されていませんので、必要な環境を満たせば Linux、Windows、macOS などのサーバーにインストールできます。
今回は、標準で PHP 7.2、MySQL 8.0、Apache httpd 2.4 が提供されている CentOS8 に Mautic をインストールします。まず下準備としてこれらのミドルウェアをインストールしていきましょう。
基本パッケージのインストール
はじめに、開発ツールなど基本的なパッケージをインストールしておきます。
sudo yum -y groupinstall development
sudo yum -y groupinstall network-tools
パッケージを、最新版にアップデートします。
SELinux無効設定
ミドルウェアのインストールの前に SELinux が有効な場合は、無効にしておきます。
sudo vi /etc/sysconfig/selinux
↓
SELINUX=disabled
OSを再起動します
yum リポジトリの追加
CentOS8 は、標準で PHP 7.2 が提供されているのですが、IMAPメールを扱うための php-imap モジュールがサポートされていません。そのため Mautic で IMAPメールの受信トレイのチェック機能を使う場合は、以下の手順で php-imap モジュールがサポートされている Remi リポジトリを追加し、Remi リポジトリから PHP7.2 がインストールされるように設定する必要があります。
CentOS-PowerTools を追加
EPEL リポジトリのインストール
sudo yum -y update
Remi リポジトリのインストール
sudo rpm --import http://rpms.remirepo.net/RPM-GPG-KEY-remi
Remi リポジトリを有効化
Remi リポジトリから PHP 7.2 がインストールされるように php:remi-7.2 モジュールをインストールします。
sudo yum -y module install php:remi-7.2
ミドルウェアのインストール
Mautic を動作させるに必要なミドルウェア Apache httpd、PHP、MySQL をインストールします。
Apache httpd 2.4 のインストール
sudo yum -y install mod_ssl
PHP 7.2 のインストール
sudo yum -y install php-devel
sudo yum -y install php-pdo
sudo yum -y install php-mysqlnd
sudo yum -y install php-mbstring
sudo yum -y install php-gd
sudo yum -y install php-json
sudo yum -y install php-pear
sudo yum -y install php-intl
sudo yum -y install php-pecl-zip
sudo yum -y install php-pecl-apc-devel
sudo yum -y install zlib-devel
Remi リポジトリから PHP 7.2 をインストールしている場合は、php-imap モジュールもインストールします。(CentOS8の標準リポジトリからはインストールできません)
MySQL 8.0 のインストール
sudo yum -y install mysql-server
続いて各種ミドルウェアの設定を行い起動しておきます。
PHP の設定
PHP の設定を行います。Mautic は PHP のメモリ使用量の上限(memory_limit)を 512M 以上にする必要があります。
sudo vi /etc/php.ini
↓
memory_limit = 512M
expose_php = On
↓
expose_php = Off
;date.timezone =
↓
date.timezone = 'Asia/Tokyo'
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
↓
error_reporting = E_ALL & ~E_NOTICE
php-fpm の自動起動を設定し起動します。
firewalld設定
Webアクセスができるように HTTP(80/tcp) と HTTPS(443/tcp) を許可しておきます
sudo firewall-cmd --add-port=443/tcp --permanent
設定を読込みます
・設定を確認します
sudo firewall-cmd --list-ports --zone=public
-----(以下の表示があればOK)-----
Apache httpd の設定
不要なコンフィグを読込まないようにしておきます。
sudo mv -i /etc/httpd/conf.d/userdir.conf /etc/httpd/conf.d/userdir.conf.org
sudo mv -i /etc/httpd/conf.d/welcome.conf /etc/httpd/conf.d/welcome.conf.org
オリジナルのコンフィグをバックアップ
・コンフィグを作成します。(ServerName に指定するドメイン名は、ご自分が所有しているドメイン名に書き換えてください)
sudo vi /etc/httpd/conf/httpd.conf
Apache httpd の自動起動を設定し起動ます。
Apache HTTPS(SSL/TLS)の設定
Mautic には顧客の個人情報など大切なデータが保存されるため HTTPS(SSL/TLS)の設定が必須です。
今回は、自己署名のサーバー証明書を使いますが、実際に Mautic を運用する場合は、Let's Encrypt など正規の認証局が発行したサーバー証明書を使いましょう。
関連記事:Let's Encrypt サーバー証明書の取得と自動更新設定メモ
自己署名のサーバー証明書の作成
秘密鍵の作成
openssl ecparam -name prime256v1 -genkey -out server.key
・CSR(証明書署名要求)の作成(入力するのは2箇所だけです)
openssl req -new -key server.key > server.csr
State or Province Name (full name) []:<空エンター>
Locality Name (eg, city) [Default City]:<空エンター>
Organization Name (eg, company) [Default Company Ltd]:<空エンター>
Organizational Unit Name (eg, section) []:<空エンター>
Common Name (eg, your name or your server's hostname) []: mautic.example.com
Email Address []:<空エンター>
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:<空エンター>
An optional company name []:<空エンター>
自己署名のサーバー証明書の作成(有効期限30年)
秘密鍵とサーバー証明書を適切な場所に移動
sudo mv -i server.crt /etc/pki/tls/certs/
パーミッションを変更
sudo chmod 600 /etc/pki/tls/certs/server.crt
CSRを削除
HTTPS の設定
SSL設定ファイルのオリジナルをバックアッップします
SSL設定ファイルを作成します。(ServerName に指定するドメイン名は、ご自分が所有しているドメイン名に書き換えてください)
sudo vi /etc/httpd/conf.d/ssl.conf
Apache httpd を再起動します。
WEBブラウザで HTTPSで接続できることを確認してください。
【補足】
自己署名のサーバー証明書の場合は警告が表示され、接続できない場合があります。FireFox で「危険性を承知で続行」ボタンを押して接続するか、Google Chrome の場合は「thisisunsafe」とタイプすると接続できます。
MySQL の設定
標準では MySQLのログの出力時間が UTC になるため、MySQLの設定ファイルの最後の行に以下を追加します。(気にならなければそのままで構いません)
sudo vi /etc/my.cnf.d/mysql-server.cnf
MySQLの起動と自動起動設定
mysql_secure_installation の実行
初期状態では、rootユーザーがパスワードなしで MySQLに接続できるようになっていますのでパスワードを設定しておきます。
mysql_secure_installation コマンドを実行すると、root ユーザーのパスワードを設定し、不要なユーザーやDBも削除してくれます。パスワードは、8文字以上で英数大文字小文字と記号が含まれていないとポリシー違反で弾かれてしまいますので注意です。パスワードポリシーを変更したい場合は「--use-default」オプションなしで実行してください。
(略)
Please set the password for root here.
New password: <新しいパスワード>
Re-enter new password: <新しいパスワード>
(略)
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y
(不要なユーザーやDBを削除)
All done!
Mautic 用のデータベースとユーザーの作成
MySQLに、Mautic用のデータベース(mautic)とユーザー(mautic)を作成します。
CREATE DATABASE mautic character set utf8;
CREATE USER mautic@localhost IDENTIFIED BY '<パスワード>';
GRANT ALL ON mautic.* TO mautic@localhost;
quit;
Mautic のインストール
下準備がかなり長くなりましたが、本題の Mautic のインストールです。
以下のページから Mautic 最新版の zipファイルをダウンロードします。(メールアドレスなどの入力が必要です)ダウンロードした zipファイルはサーバーのホームディレクトリなどにアップロードしておきましょう。
Download - Mautic Community
zipファイルを解凍して Apache httpd のドキュメントルート直下へ移動します。
sudo mv -i mautic /var/www/html/
mautic ディレクトリ以下のオーナーとグループをすべて Webサーバーの実行ユーザー apache に変更します。
Mautic のインストールは以上です。続いて Mautic の初期設定を行います。
Mautic の初期設定
Webブラウザで以下のURLを開いて Mautic にアクセスします。(URLはご自分の環境に読み替えてください)
https://mautic.example.com/mautic/
「Ready to Install!」が表示されていることを確認し、「Next Step」をクリックします。
データーベースの設定です。先ほど作成した Mautic用のデータベース(mautic)とユーザー(mautic) およびパスワードを入力して「Next Step」をクリックします。
管理ユーザーの設定です。ユーザー名やメールアドレスなどを入力して「Next Step」をクリックします。
メールサーバーの設定です。後ほど設定しますので、そのまま「Next Step」をクリックしてください。
以上で初期設定完了です。管理ユーザーでログインしてください。
基本言語の設定
基本言語を日本語に設定します。
右上の歯車マークをクリックして「Configuration」を選択します。
Default timezone を「Asia Tokyo」、Default language を「Japanese」に変更してページ右上の「Apply」をクリックします。
一度ログアウトして、再度ログインするとメニューなどが日本語で表示されるようになります。
IPルックアップデータベースのダウンロード
IPアドレスから地域情報を推定するための IPルックアップデータベースをダウンロードします。
GeoLite2 のライセンスキーの取得
デフォルトで設定されている MaxMind の GeoLite2 という無料のIPルックアップデータベースを使う場合は、ライセンスキーの取得が必要になります。
以下のページから GeoLite2 のユーザーアカウントを作成してください。
作成したユーザーアカウントで GeoLite2 の管理画面にログインし、左メニューの「My License Key」をクリックすれば、GeoLite2 のライセンスキーを取得できます。
ライセンスキーを作成する時に、古い GeoIP Update を使いますか? と聞かれた場合は「No」を選択してから「Confirm」ボタンをクリックしてください。
表示されたライセンスキーをメモしておきます。(再度表示することはできませんので注意してください)
ライセンスキーの登録とダウンロード
Mautic の管理画面に戻って、右上の歯車マークをクリックして「設定」を選択します。
下にスクロールして「IPルックアップサービス承認」に、先ほどメモしたライセンスキーを入力し、「取得IPルックアップデータストア」をクリックします。
「成功」と表示されたら、画面右上の「適用」ボタンをクリックします。
メール送信設定
マーケティングオートメーションツールには色々な機能があるのですが、そのなかでも特に重要な機能がメール送信機能です。コンタクトと呼ばれるデーターベースに登録した見込み客にメールを配信することで、見込み客とコミュニケーションを図りWeb上の行動を把握することができます。
今回は、メール配信サービスの定番 SendGrid の API を使ってメール送信設定を行います。(月間12,000通までは無料でメールを送信できます)
SendGrid の APIキーの取得
以下のページから SendGrid のユーザーアカウントを作成します。
作成したユーザーアカウントで SendGrid の管理画面にログインしたら、左メニューから「Settings」→「API Keys」を選択し「Create API Key」をクリックします。
API Key Name に適当な名前を入力し「Create & View」をクリックすれば APIキーが作成されます。(API Key Permissions は「Full Access」のままにしてください)
APIキーが表示されますので、メモしておきます。(再度表示することはできませんので注意してください)
メール送信設定
Mautic の管理画面に戻って、右上の歯車マークをクリックして「設定」を選択します。
左メニューの「メール設定」をクリックして「メール送信に利用するサービス」を「Sendgrid - API」に変更し、APIキーに先ほどメモした SendGrid の APIキーを入力したら「接続テスト」をクリックします。
「成功」と表示されたら、画面右上の「適用」ボタンをクリックします。
メール送信設定が終わったら「テストメールを送信」ボタンクリックして、管理ユーザーのメールアドレス宛にメールが送信されていることを確認しておきましょう。
cron ジョブの登録
Mautic では色々な処理を定期的に実行する必要があるため cron ジョブを登録します。
PHP のフルパスを確認します。
/usr/bin/php ← PHPのフルパス
Mautic の cron ジョブ用スクリプトの場所を確認します。青字の部分はインストールした環境によって異なります。(Mautic バージョン2の場合は bin/console ではなく app/console になります)
-rwxr-xr-x 1 apache apache 1528 6月 30 03:04 /var/www/html/mautic/bin/console
Mautic の各種 cron ジョブが実行できることを確認します。エラーメッセージが表示されなければOKです。(必ずWebサーバーの実行ユーザー「apache」で実行してください)
sudo -u apache /usr/bin/php /var/www/html/mautic/bin/console mautic:segments:update
# キャンペーンの更新
sudo -u apache /usr/bin/php /var/www/html/mautic/bin/console mautic:campaigns:rebuild
# IPルックアップデータベースの更新
sudo -u apache /usr/bin/php /var/www/html/mautic/bin/console mautic:iplookup:download
実行が必要な cron ジョブは、Mautic の設定によって異なります。詳しくは公式ドキュメントを参照してください。
Cron jobs | Mautic Community Documentation
Mautic の cron ジョブを crontab に登録します。phpはフルパスで指定し、繰り返しになりますが Webサーバーの実行ユーザー「apache」で実行するように登録してください。また、各種 cron ジョブは実行するタイミングをできるだけずらすように設定しましょう。
sudo vi /etc/crontab
5,20,35,50 * * * * apache /usr/bin/php /var/www/html/mautic/bin/console mautic:campaigns:rebuild
10 04 08 * * apache /usr/bin/php /var/www/html/mautic/bin/console mautic:iplookup:download
Mautic のトラッキング設定
Mautic で解析したい Webサイトにトラッキングコードを設置します。
「設定」→「トラキング設定」をクリックして、マウティックのトラッキング設定に表示されているコードを、解析したい Webページの最後(</body> タグの直前)に追加します。
解析したい Webサイトが WordPress の場合は、Mautic のプラグインをインストールすることで、トラッキングコードを追加することができます。
おわりに
この記事では Mautic の基本的な設定までをご紹介しました。この後はコンタクトリスト(顧客名簿のようなものです)の登録や、スコアリングの設定、キャンペーンの作成、見込み客へのメール配信などを行っていきます。
実際にマーケティングオートメーションツールを会社などの組織に導入して継続して運用するには、その目的や目標、運用体制、ターゲットの設定、評価指標(KPI)などをしっかり設計することが必要です。
マーケティングオートメーションの運用設計については書籍「マーケティングオートメーション 最強の導入手法」がオススメです。マーケティングオートメーションツールの導入から活用方法、それを商談・受注につなげるまでの手法がわかりやすく解説されています。
コメント