当前位置: 首页 > news >正文

虚拟机搭建公安电子证据平台

VMware虚拟机搭建私有OSS(MinIO,兼容阿里云S3,对接ThinkPHP8公安电子证据平台)

VMware 虚拟机搭建私有 OSS(MinIO,兼容阿里云 S3,对接 ThinkPHP8 公安电子证据平台)

方案说明

MinIO = 私有化对象存储,完全兼容 S3 协议,可替代阿里云 OSS;单虚拟机即可部署,支持图片 / 视频 / 取证大文件存储、权限管控、内网访问,适配公安内网电子证据存储场景。 整体流程:VMware 网络配置 → CentOS 虚拟机安装 MinIO → 防火墙放行端口 → 创建存储桶 → ThinkPHP8 修改 filesystem 对接 MinIO 私有 OSS。

一、VMware 虚拟机网络设置(关键,宿主机可互通)

1. 虚拟机网卡模式选择

虚拟机设置 → 网络适配器:桥接模式(推荐,和宿主机同一局域网,真实内网 IP)

  • 不要用仅主机 / NAT,否则宿主机 TP8 项目无法正常上传访问文件

2. 查看虚拟机内网 IP(CentOS)

ip a # 找到ens33,记录inet地址,示例:192.168.1.100

3. 宿主机 Windows 测试连通

ping 192.168.1.100 # 能ping通代表网络正常

二、CentOS7/8 虚拟机安装 MinIO(单节点离线二进制,无依赖)

1. 下载 MinIO 服务端

# 在线下载,无外网可宿主机下载上传到虚拟机 wget https://dl.min.io/server/minio/release/linux-amd64/minio chmod +x minio mv minio /usr/local/bin/

2. 创建数据存储目录(存放电子证据)

mkdir -p /data/minio/evidence mkdir -p /etc/minio

3. 创建系统服务(开机自启,生产稳定)

① 环境配置文件/etc/default/minio

vim /etc/default/minio

写入(密码≥8 位,公安环境设置复杂密码):

# 存储数据目录 MINIO_VOLUMES="/data/minio/evidence" # API端口9000(对接TP8),控制台9001(网页管理) MINIO_OPTS="--address 192.168.1.100:9000 --console-address 192.168.1.100:9001" # 访问密钥(对应OSS的AccessKey/SecretKey) MINIO_ROOT_USER=adminoss MINIO_ROOT_PASSWORD=Evidence@2026 # 区域(随便填,本地统一local) MINIO_REGION_NAME=local

② 系统服务文件/etc/systemd/system/minio.service

vim /etc/systemd/system/minio.service

[Unit] Description=MinIO Object Storage Documentation=https://docs.min.io Wants=network-online.target After=network-online.target [Service] User=root Group=root EnvironmentFile=/etc/default/minio ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES Restart=always LimitNOFILE=65536 [Install] WantedBy=multi-user.target

4. 放行防火墙端口(宿主机才能访问 9000/9001)

# 永久放行 firewall-cmd --permanent --add-port=9000/tcp firewall-cmd --permanent --add-port=9001/tcp firewall-cmd --reload # 验证端口 firewall-cmd --list-ports

5. 启动 & 自启 MinIO

systemctl daemon-reload systemctl start minio systemctl enable minio # 查看运行状态 systemctl status minio

三、访问 MinIO 管理后台,创建证据存储桶

  1. 宿主机浏览器打开:http://192.168.1.100:9001

  2. 登录账号:adminoss/Evidence@2026

  3. 左侧 Buckets → Create Bucket,桶名:evidence-store(TP8 配置 bucket 名称)

  4. 桶权限设置(公安内网只读,禁止公开):

    1. Bucket Policy → 关闭公开访问,仅密钥鉴权上传下载

四、ThinkPHP8 对接 VMware 虚拟机 MinIO 私有 OSS

1. 安装 S3 驱动(MinIO 基于 S3 协议,不用阿里云 oss 包)

composer require league/flysystem-aws-s3-v3

2. 修改.env环境配置

# MinIO私有OSS(VMware虚拟机) MINIO_ENDPOINT=http://192.168.1.100:9000 MINIO_KEY=adminoss MINIO_SECRET=Evidence@2026 MINIO_BUCKET=evidence-store MINIO_REGION=local MINIO_SSL=false

3. 配置config/filesystem.php新增 minio 磁盘

return [ 'default' => env('filesystem.driver', 'minio'), 'disks' => [ 'local' => [...], 'public' => [...], // VMware虚拟机MinIO私有OSS 'minio' => [ 'type' => 's3', 'region' => env('MINIO_REGION','local'), 'endpoint' => env('MINIO_ENDPOINT'), 'key' => env('MINIO_KEY'), 'secret' => env('MINIO_SECRET'), 'bucket' => env('MINIO_BUCKET'), 'ssl' => env('MINIO_SSL',false), 'prefix' => 'upload', // 文件前缀 upload/image/xxx.jpg ] ] ];

4. 原有 OSS 上传工具类无缝兼容 MinIO

只需修改磁盘名为minio,原有上传、哈希、Vditor 图片上传代码完全不用改动

// OssUpload.php 上传一行改动 $savePath = Filesystem::disk('minio')->putFile($dir, $file);

文件访问 URL 示例:http://192.168.1.100:9000/evidence-store/upload/image/xxx.jpg

五、公安电子证据平台专属安全加固(虚拟机 MinIO)

  1. 禁止外网访问:VMware 仅桥接内网,不映射公网端口;虚拟机关闭多余端口 22/80 等

  2. 强密钥策略:MINIO_ROOT_PASSWORD 必须大小写 + 数字 + 特殊符号,长度≥12 位

  3. 关闭桶公开权限:所有证据桶禁止匿名访问,仅 TP8 服务端通过密钥鉴权

  4. 数据多副本:MinIO 单节点开启 2 副本,防止取证文件丢失

    1. 控制台 Bucket → Replication 副本策略 2 份

  5. 访问日志留存:开启 MinIO 审计日志,记录所有文件上传 / 下载,同步公安 sys_audit_log 审计表

  6. 文件后缀拦截:TP8 上传层过滤 php/exe/bat 等脚本,仅允许图片 / 视频 /pdf 取证格式

  7. 定期备份:定时脚本打包/data/minio/evidence证据目录到虚拟机第二块硬盘

六、常见故障排查

  1. 宿主机无法访问 9001 控制台

    1. 虚拟机防火墙未放行 9000/9001 端口,重新执行 firewall 放行命令

    2. MinIO 启动绑定 [127.0.0.1](127.0.0.1),修改MINIO_OPTS为虚拟机真实内网 IP

  2. ThinkPHP8 上传返回 403

    1. 核对 env 内 key/secret、bucket 名称、endpoint 地址

    2. MinIO 桶名区分大小写,创建桶名称和配置完全一致

  3. 文件 URL 无法直接预览图片

    1. 虚拟机防火墙放行 9000 端口,浏览器直接访问 MinIO 文件地址测试

  4. 虚拟机存储容量不足

    1. VMware 设置 → 硬盘 → 扩展磁盘大小,虚拟机内扩容分区挂载到 /data/minio

七、Docker 极简快速部署(不想装二进制可选)

虚拟机安装 docker 后一键启动 MinIO,适合快速测试:

docker run -d \ --name minio-oss \ --restart always \ -p 9000:9000 -p 9001:9001 \ -e MINIO_ROOT_USER=adminoss \ -e MINIO_ROOT_PASSWORD=Evidence@2026 \ -v /data/minio/evidence:/data \ minio/minio server /data --console-address ":9001"

http://www.jsqmd.com/news/1035772/

相关文章:

  • AHP偏好建模与TD3策略调度:让AI听懂基金经理的决策语言
  • 笔记——在一次 Statement Closed 报错后,探究背后 MyBatis 执行链
  • 2026六盘水焊缝探伤检测权威机构排行 TOP 本地高频选择,无损检测 + UT+RT+PT 检测 附电话地址 - 中安检测集团
  • Windows系统replres.rll文件解析:资源本地化与故障排查指南
  • 终极指南:5个高效技巧解决ComfyUI-SUPIR模型加载失败问题
  • 2026龙岩焊缝探伤检测权威机构排行 TOP 本地高频选择,无损检测 + UT+RT+PT 检测 附电话地址 - 中安检测集团
  • 2026 年灯光窗帘一体智能开关推荐:优智者多功能强 - 思溯深度专栏
  • MCP44XX数字电位器硬件集成:从I2C驱动到PCB布局的工程实践
  • 2026年GEO代理加盟全解析:轻资产创业首选源头厂家杭州爱搜索项目 - 品牌报告
  • 2026开封焊缝探伤检测权威机构排行 TOP 本地高频选择,无损检测 + UT+RT+PT 检测 附电话地址 - 中安检测集团
  • 帧延迟视角下的机器视觉:传输速度、接口选择与持续优化 为什么cxp cof bitrate在持续进化
  • [PWNHUB 公开赛 2018]傻 fufu 的工作日
  • 抖音批量下载神器:从零开始构建你的视频资源库
  • 2026年陕西律师选型指南:西安股权纠纷、建工合同、财税合规深度横评 - 企业名录优选推荐
  • SQLyog社区版:免费高效的MySQL数据库管理终极指南
  • 2026年贵州刺梨原汁与功能饮品代工供应商精选指南:从源头工厂直达全国市场 - 优质企业观察收录
  • 3DS原生GBA游戏终极方案:open_agb_firm完整指南
  • 昆山兴运建设工程有限公司:化工厂/厂房/超市拆除回收专业服务商 - 品牌推荐官
  • QQ音乐格式转换终极指南:3步解锁你的音乐自由
  • 浏览器端AI图像标注工具:make-sense.ai如何解决计算机视觉项目的数据标注痛点
  • 2026克拉玛依焊缝探伤检测权威机构排行 TOP 本地高频选择,无损检测 + UT+RT+PT 检测 附电话地址 - 中安检测集团
  • 2025终极指南:如何用openpilot开源系统让普通汽车秒变智能座驾
  • WP 多余插件拖慢页面速度,精简提速同时修复 Core Web Vitals
  • 四川无尘洁净车间建造者-四川华川洁净公司 - 华川洁净
  • 【JAVA毕设源码分享】基于springboot的特色水果商城系统(程序+文档+代码讲解+一条龙定制)
  • 2026上海品质团建服务商排行TOP6 - 陀螺团建
  • RimWorld模组管理的终极解决方案:RimSort完整指南
  • 2026常州包包回收避坑指南:正规门店全域免费上门 - 薛定谔的梨花猫
  • 2026年贵州刺梨原汁生产与全国招商加盟供应商深度指南 - 优质企业观察收录
  • 如何让旧手柄在PC游戏中完美工作?XOutput终极转换指南