审计数字档案馆全流程搭建实操指南 零基础可快速落地部署
前置环境准备
适用规模:10万份以内审计档案的中小型审计单位,所有操作均基于CentOS7.9操作系统,服务器最低配置2核4G、500G云硬盘。
- 安装JDK11:执行命令
yum install -y java-11-openjdk-devel,验证命令java -version,返回openjdk 11.x版本即为成功 - 安装MySQL8.0:
- 执行命令
yum install -y https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm - 执行命令
yum install -y mysql-community-server,启动命令systemctl start mysqld && systemctl enable mysqld - 获取初始密码
grep 'temporary password' /var/log/mysqld.log,登录后创建业务库:CREATE DATABASE audit_archive DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_general_ci;
创建业务账号并授权:CREATE USER 'archive'@'%' IDENTIFIED BY 'Archive@123'; GRANT ALL ON audit_archive. TO 'archive'@'%'; FLUSH PRIVILEGES;
- 执行命令
- 安装MinIO(存储档案附件):
- 执行命令
wget https://dl.min.io/server/minio/release/linux-amd64/minio && chmod +x minio && mv minio /usr/local/bin/ - 启动命令
nohup minio server /data/minio --console-address ":9001" > minio.log 2>&1 &,默认账号密码均为minioadmin,登录后台创建名为audit-archive的存储桶
- 执行命令
- 安装Docker(用于OCR服务):
- 执行命令
yum install -y yum-utils && yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo - 执行命令
yum install -y docker-ce docker-ce-cli containerd.io && systemctl start docker && systemctl enable docker
- 执行命令
- 开放端口:执行命令
firewall-cmd --add-port=8080/tcp --add-port=9000/tcp --add-port=9292/tcp --permanent && firewall-cmd --reload
核心服务部署
服务包获取与配置
执行命令下载稳定版服务包:wget https://gitee.com/opensource-audit/audit-archive/releases/download/v1.2.0/audit-archive.jar -P /opt/audit-archive/

在/opt/audit-archive目录下创建application.yml配置文件,完整内容可直接复制:
```yaml server: port: 8080 spring: datasource: url: jdbc:mysql://localhost:3306/audit_archive?useUnicode=true&characterEncoding=utf8mb4&serverTimezone=GMT%2B8 username: archive password: Archive@123 driver-class-name: com.mysql.cj.jdbc.Driver servlet: multipart: max-file-size: 100MB max-request-size: 100MB minio: endpoint: http://localhost:9000 accessKey: minioadmin secretKey: minioadmin bucket: audit-archive ocr: url: http://localhost:9292/ocr archive: retain-days: permanent: 0 normal: 10950 log-enabled: true required-fields: project_no,audited_unit,archive_user,archive_date ```启动服务
执行启动命令:nohup java -jar audit-archive.jar --spring.config.location=./application.yml > console.log 2>&1 &
验证启动成功:执行命令 curl http://localhost:8080/actuator/health,返回{"status":"UP"}即为启动成功。
核心功能配置实操
权限与分类配置
- 访问后台地址:http://你的服务器IP:8080,默认账号admin,密码Admin@123,首次登录必须强制修改8位以上包含大小写、数字、特殊字符的密码
- 进入【系统配置】-【档案分类】,新增4类默认分类:审计工作底稿(留存30年)、审计报告(永久留存)、审计证据(留存30年)、整改材料(留存30年)
- 进入【用户管理】-【角色配置】,新增3类标准角色:
- 审计专员:仅可上传、查看自己负责项目的档案,无删除、审批权限
- 审计主管:可查看全量档案、审批归档申请、修改档案元数据
- 系统管理员:全权限,仅授予负责系统运维的人员
归档规则配置
- 部署OCR服务:执行命令
docker run -d -p 9292:9292 --restart=always --name ocr dinutac/tesseract-java,实现扫描件自动提取文字用于检索 - 进入【流程配置】-【归档规则】,开启强制校验:所有档案上传必须填写审计项目编号、被审计单位、归档人、归档日期,禁止空值提交
- 开启审计日志留痕:所有上传、下载、修改、删除、查看档案的操作自动记录,日志不可删除、永久留存
上线验证与日常运维
功能验证
- 用审计专员账号登录,上传测试审计报告,填写必填项后提交归档申请
- 用审计主管账号登录,审批通过后检查档案是否进入正式档案库,检索项目编号、关键词可快速定位档案
- 进入【审计日志】页面,确认所有操作记录完整,包含操作人、操作时间、IP地址、操作内容
日常运维操作
- 数据自动备份:执行命令
crontab -e,添加以下定时任务:
0 1 mysqldump -u archive -p'Archive@123' audit_archive > /data/backup/audit_archive_$(date +%Y%m%d).sql
实现每日凌晨1点自动备份数据库,备份文件保留30天 - 服务宕机自动恢复:创建check.sh脚本,内容如下:
```bash
!/bin/bash
if [ `ps -ef | grep audit-archive.jar | grep -v grep | wc -l` -eq 0 ]; then
cd /opt/audit-archive
nohup java -jar audit-archive.jar --spring.config.location=./application.yml > console.log 2>&1 &
fi
```
添加定时任务每5分钟执行一次:
/5 bash /opt/audit-archive/check.sh - 检索优化:若档案量超过1万份检索变慢,执行SQL添加索引:
ALTER TABLE archive_record ADD INDEX idx_project_no (project_no), ADD INDEX idx_archive_date (archive_date);
常见问题排查
- 服务启动失败:查看console.log日志,若提示数据库连接失败,检查MySQL账号密码是否正确、是否开启远程权限
- 附件上传失败:检查MinIO服务是否正常运行、9000端口是否开放、配置文件中的accessKey和secretKey是否正确
- OCR识别失败:检查Docker容器是否正常运行,执行命令
docker ps查看ocr容器状态,异常则重启容器docker restart ocr