概要
構築を行ったmatomo。Redmineでアクセス解析ができるように設定をしていきます。
前提
以下の環境で動作を確認しています。
- Redmine 4.2
- Matomo 4.13.1
手順
さっくりとした手順
以下、SSHクライアントで実施する作業です
- Redmineのベースファイルにトラッキングコードを追記します。
- Webサービスを再起動します。
※既存システムに変更を加えるため、設定ファイルのバックアップは必須です※
matomo 管理画面で実施する作業
matomoのWebサイトを構築/初期設定後、以下のようなJavaScriptトラッキングコードが表示されます。
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
スクリプト
})();
</script>
<!-- End Matomo Code -->
これを控えておきます。
Redmine稼働サーバで実施する作業
ベースファイルのバックアップを取ります。
sudo cp -pi /var/lib/redmine/app/views/layouts/base.html.erb /path/to/backup/directory/base.html.erb.$(date +%Y%m%d)
diff -u /var/lib/redmine/app/views/layouts/base.html.erb /path/to/backup/directory/base.html.erb.$(date +%Y%m%d)
# 差分が無いことでバックアップが取れていることを確認します。
ベースファイルにトラッキングコードを挿入します。
sudo vi /var/lib/redmine/app/views/layouts/base.html.erb
追記内容と位置
<!-- page specific tags -->
# この直下に、matomoが提供したトラッキングコードを貼り付け
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
スクリプト
})();
</script>
<!-- End Matomo Code -->
<%= yield :header_tags -%>
</head>
保存後、差分を確認します。
diff -u /path/to/backup/directory/base.html.erb.$(date +%Y%m%d) /var/lib/redmine/app/views/layouts/base.html.erb
<!-- page specific tags -->
+<!-- Matomo -->
+<script>
+ matomoが提供したトラッキングコード
+ })();
+</script>
+<!-- End Matomo Code -->
<%= yield :header_tags -%>
</head>
設定を反映します。
sudo systemctl restart apache2.service
aystemctl status apache2.service
# 自分が使っているWebサービスに合わせます
設定反映確認
- 設定を行ったRedmineサイトに数回アクセスをします。
- ページのソースを確認し、ヘッダ部分に追記したスクリプトがあることを確認します。
- matomo Web画面でアクセス解析が表示されていることを確認します。
以上で、設定は完了です。
おまけ
この手のJavaScriptを入れるため、格好のプラグイン「view_customize_plugin」を使えばSSHで作業する必要は無かったと思いますが、筆者の知見不足でその設定はうまくいきませんでした。
やってダメだった設定
- Redmineに管理者権限でログインします。
- 管理>表示のカスタマイズに移動します。
- 新しい表示のカスタマイズをクリックします。
以下の設定を行いました。
- パスのパターン:空白
- プロジェクトのパターン:空白
- 挿入位置:全ページのヘッダ
- 種別:JavaScript
- コード: matomoが提供したトラッキングコード
その後、作成をクリックするもヘッダに
})();
と追加されるのみでした。