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にアクセスすると、ログイン画面に遷移します。
local.phpで設定したadmin_username(またはadmin_email)、admin_passwordを入力し、loginボタンを押します。
ダッシュボードが表示されれば成功です。
おわりに
お疲れさまでした。これでMauticのインストールは完了です。
次回は設定値のご紹介をしたいと思います。
本番環境用のDockerイメージの作成方法、開発用のパッケージのインストール方法も、またの機会にご紹介できればと思います。