基礎環境#
系統環境:
操作系統: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)創建 script 目錄存放 yml 文件,編排部署 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,在 “儀表面板” 介面中,選擇【INSTALL WITH JAVASRCIPT 代碼】,查看追蹤代碼。
(7)選擇【TEST INSTALLATION】,測試是否能夠監控網站流量,當出現”The tracking code is installed successfully! This screen will disappear as soon as some data is tracked for your website.“的綠色字樣時,網站流量可正常追蹤。
(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。