大数据文书档案管理系统从零部署到核心功能落地实操指南
一、前置环境准备
1.1 软硬件最低要求
CPU 4核及以上,内存8G及以上,硬盘100G及以上,操作系统为Ubuntu 20.04/22.04,所有操作均使用root权限执行。
1.2 依赖组件安装
所有组件安装完成后需执行验证命令确认正常运行,再进行后续操作,依次执行以下命令:
- 安装JDK11:
sudo apt install openjdk-11-jdk -y
验证:java -version,返回openjdk version "11.x.x"即为成功 - 安装MySQL8:
sudo apt install mysql-server -y
初始化配置:
mysql -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '自定义密码';"
mysql -uroot -p自定义密码 -e "CREATE DATABASE document_manage DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;" - 安装Elasticsearch7.17:
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.10-linux-x86_64.tar.gz
tar -zxvf elasticsearch-7.17.10-linux-x86_64.tar.gz && cd elasticsearch-7.17.10
修改config/elasticsearch.yml,新增以下配置:

network.host: 0.0.0.0 discovery.type: single-node xpack.security.enabled: false
切换到普通用户启动:su 普通用户名 && ./bin/elasticsearch -d
验证:curl localhost:9200,返回版本号为7.17.10即为成功 - 安装MinIO对象存储:
wget https://dl.min.io/server/minio/release/linux-amd64/minio && chmod +x minio
mkdir -p /data/minio && nohup ./minio server /data/minio --console-address ":9001" > minio.log 2>&1 &
默认账号密码均为minioadmin,登录控制台后创建名为document的存储桶 - 安装OCR识别组件:
sudo apt install tesseract-ocr tesseract-ocr-chi-sim -y
验证:tesseract --list-langs,返回chi_sim即为成功
二、系统部署实操
2.1 源码拉取与编译
依次执行以下命令:
- 安装Maven与Node.js:
sudo apt install maven -y
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash - && sudo apt install nodejs -y - 拉取稳定版源码:
git clone https://gitee.com/opensource-doc/document-manage-system.git && cd document-manage-system
git checkout v1.2.0-stable - 后端编译:
cd backend && mvn clean package -DskipTests
编译完成后jar包路径为backend/target/doc-manage.jar - 前端编译:
cd ../frontend && npm install --registry=https://registry.npmmirror.com
npm run build
编译完成后静态文件路径为frontend/dist
2.2 配置文件修改
在jar包同级目录创建application-prod.yml,复制以下内容,修改标注的自定义配置即可:
```yaml server: port: 8080 servlet: context-path: /doc spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/document_manage?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai username: root password: 替换为你设置的MySQL密码 elasticsearch: uris: http://127.0.0.1:9200 servlet: multipart: max-file-size: 1024MB max-request-size: 1024MB minio: endpoint: http://127.0.0.1:9000 accessKey: minioadmin secretKey: 替换为你修改后的MinIO密码 bucketName: document ocr: enable: true ```2.3 服务启动与验证
- 启动后端服务:
nohup java -jar doc-manage.jar --spring.profiles.active=prod > log.log 2>&1 &
验证:curl localhost:8080/doc/health,返回success即为启动成功 - 部署前端:
安装Nginx:sudo apt install nginx -y
在/etc/nginx/conf.d目录创建doc.conf,复制以下内容: ```nginx server { listen 80; server_name 替换为你的服务器IP或域名; root /opt/document-manage/dist; 替换为你前端dist目录的实际路径 index index.html; location / { try_files $uri $uri/ /index.html; } location /doc/ { proxy_pass http://127.0.0.1:8080/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } client_max_body_size 1024M; } ``` 重启Nginx生效:sudo nginx -s reload
访问服务器IP即可进入系统,默认管理员账号admin,密码123456
三、核心功能落地操作
3.1 批量档案入库
- 进入【系统设置-基础配置】,开启OCR自动识别开关、自动生成目录开关,涉密档案需同时开启水印功能
- 进入【数据导入-模板下载】,下载标准Excel导入模板,填写档案文号、标题、密级、生成日期等基础信息
- 上传Excel模板+对应的档案文件(支持docx、pdf、jpg/png扫描件格式),系统会自动匹配文件与Excel行数据,自动提取文本内容生成索引
- 在【导入日志】中查看入库进度,失败项会标注具体原因,修改后可单独重新导入
3.2 全文检索配置
- 首次入库完成后执行索引初始化:
curl -X POST localhost:8080/doc/es/init - 进入【系统设置-检索配置】,设置字段权重:推荐标题权重5、文号权重3、内容权重2,修改后实时生效
- 检索支持精确匹配、模糊匹配、时间范围筛选、密级筛选,检索响应时间≤1秒
3.3 权限分级管控
- 进入【权限管理-角色管理】,创建3类默认角色:档案管理员(全权限)、审核员(档案审核、查询权限)、普通用户(仅公开档案查询权限)
- 涉密档案需单独设置白名单,仅白名单内用户可查看、下载,操作日志会永久留存
- 进入【操作日志】页面可筛选所有用户的查询、下载、修改操作记录,支持导出留存
四、常见问题快速排查
- 扫描件导入无文本内容:检查tesseract是否安装成功,执行
tesseract 测试图片路径 stdout -l chi_sim验证是否能正常返回识别结果 - 检索不到已入库档案:执行
curl localhost:8080/doc/es/count查看索引数量,与档案总数量不一致时执行curl -X POST localhost:8080/doc/es/syncAll全量同步 - 大文件上传失败:检查Nginx配置中client_max_body_size是否≥1024M,同时检查MinIO存储桶上传限制是否关闭
- 服务启动失败:查看jar包同级目录下的log.log文件,搜索error关键词定位具体原因,常见为数据库密码错误、ES服务未启动