从零搭建开源数字档案管理系统 全流程可落地实操分步指南
一、前置环境准备
1. 基础环境配置
本次部署基于CentOS7操作系统,需提前安装以下基础组件,所有命令可直接复制执行:
- JDK1.8安装:
yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel -y - MySQL5.7安装:
yum install https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm -y && yum install mysql-community-server -y && systemctl start mysqld && systemctl enable mysqld - Nginx1.20+安装:
yum install nginx -y && systemctl start nginx && systemctl enable nginx - Maven3.6+安装:
yum install maven -y - Nodejs16+安装:
curl -sL https://rpm.nodesource.com/setup_16.x | bash - && yum install nodejs -y
2. 项目源码获取
本次使用Gitee开源项目archivist作为底层系统,两种获取方式二选一即可:
- Git克隆:
git clone https://gitee.com/ramostear/archivist.git - 压缩包直接下载:https://gitee.com/ramostear/archivist/repository/archive/master.zip,下载后上传至服务器解压即可
二、后端服务部署配置
1. 数据库初始化
首先登录MySQL执行以下操作,所有命令可直接复制:
- 创建专属数据库:
create database archivist default character set utf8mb4 collate utf8mb4_general_ci; - 创建数据库专用账号,禁止使用root账号直接连接系统:
grant all privileges on archivist. to 'archivist_user'@'%' identified by 'Archivist@2024'; flush privileges; - 导入初始化SQL文件:
use archivist; source /你的源码存放路径/archivist/sql/archivist.sql;
2. 配置文件修改
进入源码的archivist/archivist-admin/src/main/resources目录,修改application-prod.yml文件,完整配置内容如下,可直接复制替换:

必须提前创建文件存储目录并授权,执行命令:mkdir -p /data/archivist/files /data/archivist/backup && chmod 755 /data/archivist -R,否则会出现文件上传失败报错。
3. 后端服务启动
- 回到项目根目录执行打包:
mvn clean package -DskipTests - 打包完成后进入
target目录,启动服务:nohup java -jar archivist-admin.jar --spring.profiles.active=prod > /dev/null 2>&1 & - 验证启动成功:执行
curl http://127.0.0.1:8080/archivist/doc.html,返回Swagger页面内容即为启动正常。
三、前端页面部署配置
1. 前端打包
- 进入源码的
archivist-web目录,安装依赖:npm install --registry=https://registry.npmmirror.com - 修改
.env.prod配置文件,将接口地址改为你的服务器IP:VUE_APP_BASE_API = 'http://你的服务器公网IP:8080/archivist' - 执行打包:
npm run build,打包完成后生成dist目录。
2. Nginx配置
编辑/etc/nginx/conf.d/archivist.conf文件,完整配置如下可直接复制,替换为你自己的服务器IP即可:
配置生效操作:将打包好的dist目录上传到/usr/share/nginx/archivist路径下,执行nginx -t验证配置无错误后,执行nginx -s reload生效。
最后开放服务器端口:firewall-cmd --add-port=80/tcp --permanent && firewall-cmd --add-port=8080/tcp --permanent && firewall-cmd --reload,云服务器需同时在安全组开放对应端口。
四、系统初始化与核心操作
1. 首次登录
访问http://你的服务器IP即可进入系统登录页,默认管理员账号:admin,默认密码:123456,首次登录必须强制修改密码,要求8位以上,包含大小写字母、数字和特殊字符。
2. 基础配置实操
- 档案分类配置:进入【系统管理-字典管理】,找到“档案分类”字典项,按实际需求添加分类,比如文书档案、科技档案、人事档案等,填写对应分类编码和名称后立即生效。
- 权限配置:进入【系统管理-角色管理】,创建普通用户角色,勾选“档案查询、档案上传、档案借阅”等基础权限,再进入【用户管理】创建普通账号,绑定对应角色即可完成权限分配。
- 存储配置:进入【系统设置-存储设置】,设置单用户最大上传容量、单文件最大限制,和之前application.yml的配置保持一致即可。
3. 核心功能操作
- 档案上传:进入【档案管理-档案上传】,选择对应分类,上传电子档案,支持pdf、word、excel、图片等格式,上传后系统自动生成唯一档案编号,如需OCR识别功能,提前执行
yum install tesseract -y安装识别组件即可。 - 档案检索:支持按档案编号、名称、分类、上传时间、关键词多维度检索,支持模糊匹配和精确匹配切换,检索响应时间小于1秒。
- 档案借阅:普通用户提交借阅申请,管理员审核通过后可下载对应档案,系统自动记录所有操作日志,可在【档案管理-借阅记录】中查询全流程痕迹。
五、常见问题排查
- 后端启动失败:首先检查数据库连接配置是否正确,其次检查文件存储目录是否有读写权限,最后执行
tail -f ~/logs/archivist.log查看日志定位具体报错。 - 前端无法访问接口:检查nginx代理配置是否正确,检查80、8080端口是否在防火墙/安全组开放,确认前端配置的接口地址是否为服务器公网IP。
- 大文件上传失败:检查nginx配置的client_max_body_size、spring配置的max-file-size是否均大于上传文件大小,三者参数保持一致即可解决。
- OCR识别失败:检查Tesseract是否安装成功,执行
tesseract -v验证版本,中文识别需额外安装语言包:yum install tesseract-langpack-chi_sim -y。