オープンソースのマーケティングオートメーションを利用することは、SaaSベンダーにデータを明け渡すことを意味しません。Mauticを使えば、メールキャンペーン、コンタクト追跡、リードナーチャリングを自社環境で管理できます。Ubuntu 24.04で運用するには、HubSpotにサインインするよりも手間がかかりますが、その見返りとして、技術スタック、コスト、そして顧客データを完全にコントロールできる権利が得られます。アップデートのタイミング、スケーリングの方法、情報の保存場所はすべてあなたが決定します。
開始する前に、ドメインをサーバーに向けて設定し、Ubuntu 24.04インスタンスに少なくとも2 GBのRAMが割り当てられていることを確認してください。Mauticは軽量なアプリケーションではありません。大きなセグメントの再構築やキャンペーンロジックの処理を行う際、PHPはメモリを消費します。数千件のコンタクトに送信する予定がある場合は、4 GBあると動作が格段にスムーズになります。
LEMP基盤の構築
Mauticは、Nginx、MySQL、PHPからなるLEMPスタックを必要とします。Ubuntu 24.04では、デフォルトのPHPバージョンは8.3であり、これは現在のMauticリリースと良好に動作します。まずパッケージリストを更新し、次にNginxとMySQL Serverをインストールします。その後、PHP-FPMとMauticが必要とする以下の拡張機能をインストールしてください。
- php-fpm
- php-mysql
- php-imap
- php-curl
- php-gd
- php-xml
- php-mbstring
- php-zip
- php-intl
- php-bcmath
各拡張機能には重要な役割があります。IMAP拡張機能はバウンスメールや配信停止の返信を読み取ります。GDはサムネイル用の画像処理を処理します。MbstringとIntlは、文字セットや言語間の翻訳を管理します。BCMathは、リードスコアリングや通貨計算のための精密な計算を提供します。これらを一つでもスキップすると、インストーラーの途中でエラーが発生します。
もしApacheが既にインストールされている場合は、削除してください。両方のWebサーバーがポート80と443を使用しようとします。これらを併用すると、デバッグが困難なサイレントな失敗を引き起こします。apt remove apache2を実行した後にapt autoremoveを行うことで、この問題を完全に回避できます。
PHPとデータベースのチューニング
Mauticのインストーラーとバックグラウンドジョブはメモリを大量に消費します。/etc/php/8.3/fpm/php.iniにあるPHP-FPMの設定ファイルを開き、memory_limitを512 MBに引き上げます。コンタクトリストやアセットバンドルを制限なくインポートできるように、アップロードサイズを50 MBに設定してください。保存後、変更を適用するためにPHP-FPMを再起動します。あわせて、post_max_sizeもアップロード制限に合わせて増やしておいてください。そうしないと、upload_max_filesizeが正しく設定されていても、PHPが大きなマルチパートフォーム送信を拒否してしまいます。
次に、専用のMySQLデータベースとユーザーを作成します。データベース名は任意ですが、ユーザー名とパスワードはパスワードマネージャーで管理してください。Mauticは、すべてのコンタクトのアクション、キャンペーンの決定、メールの開封イベントをこれらのテーブルに保存します。そのため、単一目的の専用アカウントに広範な権限を与えないようにすることで、サーバー上の他の部分が侵害された際のリスクを最小限に抑えることができます。
Mauticとそのツールのインストール
最新の安定版Mauticをダウンロードし、/var/www/html/mauticに展開します。Webサーバーがキャッシュファイル、ログ、ローカルの設定更新を書き込めるよう、ディレクトリの所有者をwww-dataに設定します。Ubuntuでは、chown -R www-data:www-data /var/www/html/mauticを実行することを意味します。
また、サーバーにComposerとnpmをインストールしておく必要があります。ComposerはPHPの依存関係を解決します。事前ビルド済みのリリースアーカイブからデプロイする場合でも、後でマーケットプレイスのプラグインを追加したり、手動でアップデートを行ったりする際にComposerが必要になります。テーマをカスタマイズしたり、ソースからフロントエンドのアセットをビルドしたりする場合は、npmが重要になります。今これらのツールを準備しておくことで、プロジェクトが進展した際に慌てずに済みます。
Nginxの設定とセキュリティの強化
Nginxのバーチャルホストは、ルートディレクトリを/var/www/html/mauticに向け、index.phpをデフォルトのインデックスとして扱うように設定する必要があります。PHPのリクエストは、通常/run/php/php8.3-fpm.sockにあるPHP-FPMが開くUnixソケットにルーティングします。堅牢なサーバーブロックには、フロントコントローラーにフォールバックするtry_filesディレクティブと、ドットで始まる隠しファイルへのアクセスを拒否するlocationブロックを含めます。MauticにはApache用の.htaccessファイルが含まれていますが、Nginxはこれらを無視するため、バーチャルホスト内で明示的な拒否ルールを設定することで、ログや一時ディレクトリを非公開に保つことができます。
Webベースのインストーラーを実行する前に、TLS証明書を取得してください。CertbotのNginxプラグインを使用して、無料のLet's Encrypt証明書を取得し、HTTPトラフィックを自動的にHTTPSに書き換えます。Mauticはログイン資格情報やコンタクトデータを扱うため、平文で配信することに言い訳の余地はありません。
Cronジョブはエンジンの役割を果たす
このステップは妥協できません。スケジュールされたタスクがなければ、Mauticは何も行わないただのダッシュボードになってしまいます。アプリケーションはキャンペーンのアクション、メールの送信、セグメントの再計算をデータベースにキューとして蓄積し、それらを処理するためにコマンドラインに依存します。
これらのバックグラウンド業務を処理するために、Mauticユーザー用のcronジョブを設定してください:
- セグメントの更新
- キャンペーンの実行
- メールの送信
- バウンス(不達)情報の取得
実際には、Mauticのコンソールコマンドを異なる間隔で呼び出すことを意味します。セグメントの再構築は1時間ごとでも構いません。キャンペーンのトリガーとメールキューの処理は、通常、ボリュームに応じて5分から15分間隔といった、より短い間隔での実行が必要です。IMAP経由のバウンス取得は、未確認のスパム報告によって送信者レピュテーション(評判)が損なわれないよう、十分に定期的に実行する必要があります。メモリ不足のエラーが発生せずに完了していることを確認するために、syslogまたはcronの出力を監視してください。
プラットフォームの使用方法
インストーラーが完了し、cronが正常に動作し始めたら、ダッシュボードにログインしてください。インターフェースは、コンタクト(連絡先)、セグメント、キャンペーンという3つの構成要素を中心に設計されています。
ドラッグ&ドロップ式のキャンペーンビルダーを使用して、メールのワークフローを設計します。新しい購読者がフローに入り、1日待機した後、ウェルカムメッセージを受け取り、リンクをクリックしたかどうかに基づいて分岐します。その一方で、Pointsシステムは、リードが価格ページを訪問したり製品のお知らせを開いたりした際に、静かにスコアリングを行います。営業電話をかける価値のある「ホットリード」を示すしきい値は、あなたが決定します。
セグメントは、定義したルールに従ってコンタクトを自動的にグループ化します。例えば、過去30日間にキャンペーンを開封した全員をセグメント化したり、特定の国のコンタクトを抽出したりできます。ランディングページにあるフォームは、これらのセグメントに直接データを送ります。これらの要素を連携させることで、リスト全体に同じメッセージを一斉送信するのではなく、ユーザーの行動に反応する自動ナーチャリング・シーケンスが構築できます。
デプロイ後の本当の作業
Ubuntu 24.04上にMauticを立ち上げるのは、始まりに過ぎません。アップデートを行う前には、必ずデータベースと /var/www/html/mautic ディレクトリのバックアップを取ってください。新しいプラグインをインストールする際は、PHPのエラーログを監視してください。コンタクトリストの規模が拡大した後は、cronの出力をテストしてください。1,000件のコンタクトでは数秒で終わるジョブが、50,000件になるとタイムアウトする可能性があるためです。
セルフホスティングは、管理型のSaaSの利便性と引き換えに、マーケティングデータに対する主権を手に入れるものです。ベンダーロックインはなく、コンタクト数に応じた予期せぬ料金の変動もなく、サードパーティにアナリティクスを人質に取られることもありません。サーバー、データベース、そしてオーディエンスとの関係性は、すべてあなたのものです。Linuxサーバーの管理といくつかのcron設定を運用できるチームにとって、このトレードオフは通常、それだけの価値があります。
