基础环境#
系统环境:
操作系统: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。