基本環境#
システム環境:
オペレーティングシステム:CentOS Stream 9
ソフトウェア環境:
Docker、Docker Compose
Docker のインストール#
(1)yum-utils パッケージをインストールし(yum-config-manager ユーティリティを提供)、リポジトリを設定します。
# yum-utilsパッケージをインストール
yum install -y yum-utils
# docker-ceリポジトリを設定
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
(2)最新の docker と docker compose をインストールします。
yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
(3)Docker のデータディレクトリを「/data/dockerData」に変更し、docker サービスを再起動して設定を有効にします。
# Dockerデーモン設定ファイルを作成
# 設定ファイル/etc/docker/daemon.jsonを編集し、dockerデータディレクトリを設定
vi /etc/docker/daemon.json
**************************daemon.json**************************
{
"data-root": "/data/dockerData"
}
**************************daemon.json**************************
# dockerサービスを再起動し、設定を有効にする
[root@Book-ELK-VM-113 data]# systemctl restart docker
(4)Docker サービスを起動し、自動起動を設定します。
# Dockerサービスを起動
systemctl start docker
# Dockerを自動起動に設定
systemctl enable docker
# Dockerサービスの状態を確認
systemctl status docker
Matomo のデプロイと設定#
Matomo のデプロイ#
(1)yml ファイルを格納する script ディレクトリを作成し、Matomo のデプロイを編成します。
mkdir /data/script
vi /data/script/matomo.yml
**************************matomo.yml**************************
services:
matomo-sql:
# MySQLデータベースイメージを使用
image: mysql:latest
# コンテナ名
container_name: matomo-sql
# コンテナ再起動ポリシー:コンテナが停止した場合、常に再起動
restart: always
# 環境変数を設定
environment:
# データベース名を設定
- MYSQL_DATABASE=matomo
# データベースユーザー名を設定
- MYSQL_USER=matomo
# データベースユーザーパスワードを設定
- MYSQL_PASSWORD=matomo
# データベースrootユーザーパスワードを設定
- MYSQL_ROOT_PASSWORD=matomo
# タイムゾーンを設定
- TZ=Asia/Shanghai
# 公開ポート番号のマッピング、MySQLの3306ポートをホストにマッピング
ports:
- "3306:3306"
# ホストのディレクトリをコンテナのMySQLデータディレクトリにマウント
volumes:
- /data/database/matomo-sql:/var/lib/mysql
# rootユーザー権限でコンテナを実行
user: "0"
# ネットワーク設定
networks:
# カスタムネットワーク'net'を使用
net:
# コンテナに固定のIPv4アドレスを割り当て
ipv4_address: 172.18.0.10
matomo-app:
# Matomoアプリケーションイメージを使用
image: matomo:latest
# コンテナ名
container_name: matomo-app
# コンテナ再起動ポリシー:コンテナが停止した場合、常に再起動
restart: always
# MySQLデータベースサービスにリンク
links:
- matomo-sql
# ホストのディレクトリをMatomoアプリケーションディレクトリにマウント
volumes:
- /data/matomo:/var/www/html
# 環境変数を設定
environment:
# タイムゾーンを設定
- TZ=Asia/Shanghai
# データベースホスト名を'matomo-sql'に指定
- MATOMO_DATABASE_HOST=matomo-sql
# PHPメモリ制限を設定
- PHP_MEMORY_LIMIT=2048M
# データベースアダプターをMySQLに指定
- MATOMO_DATABASE_ADAPTER=mysql
# データベーステーブル名のプレフィックスを設定
- MATOMO_DATABASE_TABLES_PREFIX=matomo_
# データベースユーザー名を指定
- MATOMO_DATABASE_USERNAME=matomo
# データベースユーザーパスワードを指定
- MATOMO_DATABASE_PASSWORD=matomo
# データベース名を指定
- MATOMO_DATABASE_DBNAME=matomo
# rootユーザー権限でコンテナを実行
user: "0"
# コンテナポートマッピング、Matomoの80ポートをホストにマッピング
ports:
- "80:80"
# ネットワーク設定
networks:
# カスタムネットワーク'net'を使用
net:
# コンテナに固定のIPv4アドレスを割り当て
ipv4_address: 172.18.0.11
# カスタムネットワーク設定
networks:
# カスタムネットワーク'net'を定義
net:
# ブリッジネットワークドライバーを使用
driver: bridge
# IPアドレス管理設定
ipam:
config:
# カスタムネットワークのサブネットを設定
- subnet: 172.18.0.0/24
**************************matomo.yml**************************
(2)Docker Compose を実行してコンテナを作成し、現在実行中の Docker コンテナを確認します。
docker compose -f /data/script/matomo.yml up -d
docker ps
Matomo の設定#
(1)ブラウザでhttp://本機ip
にアクセスし、ガイドに従ってインストールします。
(2)ウィザードの「3. データベース設定」画面でデータベース設定情報を確認し、変更します。この「データベースサーバー」の名前にはデータベースコンテナ名を入力します。
(3)ウィザードの「5. スーパーユーザー」画面で、スーパーユーザーのユーザー名、パスワード、および電子メールを作成します。
(4)ウィザードの「6. ウェブサイトの設定」画面で、Matomo で追跡・分析したいサイトを設定します。
(5)ウィザードの「7.JavaScript トラッキングコード」画面で、コードスニペットをコピーし、ウェブサイトの各ページに追加して、サイトのトラフィックを追跡します。
(6)インストールが完了したら、matomo にログインし、「ダッシュボード」画面で【JAVASRCIPT コードでインストール】を選択し、トラッキングコードを確認します。
(7)メニューの「インストールをテスト」を選択し、ウェブサイトのトラフィックを監視できるかテストします。「トラッキングコードは正常にインストールされました!この画面は、ウェブサイトのデータが追跡されるとすぐに消えます。」という緑の文字が表示されたら、ウェブサイトのトラフィックは正常に追跡できます。
(8)メニューの「すべてのウェブサイト」を選択し、監視しているすべてのウェブサイトのレポートや総訪問数、訪問者、ページビュー、アクティブユーザー、収益などの要素を確認します。
オプション設定#
(1)「設定」アイコンを選択し、「個人」内の「設定」を選択して、デフォルトで読み込まれるレポートの日付を「今日」に変更します。
(2)「設定」アイコンを選択し、「プライバシー設定」内の「データの匿名化」で「訪問者の IP アドレスを隠す」のチェックを外します。
(3)「設定」アイコンを選択し、「ウェブサイト」内の「設定」で、新しいウェブサイトのデフォルトタイムゾーンを「中国 - 上海」、新しいウェブサイトのデフォルト通貨を「人民元 (¥)」に設定します。
(4)「設定」アイコンを選択し、「システム」内の「地理的位置」で、位置情報プロバイダーを「DBIP / GeolP 2 (Php)」に変更します。
(5)「設定」アイコンを選択し、「プラットフォーム」内の「マーケットプレイス」で、IP2Location、LogViewer、MarketingCampaignsReporting、Profile Gravatar プラグインをインストールします。LogViewer プラグインをインストールした後、ローカルで /data/matomo/config/ ディレクトリをマッピングし、global.ini.php の [log] モジュールを変更する必要があります。変更が完了したら、app コンテナを再起動します。
[log]
log_writers[] = file
log_level = INFO
# appコンテナを再起動
docker restart matomo-app
(6)プラグイン TagManager、DBStats を有効にします。