基础环境 系统环境:
操作系统:CentOS Stream 9
软件环境:
Docker、Docker Compose
安装Docker (1)安装 yum-utils 软件包(提供 yum-config-manager 实用程序)并设置存储库。
1 2 3 4 # 安装 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。
1 2 yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
(3)修改Docker的数据目录为“/data/dockerData”,并重启docker服务使配置生效。
1 2 3 4 5 6 7 8 9 10 11 # 创建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服务,并设置为开机自启动。
1 2 3 4 5 6 # 启动Docker服务 systemctl start docker # 设置Docker为开机自启动 systemctl enable docker # 查看Docker服务状态 systemctl status docker
部署并配置Matomo 部署Matomo (1)创建script目录存放yml文件,编排部署Matomo。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 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 容器。
1 2 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容器。
1 2 3 4 5 6 [log] log_writers[] = file log_level = INFO # 重启app容器 docker restart matomo-app
(6)启用插件TagManager 、DBStats。