MatomoをDockerでセットアップしてサイトアクセス解析を行う

Matomoはオープンソースのウェブサイト統計ツールで、Piwikとして知られていた時代もありました。このツールは訪問者の詳細なログやプロフェッショナルなレポートを生成できます。例えば、地理ベースのグローバルヒートマップ、リアルタイムの訪問状況、クリック分析、ページ遷移率、リファラ情報、ブラウザやデバイス情報、キーワード分析などが可能です。

実装手順

まず、以下のディレクトリに移動します。

cd /www/server/panel/data/compose/matomo

Dockerを使用してMatomoを起動します。

docker-compose up

データベースの設定を行います。

  1. データベースサーバー: 「mariadb」を入力
  2. ログインユーザー名: 「root」を入力
  3. パスワード: 空欄のまま
  4. データベース名: 「matomodb」を入力

トラッキングコードの例

以下は、トラッキング用のJavaScriptコードです。

<!-- Matomo トラッキングコード -->
<script>
  var tracker = window.tracker = window.tracker || [];
  tracker.push(['trackPageView']);
  tracker.push(['enableLinkTracking']);
  (function() {
    var url = "//yourdomain.com/";
    tracker.push(['setTrackerUrl', url + 'matomo.php']);
    tracker.push(['setSiteId', '1']);
    var d = document, s = d.createElement('script'), f = d.getElementsByTagName('script')[0];
    s.async = true; s.src = url + 'matomo.js'; f.parentNode.insertBefore(s, f);
  })();
</script>
<noscript><p><img src="//yourdomain.com/matomo.php?idsite=1&rec=1" style="border:0;" alt="" /></p></noscript>
<!-- トラッキングコード終了 -->

Firewallのポート8597を開く必要があります。

セキュリティエラー対策

HTTPS接続が必須の場合、次のようなエラーが発生することがあります。

Error: The form security failed because of invalid origin. If you previously connected using HTTPS, please ensure you are connecting over a secure (SSL/TLS) connection and try again.

これを解決するには、config.ini.phpに次の行を追加します。

; プロキシ環境での設定
[General]
assume_secure_protocol = 1

; 標準的なプロキシを使用している場合、以下の行をアンコメント
proxy_client_headers[] = HTTP_X_FORWARDED_FOR
proxy_host_headers[] = HTTP_X_FORWARDED_HOST

UI言語の設定

Matomoにログインし、右上のギアアイコンをクリックして設定画面に入ります。「Personal」→「Settings」で言語を日本語に変更できます。

IPアドレス関連の問題

代理サーバー経由の場合、正しいIPアドレスが取得できないことがあります。この場合は上記のプロキシ設定を有効にしてください。

高度な機能

さらに詳しいIP情報が必要な場合は、IP Geolocationデータベースを設定することで改善できます。

  • IP Geolocationデータベースの導入
  • Matomoプラグインを使用した地域分析精度の向上

タグ: Matomo Docker MariaDB

10月1日 07:24 投稿