原创

因PHP安全漏洞升级Matomo Docker容器记录

最近PHP公布了两个安全漏洞,编号为CVE-2026-109618和CVE-2026-109619。漏洞影响范围还挺广,目前,已知受漏洞影响的PHP产品版本包括:

  1. 8.2.35版本之前的8.2系列版本;
  2. 8.3.36版本之前的8.3系列版本;
  3. 8.4.27版本之前的8.4系列版本;
  4. 8.4.12版本之前的8.5系列版本;

我们的Matomo中的PHP版本查了一下是8.4.19,也在影响范围内,所以也需要升级一下,因为我们是通过docker部署的matomo,所以直接升级docker容器就可以了。

操作步骤

1.拉取最新matomo镜像

通过下面命令直接拉取最新的matomo镜像,镜像中已经将PHP升级到安全版本了:

docker pull matomo

拉取成功:

2.获取旧matomo容器配置

接下来需要获取旧容器的启动配置参数,如果历史记录和文档中没有了记录,一般可以通过下面命令获取容器的原始配置参数:

docker inspect matomo

执行命令后重点关注其中的挂载卷和对应端口:

  • 挂载卷:HostConfig.Bands(对应创建容器的-v命令)
  • 端口映射:HostConfig.PortBindings(对应创建容器的-p命令)

3.停止旧matomo容器

接下来我们停止旧容器:

docker stop matomo

4.删除旧matomo容器

然后将旧容器删除掉:

docker rm matomo

5.删除旧matomo镜像

然后我们通过下面命令查一下镜像,可以发现现在有两个matomo镜像:

docker images -a

需要将旧的镜像删除掉,可以通过IMAGE ID进行删除,比如我们这个删除下面TAG标签为none的镜像:

docker rmi a578f815ff5e

6.用原参数重建matomo容器

接下来旧可以通过run命令重建容器了,这一步必须要按照旧matomo容器对应的挂载卷进行命令编写,不然会导致数据丢失。

比如我们的重建命令如下:

docker run -d --name matomo --restart always -p 8080:80 -v /data/matomo:/var/www/html -v /data/matomo/apache-config/mpm_prefork.conf:/etc/apache2/mods-enabled/mpm_prefork.conf matomo

重建完成后通过下面命令查看一下容器状态:

docker ps

可以看到matomo容器已经正常启动了:

7.验证升级php版本结果

升级完成后可以通过下面命令查看一下容器中的php版本:

docker exec matomo php -v

我们看到php版本已经升级到8.4.27版本了,这样matomo容器就升级完成了。


扩展说明

1.PHP漏洞公告:https://www.cnvd.org.cn/webinfo/show/12871

2.matomo部署教程:开源访问统计分析工具matomo安装配置说明

正文到此结束
本文目录