01まず前提:共有レンタルサーバーでは動かない
最初につまずくのはここです。「WordPressが動いているサーバーがあるから、そこに入れよう」——これは失敗します。
Mautic公式は共有ホスティングを明確に非推奨とし、VPSまたは専用サーバーを求めています。理由は単純で、Mauticはcron(定期実行)とCLIコマンドを前提に設計されているからです。共有サーバーはcronの間隔・実行時間・メモリを厳しく制限することが多く、そこが制限されるとキャンペーンもセグメント更新もまったく動きません。画面は開くのに何も起きない、という一番タチの悪い壊れ方をします。
さらにインストーラー自体がmax_execution_timeを240秒以上求めます。多くの共有サーバーの既定値(30〜60秒)では、インストールの途中でタイムアウトします。
02動作要件(2026年7月時点)
Mauticはバージョンごとに対応PHPが変わります。PHPのバージョンを間違えると、そもそもインストーラーが進みません。公式の要件ページの内容を整理すると次のとおりです。
| Mauticバージョン | 対応PHP |
|---|---|
| 7.0 | 8.2 / 8.3 / 8.4 |
| 6.0 | 8.1 / 8.2 / 8.3 |
| 5.2 | 8.1 / 8.2 / 8.3 |
| 5.1 | 8.0 / 8.1 / 8.2 |
| 5.0 | 8.0 / 8.1 |
そのほかの要件は次のとおりです。
| 項目 | 要件 | つまずきポイント |
|---|---|---|
| データベース | MySQL 5.7以上(InnoDB必須)/MariaDB 10.2以上 | MyISAMのままだと動かない |
| PHP拡張 | xml mysql imap zip intl curl gd mbstring bcmath | imapとintlが未導入のサーバーが多い |
| Node/npm | 5.0以降はnpmが必要(アセット生成) | 「PHPアプリだからNodeは不要」という思い込み |
| Webサーバー | Apache 2.x+/Nginx 1.0+(1.8推奨)/IIS 7 | URL書き換え(mod_rewrite等)の設定が要る |
| PHP設定 | max_execution_time 240秒以上 | 既定値ではインストールが途中で落ちる |
| ホスティング | VPS/専用サーバー(共有は非推奨) | → 01参照 |
なお、Mautic 5.1以降は管理者パスワードに複雑さが必須になりました。簡単なパスワードを入れてインストールが弾かれるのは、この仕様によるものです。
03インストールの4つの道
要件を満たすサーバーを用意できたら、入れ方は大きく4通りです。
- 公式パッケージ(zip)+ブラウザインストーラー環境チェック → DB設定 → 管理者作成 → メール設定、と画面に沿って進む一番やさしい道。ただし入った後の運用(cron・更新)は全部自分。
- Composerプラグイン管理や更新をコード側で統制できる。開発者向け。バージョン固定や
patches/での改変管理をするならこちら。 - CLIインストール
php bin/console mautic:install [URL] --db_driver="pdo_mysql" ...の形。自動化・複数環境の払い出し向き。手作業を消したいならこれ。 - Docker公式イメージ(
mautic/mautic:5.2-apacheなど)を使う。環境差異を消せるが、cron・永続ボリューム・メール設定は結局自分で組む必要がある。
04つまずき所①:cron ─ これが最大の罠
Mautic運用で最も多くの人が最初に踏む地雷がここです。インストールが成功して画面が開いても、cronを設定しなければキャンペーンは1通も動きません。セグメントにも人が入りません。エラーも出ません。ただ、何も起きないだけです。
必須のcron
公式が必須としているのは次の3本(+カスタムフィールド用の1本)です。
| コマンド | 役割 | 推奨間隔 |
|---|---|---|
mautic:segments:update | セグメントの対象者を最新化 | 15分ごと |
mautic:campaigns:update | キャンペーンの対象者を更新 | 15分ごと(segmentsの5分後) |
mautic:campaigns:trigger | キャンペーンのアクションを実行 | 15分ごと(segmentsの10分後) |
mautic:custom-field:create-column | カスタムフィールドの列をDBに同期 | 随時 |
ずらす、というのは具体的にはこういう形です。
# セグメント更新(毎時 0,15,30,45分)
0,15,30,45 * * * * php /path/to/mautic/bin/console mautic:segments:update
# キャンペーン対象更新(5分ずらす)
5,20,35,50 * * * * php /path/to/mautic/bin/console mautic:campaigns:update
# キャンペーン実行(10分ずらす)
10,25,40,55 * * * * php /path/to/mautic/bin/console mautic:campaigns:trigger
既定のバッチサイズはセグメント/キャンペーン更新が300件、キャンペーン実行が100イベントです。件数が増えると1回の実行が15分に収まらなくなり、前の実行が終わる前に次が動き出すという別の事故が起きます。規模が育つほど、間隔とバッチの調整が要ります。
メールのキュー送信:5系でコマンドが変わっています
php bin/console messenger:consume email --time-limit=160
日本語のブログ記事の多くは、いまだに旧来の mautic:emails:send を紹介しています。5系の構成では、それは該当しません。古い手順をコピーして「キューに溜まったまま送られない」と悩む——これが非常に多いパターンです。
また、このコマンドは放っておくと動き続けるため、--time-limit・--memory-limit・--limit のいずれかで終了条件を必ず付けるのが公式の推奨です。付け忘れるとプロセスが残り続け、メモリを食い続けます。
状況に応じて要るcron
| コマンド | 必要になる状況 |
|---|---|
mautic:broadcasts:send | セグメントへの一斉配信(ブロードキャスト)を使うとき |
mautic:import | 大量のコンタクト/企業をバックグラウンドで取り込むとき |
mautic:webhooks:process | Webhookのバッチ処理を有効にしているとき |
mautic:iplookup:download | IP位置情報を使うとき(MaxMindは毎月第1火曜に更新=月次実行) |
mautic:maintenance:cleanup --days-old=365 --dry-run | 古いデータの掃除(まず--dry-runで確認) |
05つまずき所②:メールが届かない
cronが動き、キャンペーンが走り出すと、次の壁が来ます。送ったはずのメールが、迷惑メールに入る。あるいは届かない。
これはMauticの不具合ではなく、メール認証(SPF / DKIM / DMARC)の設定不足がほぼすべてです。特に、Amazon SESを使うとSPFは通るのにDMARCが落ちる「アライメントの罠」があり、ここは知らないとまず抜けられません。2024年からはGmail/Yahooの送信者要件も厳しくなり、認証が甘い送信は容赦なく弾かれます。
06つまずき所③:日本語が“直らない”
ここは、ネット上にほとんど正確な情報がない部分です。私たちはMautic 5.2.11の実ソースを実際に読んで確かめました。結論から言うと——日本語の言語パックを入れても、日本語対応は終わりません。
UIの訳自体は約95%進んでいます。問題は書式です。
| 項目 | 実際の挙動(5.2.11で実測) | 直すには |
|---|---|---|
| 氏名の順序 | 既定は「名 姓」(太郎 山田)。姓名順オプションを使っても「姓, 名」=カンマ入り(山田, 太郎)にしかならず、日本式の「山田 太郎」にならない。しかもロケールjaで自動的に切り替わらない | コード調整(難易度:中) |
| 日付 | 英語式が既定(July 12, 2026 3:45 pm JST) | 設定変更のみ(難易度:低) |
| 住所 | 番地から先に出る西洋順(address1 → address2 → 郵便番号…) | テンプレート上書き(難易度:中) |
| 日本語UI | イメージに同梱されるのはen_USのみ。jaはランタイムでダウンロードして導入する方式 | 導入すればOK(難易度:低) |
つまり、顧客に見せる画面で「太郎 山田」「July 12, 2026」と出続けるのが素のMauticです。日付は設定で直せますが、氏名はコードに手を入れないと直りません。そして手を入れれば、今度はアップグレードのたびに当て直す宿題を背負います。
07つまずき所④:アップグレード
Mauticは活発に更新されます。セキュリティ修正も出ます。放置は選択肢になりません——顧客のメールアドレスを預かっている以上、脆弱性を抱えたまま動かし続けるわけにはいかないからです。
しかし更新は、次の理由で「ボタンひとつ」になりません。
- PHPの対応バージョンが変わる(表のとおり、5.0系と7.0系では要求PHPが違う)=サーバー側の更新もセットになる
- 日本語化のためのコード改変が上書きされる=当て直しと再テストが要る
- 更新失敗時に戻せる状態(バックアップ)を先に作っておく必要がある
「入れて終わり」ではなく、年に数回、必ず手を入れる前提の運用だと理解しておくのが正解です。
08自前か、任せるか
ここまでの4つのつまずき所を、正直に並べます。自前でやるなら、これを全部引き受けるということです。
| やること | 難易度 | 終わりがあるか |
|---|---|---|
| VPS用意・要件を満たす環境構築 | 中 | あり(初回のみ) |
| cron設計(ずらし・バッチ調整) | 中 | なし(規模が育つと再調整) |
| メール認証(SPF/DKIM/DMARC) | 高 | なし(送信者要件は変わり続ける) |
| 日本語書式の手当て | 中〜高 | なし(更新のたび当て直し) |
| アップグレード・バックアップ | 中 | なし(年に数回) |
サーバー運用とメール認証を自分で回せる技術力と時間があるなら、自前は十分に合理的です。ライセンスは無料ですから、コストは自分の時間だけです。逆に、「MAで成果を出したい」のであって「サーバーを運用したい」わけではないなら、この5行は全部あなたの仕事ではありません。
つまずき所、ぜんぶこちらで。
構築・cron・到達率・日本語書式・アップグレード。Nurtoは、あなた専用のMautic環境をまるごとお預かりします。
事前登録する(公開時にご案内)よくある質問
Mauticは共有レンタルサーバーにインストールできますか?
公式が共有ホスティングを非推奨としており、VPSまたは専用サーバーが必要です。Mauticはcronとcronから呼ぶCLIコマンド、長時間実行(max_execution_timeで240秒以上)を前提にしているためで、これらを制限する共有サーバーではキャンペーンやセグメント更新が動きません。
Mautic 5に必要なPHPとデータベースのバージョンは?
Mautic 5.2はPHP 8.1・8.2・8.3に対応します(5.1は8.0〜8.2、6.0は8.1〜8.3、7.0は8.2〜8.4)。データベースはMySQL 5.7以上(InnoDB必須)またはMariaDB 10.2以上。PHP拡張はxml・mysql・imap・zip・intl・curl・gd・mbstring・bcmathが必要で、5.0以降はアセット生成にnpmも要ります。
Mauticのcronは何を設定すればいいですか?
必須は mautic:segments:update、mautic:campaigns:update、mautic:campaigns:trigger の3本と、カスタムフィールド列を同期する mautic:custom-field:create-column です。公式は各15分間隔かつ「同じ分に実行しない」よう5分・10分ずらすことを強く推奨しています。cronが無いとキャンペーンもセグメントも一切動きません。
Mautic 5でメールのキュー送信に使うコマンドは?
Mautic 5系ではSymfony Messengerベースになり、messenger:consume email --time-limit=160 を使います。ネット上の日本語記事の多くが古い mautic:emails:send を紹介していますが、5系の構成では該当しません。無限に実行され続けないよう --time-limit や --memory-limit の指定が推奨されます。
日本語の言語パックを入れれば日本語対応は完了しますか?
いいえ。UIの訳は約95%進んでいますが、書式は英語圏のままです。Mautic 5.2.11の実ソースを検証したところ、氏名は既定が「名 姓」で、姓名順オプションを使っても「姓, 名」とカンマが入り日本式になりません(しかもロケールjaで自動切替されません)。日付も英語式が既定、住所も番地から始まる西洋順です。日付は設定で直せますが、氏名はコード調整、住所はテンプレート上書きが必要です。
参考・出典
- Mautic 公式「Requirements」(対応PHP・DB・拡張・共有ホスティング非推奨)
https://www.mautic.org/download/requirements - Mautic 公式ドキュメント「How to install Mautic」(
max_execution_time240秒以上・CLIインストール・5.1以降のパスワード要件)
https://docs.mautic.org/en/5.x/getting_started/how_to_install_mautic.html - Mautic 公式ドキュメント「Cron jobs」(必須3本・15分間隔・ずらし推奨・バッチ既定値・
messenger:consume・状況別ジョブ)
https://docs.mautic.org/en/5.x/configuration/cron_jobs.html - 日本語書式の挙動は、Nurtoが
mautic/mautic:5.2-apache(実測5.2.11)のソースを直接検証(Lead.php::getName()/CoreBundle/Config/config.phpのdate_format_*/lead.html.twigの住所ブロック / 同梱翻訳はen_USのみ)。