GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu18.04サーバーにMauticSelf-HostedEmailMarketingをインストールします

このチュートリアルでは、ApacheまたはNginxWebサーバーを使用してUbuntu18.04でMautic電子メールマーケティングプラットフォームをセットアップする方法を示します。 Mauticは、MailChimpのような商用メールサービスプロバイダーに代わる無料のオープンソースです。

Mauticの主な機能は次のとおりです

  • リードの育成と追跡
  • マーケティングキャンペーン
  • ドリップフロープログラム
  • ランディングページを作成する
  • APIを介して連絡先を自動的に広告します
  • ソーシャルメディアの監視
  • 無料のプラグインをインストールして、Mauticの機能を拡張します。
  • Mauticは、Gmail、Mandrill、Sendgrid、AmazonSESなどのサードパーティのSMTPリレーサービスと簡単に統合できます。独自のメールサーバーを使用することもできます。
  • Twilio、Pipedrive、Salesforce、Gmail、Facebook、Instagram、Twitter、GoToMeeting、Hubspot、SugarCRM、MailChimp、Zoho CRM、Zapierなどの多くの人気のあるサードパーティアプリと統合できます。
  • IMAPを介した自動バウンス処理。存在しないメールアドレスを手動で削除する必要はありません。
  • 複数のユーザーアカウントとロールをサポートします。
  • その他

セルフホスティングEメールマーケティングプラットフォームの利点

MailChimpのようなサードパーティのESP(Eメールサービスプロバイダー)を使用する代わりに、Eメールマーケティングプラットフォームをセルフホストしたいのはなぜですか?

手始めに、セルフホスティングはあなたにたくさんのお金を節約することができます。 Mauticは無料のオープンソースソフトウェアです。 VPS(仮想プライベートサーバー)に月額$26を支払うだけです 、フル機能のメールサーバーとMauticメールマーケティングプラットフォームを実行できます。何百万ものサブスクライバーを簡単に処理できます。したがって、サブスクライバーの数に関係なく、合計コストは常に月額$26です 。 MailChimpで数百万のサブスクライバーを所有している場合、コストは1か月あたり数千ドルになります。

もう1つの理由は、Firefoxブラウザがデフォルトでサードパーティのトラッカーをブロックすることです。 そのため、WebサイトのMailChimpサインアップウィジェットが正しく機能せず、MailChimpポップアップが訪問者に表示されません。独自のドメイン名でメールマーケティングプラットフォームをホストすることにより、Firefoxはトラッカーをブロックしないため、サインアップウィジェットまたはポップアップが正しく機能します。これは、他のWebブラウザのユーザーがサードパーティのトラッカーをブロックすることを決定した場合にも当てはまります。

Firefoxはサードパーティのトラッカーをブロックします

さらに、データベースからサブスクライバーの情報を操作したり、Cronジョブで自動化することもできます。たとえば、訪問者がサインアップフォームに情報を入力すると、タイプミスがよく見られます。 cronジョブを使用して、いくつかの一般的なタイプミスを自動的に修正します。

最後になりましたが、セルフホスティングは言論の自由を保護することができます。 Mailchimpのようにメールサービスプロバイダーがアカウントをシャットダウンすることを心配する必要はありません。

セルフホスティングEメールマーケティングプラットフォームの課題

あなたが直面する最初の問題は、優れた自己ホスト可能な電子メールマーケティングプラットフォームを見つけることです。以前、Ubuntu18.04サーバーでMailChimpのオープンソース代替手段であるMailtrainをセットアップする方法について説明しました。ただし、Mailtrainには、一般的なサイト所有者が望んでいるいくつかの機能がありません。

  • Mailtrainは、サインアップウィジェットやポップアップをWebサイトに挿入する簡単な方法をユーザーに提供していません。
  • ユーザーはRSSキャンペーンのタイムスケジュールを設定できません。
  • 連絡先の評価はありません。

結局のところ、Mailtrainはほんの一握りのソフトウェア開発者のプロジェクトです。

一方、Mauticは開発者チームのプロジェクトであり、長年にわたってますます多くの機能を開発してきました。 Mauticを使用してWebサイトにサインアップウィジェットとポップアップを挿入する簡単な方法があります。その周りには活気に満ちた非常に活発なコミュニティもあります。さらに、Mauticは単なるニュースレター/メールマーケティングプラットフォームではありません。彼らが言うところの本格的なデジタル体験プラットフォームです。 Acquia(Drupalオープンソースコンテンツ管理システムの有料サービスを提供する会社)が2019年5月にMauticを買収したことで、Mauticの未来はかつてないほど明るくなりました。ですから、MailtrainからMauticに切り替える時が来たと感じています。

2番目の課題は、独自のサーバーにEメールマーケティングプラットフォームをセットアップするための技術的な専門知識を持っていることです。心配しないでください。すぐにその方法を説明します。

3番目の課題は、メールサーバーのIPアドレスとドメイン名についても評判が良い必要があるということです。そうしないと、メールがスパムフォルダに届きます。 Gmail Postmaster Toolsは、ドメイン名とIPアドレスの評判が良いかどうかを表示します。下のスクリーンショットからわかるように、私は常にベストプラクティスに従ってサブスクライバーにメールを送信するため、Gmailで常に高いドメインレピュテーションを持っています。私の購読者は誰も私の電子メールをスパムとして報告しませんでした。

一括メールを送信するには、これらのルールまたは慣行に従う必要があります。

  1. 受信者からメール送信の許可が与えられていることを確認してください。ダブルオプトインを使用して、サブスクライバーのメールアドレスを確認します。
  2. これまでにメールを受信したことがない何千人もの人にコールドメールを送信しないでください。代わりに、IPアドレスをウォームアップする必要があります。たとえば、1日目に500通のメールを送信し、2日目に1000通のメールを送信し、3日目に2000通のメールを送信します。
  3. メールメッセージの下部に連絡先情報と郵送先住所を記載してください。
  4. メールメッセージを可能な限りパーソナライズします。たとえば、メールに受信者の名前を含めます。
  5. CAN-SPAM法に準拠
  6. 大きな添付ファイルは避けてください。
  7. メーリングリストをクリーンアップします。たとえば、過去30日間にメールを開いていないメールサブスクライバーを削除します。
  8. リターンパス認定送信者として承認されます。
  9. GlockAppsを使用してメールの配置をテストします。

Gmail、Yahoo、Hotmailの一括メールのベストプラクティスも確認することをお勧めします。それでは、MauticをUbuntu18.04サーバーにインストールする方法を見てみましょう。

Ubuntu18.04サーバーにMauticをインストールするための前提条件

独自のメールサーバーをまだお持ちでない場合は、無料のiRedMailプログラムを使用して、Mauticをインストールする前に独自のメールサーバーをすばやくセットアップすることをお勧めします。これにより、商用SMTPリレーサービスにお金をかける必要がなくなります。

MauticはPHPで記述されており、MySQL/MariaDBデータベースサーバーに依存しています。したがって、LAMPスタックまたはLEMPスタックを設定する必要があります。 Apache Webサーバーを使用する場合は、LAMPスタックを設定します。

  • Ubuntu18.04サーバー/デスクトップにLAMPスタックをインストールする方法

Nginx Webサーバーを使用する場合は、LEMPスタックを設定します。

  • Ubuntu 18.04 LTSにLEMPスタック(Nginx、MariaDB、PHP7.2)をインストールする方法

iRedMailは自動的にLEMPスタックをセットアップするため、iRedMailサーバーにMauticをインストールする場合は、LEMPスタックを再度セットアップする必要はありません。

ドメイン名も必要です。 NameCheapからドメイン名を登録しました。これは、価格が低く、whoisのプライバシー保護が無料で提供されるためです。面倒なことはせずに、MauticをUbuntu18.04サーバーにインストールしましょう。

ステップ1:MauticをUbuntu18.04サーバーにダウンロードする

サーバーで次のコマンドを実行して、最新の安定バージョンをダウンロードします。

wget https://github.com/mautic/mautic/releases/download/3.3.1/3.3.1-update.zip

unzipをインストールします ユーティリティを使用して、 / var / www / mautic /に解凍します。 ディレクトリ。

sudo apt install unzip

sudo mkdir -p /var/www/mautic/

sudo unzip 3.3.1-update.zip -d /var/www/mautic/

次に、Webサーバーユーザーを作成します( www-data )このディレクトリの所有者として。

sudo chown -R www-data:www-data /var/www/mautic/

ステップ2:Mautic用のMariaDBデータベースとユーザーを作成する

次に、MariaDBコンソールにログインして、Mauticのデータベースとユーザーを作成する必要があります。デフォルトでは、UbuntuのMaraiDBパッケージは unix_socketを使用します ユーザーログインを認証します。これは基本的に、OSのユーザー名とパスワードを使用してMariaDBコンソールにログインできることを意味します。したがって、次のコマンドを実行して、MariaDBのrootパスワードを指定せずにログインできます。

sudo mysql -u root

次に、次のコマンドを使用して、Mauticの新しいデータベースを作成します。このチュートリアルでは、 mauticという名前を付けています。 、データベースには任意の名前を使用できます。

CREATE DATABASE mautic DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

次のコマンドは、データベースユーザーとパスワードを作成すると同時に、新しいデータベースのすべての権限を新しいユーザーに付与して、後でMauticがデータベースに書き込むことができるようにします。赤いテキストをお好みのデータベース名、ユーザー名、パスワードに置き換えてください。

GRANT ALL ON mautic.* TO 'mauticuser'@'localhost' IDENTIFIED BY 'password';

特権テーブルをフラッシュして、MariaDBコンソールを終了します。

FLUSH PRIVILEGES;

EXIT;

ステップ3:必須および推奨のPHPモジュールをインストールします。

Ubuntu 18.04には、デフォルトのリポジトリにPHP7.2が付属しています。 MauticはPHP7.2をサポートしなくなりました。最高の互換性を得るには、PHP7.4PPAを追加してPHP7.4をインストールすることをお勧めします。

sudo add-apt-repository ppa:ondrej/php

次のコマンドを実行して、Mauticが必要または推奨するPHPモジュールをインストールします

sudo apt install php-imagick php7.4-common php7.4-gd php7.4-imap php7.4-json php7.4-curl php7.4-imap php7.4-zip php7.4-xml php7.4-mbstring php7.4-bz2 php7.4-intl php7.4-gmp

次に、Apacheを再起動します。 (Nginxを使用している場合は、Nginxを再起動する必要はありません。)

sudo systemctl restart apache2

ステップ4:Mautic用のApache仮想ホストまたはNginx構成ファイルを作成する

Apache

Apache Webサーバーを使用する場合は、Mauticの仮想ホストを作成します。

sudo nano /etc/apache2/sites-available/mautic.conf

次のテキストをファイルに入れます。 mautic.example.comを置き換えます 実際のドメイン名を使用して、DNSAレコードを設定することを忘れないでください。

<VirtualHost *:80>
  ServerName mautic.example.com
  DocumentRoot /var/www/mautic/

  ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log combined

  <Directory />
    Options FollowSymLinks
    AllowOverride All
  </Directory>

  <Directory /var/www/mautic/>
    Options FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
  </Directory>

</VirtualHost>

ファイルを保存して閉じます。次に、次のコマンドでこの仮想ホストを有効にします。

sudo a2ensite mautic.conf

変更を有効にするためにApacheをリロードします。

sudo systemctl reload apache2

これで、MauticのWebベースのインストールウィザードが http://mautic.example.com/installerで表示されるはずです。 。

Nginx

Nginx Webサーバーを使用する場合は、Mauticの仮想ホストを作成します。

sudo nano /etc/nginx/conf.d/mautic.conf

:MauticをiRedMailサーバーにインストールする場合は、 / etc / nginx / sites-enabled /の下に仮想ホストを作成する必要があります ディレクトリ。

sudo nano /etc/nginx/sites-enabled/mautic.conf

次のテキストをファイルに入れます。 mautic.example.comを置き換えます 実際のドメイン名を使用して、DNSAレコードを設定することを忘れないでください。また、MauticをiRedMailサーバーにインストールする場合は、Unixソケット(unix:/run/php/php7.4-fpm.sock)ではなくTCPソケット(127.0.0.1:9999)を使用する必要があることに注意してください。

server {
   listen 80;
   listen [::]:80;
   server_name mautic.example.com;

   root /var/www/mautic;
   error_log /var/log/nginx/mautic.error;
   access_log /var/log/nginx/mautic.access;
   client_max_body_size 20M;

   index index.php index.html index.htm index.nginx-debian.html;

   location / {
     # try to serve file directly, fallback to app.php
     try_files $uri /index.php$is_args$args;
   }

   location ~ /(mtc.js|1.js|mtracking.gif|.*\.gif|mtc) {
       # default_type "application/javascript";
       try_files $uri /index.php$is_args$args;
   }

   # redirect some entire folders
     rewrite ^/(vendor|translations|build)/.* /index.php break;

   location ~ \.php$ {
     include snippets/fastcgi-php.conf;
     fastcgi_pass unix:/run/php/php7.4-fpm.sock;
     #Note: If you install Mautic on iRedMail server, you should use the TCP socket instead.
     #fascgi_pass 127.0.0.1:9999
   }

   location ~* ^/index.php {
     # try_files $uri =404;
     fastcgi_split_path_info ^(.+\.php)(/.+)$;
     # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini

     fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
     #Note: If you install Mautic on iRedMail server, you should use the TCP socket instead.
     #fascgi_pass 127.0.0.1:9999
     fastcgi_index index.php;
     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
     include fastcgi_params;

     fastcgi_buffer_size 128k;
     fastcgi_buffers 256 16k;
     fastcgi_busy_buffers_size 256k;
     fastcgi_temp_file_write_size 256k;
   }

    # Deny everything else in /app folder except Assets folder in bundles
    location ~ /app/bundles/.*/Assets/ {
        allow all;
        access_log off;
    }
    location ~ /app/ { deny all; }

    # Deny everything else in /addons or /plugins folder except Assets folder in bundles
    location ~ /(addons|plugins)/.*/Assets/ {
        allow all;
        access_log off;
    }
    # location ~ /(addons|plugins)/ { deny all; }

    # Deny all php files in themes folder
      location ~* ^/themes/(.*)\.php {
        deny all;
    }

    # Don't log favicon
    location = /favicon.ico {
        log_not_found off;
        access_log off;
    }

    # Don't log robots
    location = /robots.txt  {
        access_log off;
        log_not_found off;
    }

    # Deny yml, twig, markdown, init file access
    location ~* /(.*)\.(?:markdown|md|twig|yaml|yml|ht|htaccess|ini)$ {
        deny all;
        access_log off;
        log_not_found off;
    }

     # Allow access to certbot directory in order to obtain TLS certificate
     location ~ /.well-known/acme-challenge {
        allow all;
     }
    # Deny all attempts to access hidden files/folders such as .htaccess, .htpasswd, .DS_Store (Mac), etc...
    location ~ /\. {
        deny all;
        access_log off;
        log_not_found off;
    }

    # Deny all grunt, composer files
    location ~* (Gruntfile|package|composer)\.(js|json)$ {
        deny all;
        access_log off;
        log_not_found off;
    }

    # Deny access to any files with a .php extension in the uploads directory
        location ~* /(?:uploads|files)/.*\.php$ {
                deny all;
    }

     # A long browser cache lifetime can speed up repeat visits to your page
  location ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ {
       access_log        off;
       log_not_found     off;
       expires           360d;
  }
}

ファイルを保存して閉じます。次に、Nginx構成をテストします。

sudo nginx -t

テストが成功した場合は、変更を有効にするためにNginxをリロードします。

sudo systemctl reload nginx

これで、MauticのWebベースのインストールウィザードが http://mautic.example.com/installerで表示されるはずです。 。

ステップ5:HTTPSを有効にする

HTTPトラフィックを暗号化するには、Let’sEncryptから発行された無料のTLS証明書をインストールしてHTTPSを有効にします。次のコマンドを実行して、Let’s Encryptクライアント(certbot)をUbuntu18.04サーバーにインストールします。

sudo apt install certbot

.well-known / acme-challenge /を確認してください ディレクトリが存在し、 www-data 所有者です。

sudo mkdir -p /var/www/mautic/.well-known/acme-challenge

sudo chown www-data:www-data /var/www/mautic/.well-known/acme-challenge

Nginxを使用する場合 、次に、CertbotNginxプラグインもインストールする必要があります。

sudo apt install python3-certbot-nginx

次に、次のコマンドを実行してTLS証明書を取得してインストールします。

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d mautic.example.com

Apacheを使用する場合 、CertbotApacheプラグインをインストールします。

sudo apt install python3-certbot-apache

そして、このコマンドを実行してTLS証明書を取得してインストールします。

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d mautic.example.com

どこ

  • -nginx :nginxプラグインを使用してください。
  • -apache :Apacheプラグインを使用してください。
  • -agree-tos :利用規約に同意します。
  • -リダイレクト :301リダイレクトでHTTPSを強制します。
  • -hsts :すべてのHTTP応答にStrict-Transport-Securityヘッダーを追加します。ドメインに常にTLSを使用するようにブラウザを強制します。 SSL/TLSストリッピングから防御します。
  • -staple-ocsp :OCSPステープリングを有効にします。有効なOCSP応答は、TLS中にサーバーが提供する証明書にホチキス止めされます。

これで、証明書が取得され、自動的にインストールされます。

次のエラーが発生した場合は、webrootプラグインを使用してTLS証明書を取得してみてください。

IMPORTANT NOTES:
 - The following errors were reported by the server:

   Domain: mautic.your-domain.com
   Type:   unauthorized
   Detail: Invalid response from
   http://mautic.your-domain.com/.well-known/acme-challenge/oPobDrRkFbimsOD5Jbcx2VQfbMh9Hv3VueNhKdyhbcg
   [xx.xx.xx.xx]: "<html>\r\n<head><title>404 Not
   Found</title></head>\r\n<body>\r\n<center><h1>404 Not
   Found</h1></center>\r\n<hr><center>nginx</center>\r\n"

   To fix these errors, please make sure that your domain name was
   entered correctly and the DNS A/AAAA record(s) for that domain
   contain(s) the right IP address.

Webrootプラグインを備えたNginxWebサーバー

sudo certbot --webroot -w /var/www/mautic -i nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d mautic.example.com

webrootプラグインを備えたApacheWebサーバー

sudo certbot --webroot -w /var/www/mautic -i -apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d mautic.example.com

ステップ6:WebブラウザでのMauticインストールの完了

ブラウザのアドレスバーに、Mauticのドメイン名を入力してWebインストールウィザードにアクセスします。

https://mautic.your-domain.com/installer

または

https://mautic.your-domain.com/index.php/installer

Next Stepをクリックします 。

手順1で、MariaDB/MySQLデータベースの詳細を入力します。

手順2で、管理者アカウントを作成します。

手順3で、メール設定を構成します。メーラートランスポートには多くのオプションがあることに注意してください。 PHP Mail、sendmail、またはGmailを使用するか、MauticをMandrill、Sendgrid、AmazonSESなどのサードパーティのメールサービスと統合できます。これらの設定は、Mautic構成ページにインストールした後にいつでも変更できます。 Mauticがメールサーバーにインストールされている場合は、 Sendmailを選択する必要があります メーラートランスポートとして、Mauticはメールサーバーを使用してメールを送信します。

Mauticとメールサーバーが異なるマシンで実行されていて、Mauticがメールサーバー経由でメールを送信するようにしたい場合は、その他のSMTPサーバーを選択する必要があります。 メーラー輸送として。

  • メールサーバーのホスト名を入力してください
  • ポート587を選択
  • TLSまたはSSL暗号化を選択します。
  • 認証モードをプレーンに選択
  • メールサーバーのメールアドレスのログインクレデンシャルを入力します。

手順3が完了したら、Mauticダッシュボードにログインできます。

500内部サーバーエラーが表示された場合は、 / var / www / mautic / app / logs /にあるMauticログを確認してください。 ディレクトリ。

ステップ7:HTTP2を有効にしてパフォーマンスを向上させる

HTTP2プロトコルを有効にして、Mauticのページ読み込みパフォーマンスを向上させることができます。

Apache

まず、HTTP2モジュールを有効にする必要があります。

sudo a2enmod http2

次に、SSL仮想ホストファイルを開きます。

sudo nano /etc/apache2/sites-enabled/mautic-le-ssl.conf

を開いた後に次のディレクティブを配置します タグ。

Protocols h2 http/1.1

ファイルを保存して閉じます。次に、変更を有効にするためにApacheを再起動します。

sudo systemctl restart apache2

Nginx

Nginx仮想ホストでHTTP2プロトコルを有効にするには、次の行を見つけます。

listen 443 ssl; # managed by Certbot

http2を追加するだけです sslの後 。

listen 443 ssl http2; # managed by Certbot

ファイルを保存して閉じます。次に、Nginxをリロードします。

sudo systemctl reload nginx

ステップ8:RSSToEmailプラグインをインストールする

多くのサイト所有者にとって、RSSフィードからコンテンツを自動的に取得してサブスクライバーに送信する機能は必須です。 Mauticはこの機能をネイティブでサポートしていませんが、プラグインをインストールしてこの機能を実装できます。プラグインの価格は9.95ドルです。 1回限りの支払いです。あなたは一生無料のアップデートを受け取ります。 https://mauticapps.com/にアクセスして購入してください。

お支払い後、プラグインをダウンロードできます。

次に、このプラグインを / var / www / mautic / plugins /にアップロードします ディレクトリ。

次に、Mauticプラグインディレクトリに移動します。

cd /var/www/mautic/plugins/

アーカイブを解凍します。

sudo unzip MauticRssToEmailBundle.zip

Mauticキャッシュをクリアします。

sudo -u www-data php7.4 /var/www/mautic/bin/console cache:clear

Mauticダッシュボードで、右上隅にある歯車のアイコンをクリックし、 pluginsを選択します。 。 プラグインのインストール/アップグレードをクリックします ボタンとMauticRSStoEmailプラグインがプラグインリストに表示されます。

ステップ9:cronジョブを追加する

Mauticは、Cronジョブを使用して、メーリングリストセグメント、電子メールマーケティングキャンペーン、キャンペーンイベントを更新し、電子メールキューを処理します。 www-dataユーザーのcrontabファイルを編集します。 (rootユーザーのcrontabファイルにMauticコマンドを追加しないでください。)

sudo -u www-data crontab -e

そして、以下のようなMauticCronジョブを追加します。

######  Mautic Cron Jobs #######

# update segments every 15 minutes
* * * * * php7.4 /var/www/mautic/app/console mautic:segments:update  > /dev/null 

# update campaigns every 15 minutes starting with an offset of 5 minutes at the beginning of each hour
5-59/15 * * * * php7.4 /var/www/mautic/app/console mautic:campaigns:update  > /dev/null 

# execute campaigns events every 15 minutes with an offset of 10 minutes
10-59/15 * * * * php7.4 /var/www/mautic/app/console mautic:campaigns:trigger  > /dev/null 

# process email queue
2-59/15 * * * * php7.4 /var/www/mautic/app/console mautic:emails:send  > /dev/null

# import list in the background
* * * * * php7.4 /var/www/mautic/app/console mautic:import  > /dev/null 

# fetch bounce messages
@hourly php7.4 /var/www/mautic/bin/console mautic:email:fetch

# update MaxMind GeoLite2 IP Database once a week
@weekly php7.4 /var/www/mautic/app/console mautic:iplookup:download  > /dev/null

ファイルを保存して閉じます。 Mautic cronジョブは、かなりの量のCPUおよびRAMリソースを使用する可能性があることに注意してください。 MauticとiRedMailが2GBのRAMを搭載したサーバーにインストールされている場合は、サーバーに追加のプログラムを展開しないでください。または、サーバーの仕様をアップグレードすることを選択できます。

ステップ10:IPルックアップデータベースをダウンロードする

加入者のジオロケーションを知るには、MaxMindの無料のGeoLite2IPルックアップデータベースをダウンロードする必要があります。

まず、MaxMindでアカウントを作成する必要があります。 Maxmindからメールが届きます。メール内のリンクをクリックしてパスワードを設定し、MaxMindアカウントにログインします。次に、 My License Keyを選択します 左側のバーにあります。

新しいライセンスキーの生成をクリックします ボタン。

ライセンスキーに名前を付けます。次に、 Noを選択します 、 geoipupdateを使用する必要がないため プログラム。次に、確認をクリックします ボタン。

ライセンスキーが作成されたら、ライセンスキーをコピーします。 Mauticダッシュボードに移動し、右上隅の歯車アイコンをクリックして、 configurationを選択します。 。 システム設定 タブをクリックし、その他の設定まで下にスクロールします 。

  • Maxmind GeoLite2 City Downloadを選択します IPルックアップサービスの場合
  • ライセンスキーをIPルックアップサービス認証に貼り付けます フィールド。

次に、[IPルックアップデータストアの取得]をクリックします ボタン。最後に、適用をクリックします 右上隅のボタン。

ステップ11:トラッキングJavaScriptをインストールする

追跡設定 タブをクリックすると、訪問者を追跡するためにWebサイトに追加できるコードスニペットを見つけることができます。 WordPressを使用している場合は、このコードスニペットをコピーして、 footer.phpに貼り付けます。 WordPressテーマフォルダの下のファイル。

システム設定に移動する必要があることに注意してください タブをクリックし、トラッキングJavaScriptが機能するようにCORS設定にウェブサイトのアドレスを追加します。

その間、このページでデフォルトのタイムゾーンも設定する必要があります。

適用をクリックします ボタン。注:タイムゾーン設定が有効になるまで、しばらく待つ必要があることがわかりました。タイムゾーン設定をすぐに有効にするには、次のコマンドを使用してMauticキャッシュをクリアできます。

sudo rm /var/www/mautic/app/cache/* -rf

連絡先をMauticにインポートする

Mauticの連絡先のインポートページを確認してください。 CSVファイルから連絡先をインポートする場合、連絡先の所有者、連絡先セグメントを選択できます 、およびタグ。 CSVファイルの列を既存のMautic連絡先フィールドと照合することもできます。

大きなリスト(1,000を超える連絡先)をMauticにインポートする場合は、ブラウザにインポートするのではなく、バックグラウンドでインポートを選択する必要があることに注意してください。これは、デフォルトのPHPの最大実行時間が30秒であるためですが、大きなリストのインポートには数分かかる場合があるため、ブラウザにインポートすることを選択した場合、PHPの制限によって停止されます。

インポートプロセスが進行していないように見える場合は、コマンドラインからインポートしてみてください。進歩していない理由がわかるかもしれません。

sudo -u www-data php7.4 /var/www/mautic/bin/console mautic:import

CSVファイルの列に含まれる文字が多すぎないようにする必要があります(170文字以下だと思います)。そうしないと、インポートが失敗し、「データベースエラーが発生しました:EntityManagerが閉じられました」というエラーがコマンドラインに表示されます。 。

最新の安定バージョンに更新する方法

新しいバージョンのMauticがリリースされると、Mauticダッシュボードに通知が表示されます(ベルのアイコンをクリックします)。

次に、今すぐ更新をクリックします リンク。以下のページが表示されます。

:Mautic 3にアップグレードしようとしているが、次のエラーが表示される場合は、MariaDBのバージョンをアップグレードする必要があります。 MariaDB10.5をUbuntuにインストールできます。

Mauticをアップグレードする前に、ファイルとデータベースをバックアップすることをお勧めします。 Mauticファイルをバックアップするには、次のコマンドを実行するだけで、 / var / www / mautic /がバックアップされます。 ディレクトリをホームディレクトリに移動します。

sudo tar -cpvzf ~/mautic.tar.gz /var/www/mautic/

Mauticデータベースをバックアップするには、次のコマンドを実行します。これにより、データベースがホームディレクトリにバックアップされます。

sudo mysqldump -u root mautic > ~/mautic.sql

次に、[今すぐ更新]をクリックします ボタンをクリックしてMauticを更新すると、進行状況が表示されます。

更新プロセスが途中で停止または失敗した場合は、この記事を確認してください。

コマンドラインからMauticを更新

Webベースのアップデーターが失敗した場合は、コマンドラインでエラーを確認して問題のトラブルシューティングを行うことができるため、コマンドラインからMauticを更新してみてください。

Mauticwebrootディレクトリに移動します。

cd /var/www/mautic/

次に、次のコマンドを実行して、利用可能なアップデートがあるかどうかを確認します。

sudo -u www-data php7.4 app/console mautic:update:find

更新が利用可能な場合は、次のコマンドを実行して更新を適用します。

sudo -u www-data php7.4 app/console mautic:update:apply

質問された場合:

Are you sure you wish to update Mautic to the latest version?

yesと入力します Enterを押します 。

更新中に、次のエラーが発生しました。

PHP Warning: Use of undefined constant PHPEXCEL_ROOT - assumed 'PHPEXCEL_ROOT' (this will throw an Error in a future version of PHP) in /var/www/mautic/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/ZipArchive.php on line 31
PHP Warning: require_once(PHPEXCEL_ROOTPHPExcel/Shared/PCLZip/pclzip.lib.php): failed to open stream: No such file or directory in /var/www/mautic/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/ZipArchive.php on line 31
PHP Fatal error: require_once(): Failed opening required 'PHPEXCEL_ROOTPHPExcel/Shared/PCLZip/pclzip.lib.php' (include_path='.:/usr/share/php') in /var/www/mautic/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/ZipArchive.php on line 31

ご覧のとおり、このエラーは未定義の定数PHPEXCEL_ROOTが原因で発生します。このエラーを修正するには、定数を定義する必要があります。

sudo nano /var/www/mautic/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/ZipArchive.php

次の行を見つけてください

require_once PHPEXCEL_ROOT . 'PHPExcel/Shared/PCLZip/pclzip.lib.php';

そして、PHPEXCEL_ROOT定数を境界線より上に定義します。

define("PHPEXCEL_ROOT", "/var/www/mautic/vendor/phpoffice/phpexcel/Classes/");
require_once PHPEXCEL_ROOT . 'PHPExcel/Shared/PCLZip/pclzip.lib.php';

ファイルを保存して閉じます。次に、updateコマンドを再度実行します。

sudo -u www-data php7.4 app/console mautic:update:apply

Mauticでメールを送信する方法

Mauticでは、次の3種類のメールキャンペーンを使用できます。

  • 自動キャンペーン(マーケティング自動化用)
  • 手動キャンペーン(セグメント全体に電子メールをブロードキャスト)
  • RSSキャンペーン(RSS to Emailプラグインをインストールした場合)

Mauticには、メーリングリストのような概念はありません。連絡先をインポートしてセグメントにグループ化する必要があります。

自動キャンペーンの作成方法(マーケティングオートメーション)

  1. 連絡先に移動します タブをクリックして、連絡先をMauticにインポートします。
  2. セグメントに移動します セグメントを作成するためのタブ
  3. 連絡先をセグメントに追加します。
  4. チャネルに移動します ->メール サブスクライバーに送信するテンプレートメールを作成します。
  5. キャンペーンに移動します タブでキャンペーンを作成します。キャンペーンビルダーを使用すると、自動キャンペーンを作成できます。キャンペーンにセグメントを割り当てます。
  6. キャンペーンを公開すれば完了です。メールが送信されるのを待ちます。

手動キャンペーン(ブロードキャストメール)の作成方法

チャンネルに移動します ->メール Newをクリックします ボタンをクリックして、新しいセグメントメールを作成します。

  • セグメントメール 手動で送信できます(ブロードキャスト)
  • テンプレートメール 手動で送信することはできません。自動化されたキャンペーンで使用されます。

セグメントの電子メールが作成されたら、送信ボタンをクリックして、電子メールをサブスクライバーにブロードキャストできます。

TwilioSMSマーケティングと統合する方法

Twilioを使用すると、WebサービスAPIを使用して、プログラムで電話をかけたり受けたり、テキストメッセージを送受信したりできます。 Twilio.comにアクセスしてアカウントを作成します(15.50ドルのトライアルクレジットを取得します)。次に、Mauticの設定に移動します ->プラグインプラグインのインストール/アップグレードをクリックします ボタン。 Twilioプラグインが表示されます。クリックして。次に

  • 公開ステータスを[いいえ]から[はい]に変更します。
  • TwilioアカウントのSIDを入力してください
  • Twilio認証トークンを入力してください
  • Twilioアカウントに移動します 試用版の電話番号を取得するには 、番号をコピーして送信電話番号に貼り付けます モーティックのフィールド。

保存して閉じるをクリックします ボタン。これで、キャンペーンビルダーでキャンペーンを作成する場合、SMSテキストメッセージを送信するオプションがあります。

そして、テキストメッセージという新しいアイテムがあります channelsの下 タブ。

Mauticに保存されている電話番号には、 +が必要です。 +44のような連絡先の国コードで署名します 。 +がない場合 署名すると、Mauticは自動的に米国の国コード(+1)を追加します。

SMSサブスクリプションの処理方法

ユーザーがSMSメッセージを受信したくない場合は、ユーザーがSMSキャンペーンの購読を解除できるようにする必要があります。これは、MauticSMSリーダープラグインを介して実現できます。このプラグインをインストールするには、

を実行します
cd /var/www/mautic/plugins/

sudo git clone https://github.com/nebev/mautic-sms-reader.git

sudo mv mautic-sms-reader SmsreaderBundle

Mauticアプリケーションのキャッシュをクリアします。

sudo -u www-data php7.4 /var/www/mautic/bin/console cache:clear

次に、Mauticの設定に移動します ->プラグインプラグインのインストール/アップグレードをクリックします ボタン。 Smsreader プラグインが表示されます。次に、ログアウトして再度ログインします。 Twilio SMS Readerが表示されます。 [設定]のメニュー項目。 Enter your Twilio Account SID and the unsubscribe/re-subscribe keywords.

Automatic Bounce Handling

You can use the Monitored Inbox feature in Mautic to automatically remove email address from Mautic. Go to Mautic configuration -> Email settings -> Monitored Inbox 。 Enter your mailbox login credentials, then test connection and fetch folders.

Once the connection is successful, you can select the folder to monitor for bounce messages. Note that you need to create the folder as a sub-foler of the main inbox folder in your mailbox, otherwise you might see “the value is not valid ” error when selecting the folder to check. If you use the Roundcube webmail, you can go to the Roundcube settings -> Folders to create the sub folder (Inbox.bounces).

Then Mautic will allow you to choose the INBOX.bounces as the folder to check. Click the Save and close ボタン。 In Roundcube, you can create a filter to automatically put bounce messages into the Inbox.bounces folder. The filter rule is as follows:

  • Subject contains “Undelivered Mail Returned to Sender”
  • To contains “[email protected]”

Next, you can run the following command on your server, so Mautic can fetch the bounce messages from the mailbox.

sudo -u www-data php7.4 /var/www/mautic/bin/console mautic:email:fetch

This command is already in the Cron jobs, so you don’t have to run it manullay every day.

By default, bounced email addresses won’t be automatically remove from Mautic, but will be labeled as Do not Contact , so Mautic won’t send emails to those addreses. If you want to remove them, you can create a segment called bounced emails with the filter Bounce - Email equals Yes

Segment will be updated by Cron jobs.

Next, you can create a campaign in Mautic to automatically delete the contacts in the bounced email セグメント。

Mautic PHP Console Commands

The Mautic Cron jobs are several PHP console commands. There are also other commands you might find useful. List available commands with:

sudo -u www-data php7.4 /var/www/mautic/bin/console

For example, you can update Mautic from the command line.

sudo -u www-data php7.4 /var/www/mautic/bin/console mautic:update:find
sudo -u www-data php7.4 /var/www/mautic/bin/console mautic:update:apply

The console in a PHP web application is usually available as bin/console , app/console , or console.php 。 Not every PHP web application provides console commands. The available commands are not the same for different web applications. For instance, some allow you to create users and reset passwords, while others may not allow you to do so.


Ubuntu
  1. UbuntuにNFSサーバーをインストールする

  2. SSHサーバーUbuntu22.04をインストールします

  3. Ubuntu14.04サーバーにZimbra8.6をインストールする方法

  1. Ubuntu18.04にMySQLをインストールする方法

  2. Ubuntu18.04にMinecraftサーバーをインストールする方法

  3. Ubuntu20.04にNginxをインストールする方法

  1. Ubuntu20.04にMariaDBをインストールする方法

  2. Ubuntu20.04にMauticMarketingAutomationToolをインストールする方法

  3. Ubuntu16.04にMauticMarketingAutomationToolをインストールする方法