科技文书数字档案馆系统从零搭建实操 可直接落地全步骤指南
前置环境准备
硬件要求
最低配置为2核4G内存、50G以上可用存储,可支撑10万份以内科技文书存储调用;文书量超过10万份时,升级为4核8G内存,按需拓展存储容量即可。
软件依赖
所有依赖均为开源免费软件,直接按指定版本和地址下载安装即可:
- JDK11:下载地址 https://jdk.java.net/java-se-ri/11,安装后配置JAVA_HOME环境变量,执行
java -version显示11.x版本即为成功 - MySQL8.0:下载地址 https://dev.mysql.com/downloads/mysql/8.0.html,安装时设置root密码为123456,开启3306端口,执行
mysql -uroot -p123456可正常登录即为成功 - Redis6.x:下载地址 https://redis.io/download/,安装后启动默认端口6379,无密码,执行
redis-cli ping返回PONG即为成功 - Node.js16.20.2:下载地址 https://nodejs.org/download/release/v16.20.2/,安装后执行
node -v显示v16.20.2、npm -v显示8.x版本即为成功
后端服务部署
源码获取
执行以下命令拉取开源稳定版源码:
``` git clone https://gitee.com/opensource-archives/tech-doc-archive-system.git cd tech-doc-archive-system/backend ```数据库配置
执行以下命令创建数据库并导入初始表结构:
``` mysql -uroot -p123456 CREATE DATABASE archive_system DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; use archive_system; source ./sql/archive_system.sql; ```修改配置文件src/main/resources/application.yml,直接复制以下内容即可,Windows系统需修改存储路径和OCR路径:
```yaml server: port: 8080 spring: datasource: url: jdbc:mysql://127.0.0.1:3306/archive_system?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai username: root password: 123456 driver-class-name: com.mysql.cj.jdbc.Driver redis: host: 127.0.0.1 port: 6379 password: "" servlet: multipart: max-file-size: 100MB max-request-size: 500MB archive: storage: path: /data/archive Windows系统修改为D:/data/archive ocr: enable: true tesseract-path: /usr/bin/tesseract Windows系统修改为C:/Program Files/Tesseract-OCR/tesseract.exe ```服务启动
执行以下命令编译打包并启动后端服务:
``` 编译打包 mvn clean package -DskipTests 启动服务 java -jar target/archive-system-1.0.0.jar ```启动后访问http://localhost:8080/doc.html,能正常显示Swagger接口文档即为后端部署成功。
前端页面部署
依赖安装
执行以下命令进入前端目录并安装依赖:
``` cd ../frontend 设置国内镜像源,避免安装失败 npm config set registry https://registry.npmmirror.com/ npm install ```编译打包

执行以下命令编译生成静态资源包:
``` npm run build ```执行完成后会生成dist目录,即为前端静态资源包。
Nginx部署
下载Nginx1.24,地址 https://nginx.org/en/download.html,安装后修改conf/nginx.conf配置,直接复制以下server块替换原有内容即可:
```nginx server { listen 80; server_name localhost; 前端静态资源路径 root /usr/local/nginx/html/dist; Windows修改为C:/nginx/html/dist index index.html index.htm; 接口请求反向代理到后端 location /api/ { proxy_pass http://127.0.0.1:8080/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } 解决前端路由刷新404问题 location / { try_files $uri $uri/ /index.html; } } ```启动Nginx后,访问http://localhost,出现登录页面即为前端部署成功,默认账号admin,密码123456。
核心功能实操配置
科技文书分类配置
登录后进入系统管理→分类管理,点击新增,按实际业务添加分类,比如科技项目文书、专利申请文书、软著登记文书、科研成果文书等,每个分类必须填写3项核心配置:
- 存储路径:对应配置文件中archive.storage.path下的子目录,比如patent对应专利文书存储路径
- 保留期限:按档案管理要求设置,可选永久、30年、10年
- 涉密等级:按文书涉密程度设置非密、内部、秘密、机密
上传规则配置
进入系统设置→上传规则,配置如下参数:
- 允许上传格式:勾选pdf、doc、docx、xls、xlsx、jpg、png、zip,避免无关格式上传
- 单文件大小上限:设置为100MB,批量上传单次最大数量设置为50
- 开启OCR自动识别元数据,系统会自动提取文书标题、编号、签发日期等字段,无需手动填写
如需使用OCR功能,提前安装Tesseract OCR,下载地址 https://github.com/tesseract-ocr/tesseract,中文语言包下载地址 https://github.com/tesseract-ocr/tessdata/blob/main/chi_sim.traineddata,将语言包放到Tesseract安装目录的tessdata文件夹下即可。
归档流程配置
进入流程管理→归档流程,设置三级审核规则:
- 第一节点:上传人提交,自动校验文书格式、分类是否符合要求,不符合直接拦截
- 第二节点:部门管理员审核,审核文书内容真实性、完整性,可驳回修改
- 第三节点:档案管理员归档,审核通过后自动入库,生成唯一档案编号,不可修改
常见问题排查
后端启动失败
- 提示端口占用:执行命令
lsof -i:8080(Linux)或netstat -ano | findstr 8080(Windows)找到占用进程,杀死进程或修改application.yml中的server.port为其他端口即可 - 提示数据库连接失败:检查MySQL是否启动,配置文件中数据库账号密码是否正确,是否创建了archive_system数据库
文件上传失败
- 提示权限不足:给存储目录添加读写权限,Linux执行
chmod -R 777 /data/archive,Windows右键存储目录→属性→安全→给Everyone添加读写权限 - 提示文件过大:检查配置文件中spring.servlet.multipart的大小配置是否符合要求
OCR识别失败
- 检查application.yml中tesseract-path配置是否正确,路径分隔符用/不要用\
- 检查是否安装了中文语言包chi_sim.traineddata,是否放到了tessdata目录下
完成以上所有步骤后,系统即可正式投入使用,支持科技文书的上传、审核、归档、检索、调阅全流程管理。