Mautic 5.x のインストール方法

今回はMautic5.xをWardenを使ったローカル環境にインストールする方法をご紹介します。

本番環境等では自前のDockerイメージを使った構成をとるのが良いかと思われますが、今回はローカルで手軽にインストールする方法としてWardenを使用します。

Mauticとは

Mauticとは、オープンソースのマーケティングオートメーションソフトウェアです。
リード管理やキャンペーン等の作成、ソーシャルメディアの管理等、マーケティングにかかわる様々な機能を自動化し管理できます。

インストールの前に

前提として、「Wardenが使用できる環境」を用意する必要があります。
Wardenが使用できる環境の構築方法は、こちらの記事をご参照ください。

Wardenプロジェクトを立ち上げる

Wardenプロジェクトの初期化

まず、Wardenプロジェクトを初期化します。

warden env-init mautic symfony

ここで、「mautic」はプロジェクト名を示します。自由に変えても大丈夫です。

「symfony」はWardenにタイプ:symfonyを使用するように指示しています。
MauticはSymfonyをベースに作られているので、タイプ:symfonyベースで構築します。

Wardenプロジェクトの設定

先ほどのコマンドを実行すると、.envファイルが生成されます。
以下のパラメータを変更・追記しましょう。

WARDEN_WEB_ROOT=/src
MYSQL_DISTRIBUTION_VERSION=10.2
NODE_VERSION=18
PHP_VERSION=8.1
MYSQL_ROOT_PASSWORD=root
MYSQL_DATABASE=mautic
MYSQL_USER=mautic
MYSQL_PASSWORD=mautic

ルートディレクトリ下にsrcディレクトリを作成しておきます。

PHPイメージのカスタム

Mauticのインストールにはphpの拡張機能「imap」が必要です。
Wardenのイメージには入っていないので追加します。

また、今回インストールするパッケージではdocrootフォルダがドキュメントルートになっているので、nginxの設定もします。

ルートディレクトリ下に.warden/warden-env.ymlを作成します。

version: "3.5"
services:
  php-fpm:
    build: ${PWD}/.warden/php
 nginx:
environment:
  - NGINX_PUBLIC=/docroot

.warden/php/Dockerfileを作成します。

FROM docker.io/wardenenv/php-fpm:8.1

USER root

RUN dnf install -y php-imap \
    && dnf clean all \
    && rm -rf /var/cache/dnf

COPY zz-override.ini /etc/php.d/
USER www-data

Mauticのインストール時にパフォーマンスの指摘を受けるので、zend.assertionsをオフにしておきます。
(プラグインを開発する際など、APP_ENV=devで作業する場合はオンのままでも良いですが、今回インストールするパッケージはProductionのものなので、オフにしておきます。)

.warden/php/zz-override.ini

[Assertion]
zend.assertions = -1

Wardenプロジェクト立ち上げ

Wardenプロジェクトの設定が完了したのでコンテナを立ち上げます。

warden env up

証明書を発行します。

warden sign-certificate mautic.test

Mauticのインストール

php-fpmのコンテナに入ります。

warden shell

composerでMauticをインストールします。

composer create-project mautic/recommended-project:^5 . --no-interaction

docroot/app/config下にlocal.phpを作成します。

<?php
$parameters = array(
    'db_host' => 'db',
    'db_table_prefix' => null,
    'db_port' => 3306,
    'db_name' => 'mautic',
    'db_user' => 'mautic',
    'db_password' => 'mautic',
    'db_backup_tables' => false,
    'db_backup_prefix' => 'bak_',
    'admin_email' => 'mautic@example.com',
    'admin_username' => 'mautic',
    'admin_password' => 'mautic',
    'mailer_transport' => null,
    'mailer_host' => null,
    'mailer_port' => null,
    'mailer_user' => null,
    'mailer_password' => null,
    'mailer_api_key' => null,
    'mailer_encryption' => null,
  'mailer_auth_mode' => null
);

bin/consoleに実行権限がないので、権限を付与します。

chmod +x bin/console

インストールコマンドを実行します。

bin/console mautic:install https://app.mautic.test

urlはプロジェクト名に合わせて変更してください。

管理画面へのログイン

インストールが完了したら、管理画面を表示してみましょう。

https://app.mautic.testにアクセスすると、ログイン画面に遷移します。

mautic-login

local.phpで設定したadmin_username(またはadmin_email)、admin_passwordを入力し、loginボタンを押します。

ダッシュボードが表示されれば成功です。

mautic-dashboard

おわりに

お疲れさまでした。これでMauticのインストールは完了です。

次回は設定値のご紹介をしたいと思います。

本番環境用のDockerイメージの作成方法、開発用のパッケージのインストール方法も、またの機会にご紹介できればと思います。