Mautic 無料で使えるマーケティングオートメーションツールのインストールメモ(CentOS8)

Linux
Linux
スポンサーリンク

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 base
sudo yum -y groupinstall development
sudo yum -y groupinstall network-tools

パッケージを、最新版にアップデートします。

sudo yum -y update

SELinux無効設定

ミドルウェアのインストールの前に SELinux が有効な場合は、無効にしておきます。

sudo vi /etc/sysconfig/selinux

SELINUX=enforcing
 ↓
SELINUX=disabled

OSを再起動します

sudo shutdown -r now

yum リポジトリの追加

Mautic で IMAPメールの受信トレイのチェック機能 を使わない場合は、この手順は飛ばしてください。

CentOS8 は、標準で PHP 7.2 が提供されているのですが、IMAPメールを扱うための php-imap モジュールがサポートされていません。そのため Mautic で IMAPメールの受信トレイのチェック機能を使う場合は、以下の手順で php-imap モジュールがサポートされている Remi リポジトリを追加し、Remi リポジトリから PHP7.2 がインストールされるように設定する必要があります。

CentOS-PowerTools を追加

sudo yum config-manager --set-enabled PowerTools

EPEL リポジトリのインストール

sudo yum -y install epel-release
sudo yum -y update

Remi リポジトリのインストール

sudo rpm -ivh http://rpms.remirepo.net/enterprise/remi-release-8.rpm
sudo rpm --import http://rpms.remirepo.net/RPM-GPG-KEY-remi

Remi リポジトリを有効化

sudo yum config-manager --set-enabled remi

Remi リポジトリから PHP 7.2 がインストールされるように php:remi-7.2 モジュールをインストールします。

sudo yum -y module reset php
sudo yum -y module install php:remi-7.2

ミドルウェアのインストール

Mautic を動作させるに必要なミドルウェア Apache httpd、PHP、MySQL をインストールします。

Apache httpd 2.4 のインストール

sudo yum -y install httpd-devel
sudo yum -y install mod_ssl

PHP 7.2 のインストール

sudo yum -y install php
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の標準リポジトリからはインストールできません)

sudo yum -y install php-imap

MySQL 8.0 のインストール

sudo yum -y install mysql-devel
sudo yum -y install mysql-server

続いて各種ミドルウェアの設定を行い起動しておきます。

PHP の設定

PHP の設定を行います。Mautic は PHP のメモリ使用量の上限(memory_limit)を 512M 以上にする必要があります。

sudo vi /etc/php.ini

memory_limit = 128M
 ↓
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 の自動起動を設定し起動します。

sudo systemctl enable --now php-fpm

firewalld設定

Webアクセスができるように HTTP(80/tcp) と HTTPS(443/tcp) を許可しておきます

sudo firewall-cmd --add-port=80/tcp --permanent
sudo firewall-cmd --add-port=443/tcp --permanent

設定を読込みます

sudo firewall-cmd --reload

・設定を確認します
sudo firewall-cmd --list-ports --zone=public
-----(以下の表示があればOK)-----

443/tcp 80/tcp

Apache httpd の設定

不要なコンフィグを読込まないようにしておきます。

sudo mv -i /etc/httpd/conf.d/autoindex.conf /etc/httpd/conf.d/autoindex.conf.org
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

オリジナルのコンフィグをバックアップ

sudo mv -i /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.org

・コンフィグを作成します。(ServerName に指定するドメイン名は、ご自分が所有しているドメイン名に書き換えてください)
sudo vi /etc/httpd/conf/httpd.conf

Apache httpd の自動起動を設定し起動ます。

sudo systemctl enable --now httpd

Apache HTTPS(SSL/TLS)の設定

Mautic には顧客の個人情報など大切なデータが保存されるため HTTPS(SSL/TLS)の設定が必須です。

今回は、自己署名のサーバー証明書を使いますが、実際に Mautic を運用する場合は、Let's Encrypt など正規の認証局が発行したサーバー証明書を使いましょう。

関連記事:Let's Encrypt サーバー証明書の取得と自動更新設定メモ

自己署名のサーバー証明書の作成

秘密鍵の作成

cd
openssl ecparam -name prime256v1 -genkey -out server.key

・CSR(証明書署名要求)の作成(入力するのは2箇所だけです)
openssl req -new -key server.key > server.csr

Country Name (2 letter code) [XX]: JP
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年)

openssl x509 -days 10950 -req -signkey server.key < server.csr > server.crt

秘密鍵とサーバー証明書を適切な場所に移動

sudo mv -i server.key /etc/pki/tls/private/
sudo mv -i server.crt /etc/pki/tls/certs/

パーミッションを変更

sudo chmod 600 /etc/pki/tls/private/server.key
sudo chmod 600 /etc/pki/tls/certs/server.crt

CSRを削除

rm server.csr

HTTPS の設定

SSL設定ファイルのオリジナルをバックアッップします

sudo mv -i /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.d/ssl.conf.org

SSL設定ファイルを作成します。(ServerName に指定するドメイン名は、ご自分が所有しているドメイン名に書き換えてください)
sudo vi /etc/httpd/conf.d/ssl.conf

Apache httpd を再起動します。

sudo systemctl restart httpd

WEBブラウザで HTTPSで接続できることを確認してください。

【補足】
自己署名のサーバー証明書の場合は警告が表示され、接続できない場合があります。FireFox で「危険性を承知で続行」ボタンを押して接続するか、Google Chrome の場合は「thisisunsafe」とタイプすると接続できます。

MySQL の設定

標準では MySQLのログの出力時間が UTC になるため、MySQLの設定ファイルの最後の行に以下を追加します。(気にならなければそのままで構いません)
sudo vi /etc/my.cnf.d/mysql-server.cnf

log_timestamps=SYSTEM

MySQLの起動と自動起動設定

sudo systemctl enable --now mysqld

mysql_secure_installation の実行

初期状態では、rootユーザーがパスワードなしで MySQLに接続できるようになっていますのでパスワードを設定しておきます。

mysql_secure_installation コマンドを実行すると、root ユーザーのパスワードを設定し、不要なユーザーやDBも削除してくれます。パスワードは、8文字以上で英数大文字小文字と記号が含まれていないとポリシー違反で弾かれてしまいますので注意です。パスワードポリシーを変更したい場合は「--use-default」オプションなしで実行してください。

mysql_secure_installation --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)を作成します。

mysql -u root -p
 
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 のドキュメントルート直下へ移動します。

unzip 3.0.1.zip -d mautic
sudo mv -i mautic /var/www/html/

mautic ディレクトリ以下のオーナーとグループをすべて Webサーバーの実行ユーザー apache に変更します。

sudo chown -R apache:apache /var/www/html/mautic

Mautic のインストールは以上です。続いて Mautic の初期設定を行います。

Mautic の初期設定

Webブラウザで以下のURLを開いて Mautic にアクセスします。(URLはご自分の環境に読み替えてください)

https://mautic.example.com/mautic/

「Ready to Install!」が表示されていることを確認し、「Next Step」をクリックします。

Mauticの初期設定画面

データーベースの設定です。先ほど作成した Mautic用のデータベース(mautic)とユーザー(mautic) およびパスワードを入力して「Next Step」をクリックします。

Mauticのデーターベース設定

管理ユーザーの設定です。ユーザー名やメールアドレスなどを入力して「Next Step」をクリックします。

Mauticの管理ユーザーの設定

メールサーバーの設定です。後ほど設定しますので、そのまま「Next Step」をクリックしてください。

Mauticのメールサーバーの設定

以上で初期設定完了です。管理ユーザーでログインしてください。

Mauticのログイン画面

基本言語の設定

基本言語を日本語に設定します。

右上の歯車マークをクリックして「Configuration」を選択します。

MauticのConfigurationメニュー

Default timezone を「Asia Tokyo」、Default language を「Japanese」に変更してページ右上の「Apply」をクリックします。

Mauticの基本言語の設定

一度ログアウトして、再度ログインするとメニューなどが日本語で表示されるようになります。

Mauticの基本言語の設定

IPルックアップデータベースのダウンロード

IPアドレスから地域情報を推定するための IPルックアップデータベースをダウンロードします。

GeoLite2 のライセンスキーの取得

デフォルトで設定されている MaxMind の GeoLite2 という無料のIPルックアップデータベースを使う場合は、ライセンスキーの取得が必要になります。

以下のページから GeoLite2 のユーザーアカウントを作成してください。

GeoLite2 Sign Up | MaxMind

作成したユーザーアカウントで GeoLite2 の管理画面にログインし、左メニューの「My License Key」をクリックすれば、GeoLite2 のライセンスキーを取得できます。

ライセンスキーを作成する時に、古い GeoIP Update を使いますか? と聞かれた場合は「No」を選択してから「Confirm」ボタンをクリックしてください。

GeoLite2のライセンスキーの作成画面

表示されたライセンスキーをメモしておきます。(再度表示することはできませんので注意してください)

GeoLite2ののラインセンスキー

ライセンスキーの登録とダウンロード

Mautic の管理画面に戻って、右上の歯車マークをクリックして「設定」を選択します。

Mauticの設定メニュー

下にスクロールして「IPルックアップサービス承認」に、先ほどメモしたライセンスキーを入力し、「取得IPルックアップデータストア」をクリックします。

取得IPルックアップデータストアをクリック

「成功」と表示されたら、画面右上の「適用」ボタンをクリックします。

取得IPルックアップデータストアの成功

メール送信設定

マーケティングオートメーションツールには色々な機能があるのですが、そのなかでも特に重要な機能がメール送信機能です。コンタクトと呼ばれるデーターベースに登録した見込み客にメールを配信することで、見込み客とコミュニケーションを図りWeb上の行動を把握することができます。

今回は、メール配信サービスの定番 SendGrid の API を使ってメール送信設定を行います。(月間12,000通までは無料でメールを送信できます)

SendGrid の APIキーの取得

以下のページから SendGrid のユーザーアカウントを作成します。

New Account | SendGrid

作成したユーザーアカウントで SendGrid の管理画面にログインしたら、左メニューから「Settings」→「API Keys」を選択し「Create API Key」をクリックします。

API Key Name に適当な名前を入力し「Create & View」をクリックすれば APIキーが作成されます。(API Key Permissions は「Full Access」のままにしてください)

SendGridのAPIキー作成画面

APIキーが表示されますので、メモしておきます。(再度表示することはできませんので注意してください)

SendGridのAPIキー

メール送信設定

Mautic の管理画面に戻って、右上の歯車マークをクリックして「設定」を選択します。

Mauticの設定メニュー

左メニューの「メール設定」をクリックして「メール送信に利用するサービス」を「Sendgrid - API」に変更し、APIキーに先ほどメモした SendGrid の APIキーを入力したら「接続テスト」をクリックします。

Mauticのメール送信設定画面

「成功」と表示されたら、画面右上の「適用」ボタンをクリックします。

Mauticのメール送信設定の成功

メール送信設定が終わったら「テストメールを送信」ボタンクリックして、管理ユーザーのメールアドレス宛にメールが送信されていることを確認しておきましょう。

cron ジョブの登録

Mautic では色々な処理を定期的に実行する必要があるため cron ジョブを登録します。

PHP のフルパスを確認します。

which php
/usr/bin/php ← PHPのフルパス

Mautic の cron ジョブ用スクリプトの場所を確認します。青字の部分はインストールした環境によって異なります。(Mautic バージョン2の場合は bin/console ではなく app/console になります)

ls -l /var/www/html/mautic/bin/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

0,15,30,45 * * * * apache /usr/bin/php /var/www/html/mautic/bin/console mautic:segments:update
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のWordPressプラグイン

おわりに

この記事では Mautic の基本的な設定までをご紹介しました。この後はコンタクトリスト(顧客名簿のようなものです)の登録や、スコアリングの設定、キャンペーンの作成、見込み客へのメール配信などを行っていきます。

実際にマーケティングオートメーションツールを会社などの組織に導入して継続して運用するには、その目的や目標、運用体制、ターゲットの設定、評価指標(KPI)などをしっかり設計することが必要です。

マーケティングオートメーションの運用設計については書籍「マーケティングオートメーション 最強の導入手法」がオススメです。マーケティングオートメーションツールの導入から活用方法、それを商談・受注につなげるまでの手法がわかりやすく解説されています。

コメント

タイトルとURLをコピーしました