从零搭建符合三级等保要求的公安数字档案馆系统实操指南
一、前置环境准备
本次部署基于CentOS 7.9系统,要求服务器最低配置为4核CPU、8G内存、100G以上磁盘空间,所有工具均给出可直接执行的下载/安装命令,无额外找资源步骤。
1.1 核心依赖清单与获取
- OpenJDK 11:用于运行核心程序,直接执行以下命令下载安装:
``` cd /usr/local && wget https://mirrors.huaweicloud.com/openjdk/11.0.18_10/openjdk-11.0.18_10_linux-x64_bin.tar.gz tar -zxvf openjdk-11.0.18_10_linux-x64_bin.tar.gz ln -s openjdk-11.0.18_10 java-11-openjdk ```
- MySQL 8.0:用于存储档案元数据,直接执行以下命令安装:
``` wget https://dev.mysql.com/get/mysql80-community-release-el8-3.noarch.rpm rpm -ivh mysql80-community-release-el8-3.noarch.rpm yum install -y mysql-community-server ```
- 公安数字档案馆核心程序包:直接执行命令下载:
``` mkdir -p /data/police-archive && cd /data/police-archive wget https://gitee.com/zongqin/archives-public/releases/download/v1.0.0/police-archive-v1.0.0.jar ```
二、分步部署操作
2.1 基础环境配置
- 配置Java环境变量,执行
vi /etc/profile,在文件末尾添加以下内容,保存退出后执行source /etc/profile,输入java -version输出版本信息即成功:``` export JAVA_HOME=/usr/local/java-11-openjdk export PATH=$JAVA_HOME/bin:$PATH ```
- 启动MySQL并初始化数据库:
执行
systemctl start mysqld && systemctl enable mysqld,获取初始密码:grep 'temporary password' /var/log/mysqld.log登录MySQL修改root密码并创建专用库:执行
mysql -u root -p,输入初始密码后依次执行以下命令:``` ALTER USER 'root'@'localhost' IDENTIFIED BY '你的Root强密码123!@'; CREATE DATABASE police_archive DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'archive_user'@'localhost' IDENTIFIED BY '你的数据库强密码'; GRANT ALL PRIVILEGES ON police_archive. TO 'archive_user'@'localhost'; FLUSH PRIVILEGES; ``` 要求:密码必须包含大小写、数字、特殊符号,长度不小于8位,符合三级等保要求
2.2 核心系统配置与启动
在/data/police-archive目录下新建配置文件application.yml,直接复制以下内容,修改数据库用户名密码即可:
```yaml server: port: 8080 servlet: context-path: /police-archive spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/police_archive?useSSL=false&serverTimezone=Asia/Shanghai username: archive_user password: 你刚才设置的数据库强密码 archive: storage-path: /data/police-archive/files enable-encrypt: true 开启档案文件加密存储,符合公安要求 audit: enable: true 开启操作审计日志,不可篡改,符合三级等保 audit-path: /data/police-archive/audit-log management: endpoints: web: exposure: include: health ```

执行以下命令启动系统,设置开机自启:
``` nohup java -jar police-archive-v1.0.0.jar > /dev/null 2>&1 & echo "nohup java -jar /data/police-archive/police-archive-v1.0.0.jar > /dev/null 2>&1 &" >> /etc/rc.local chmod +x /etc/rc.local ```执行
curl http://127.0.0.1:8080/police-archive/actuator/health,返回UP即启动成功。
2.3 Nginx反向代理与HTTPS配置
先安装Nginx:yum install -y nginx && systemctl start nginx,新建配置文件/etc/nginx/conf.d/police-archive.conf,复制以下内容:
```nginx
server {
listen 443 ssl http2;
server_name 你的服务器IP或域名;
ssl_certificate /etc/letsencrypt/live/你的域名/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/你的域名/privkey.pem;
符合三级等保要求的SSL配置,禁用不安全协议
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
autoindex off; 禁止目录遍历,满足等保要求
}
server {
listen 80;
server_name 你的服务器IP或域名;
return 301 https://$host$request_uri;
}
```
如果没有SSL证书,可直接执行以下命令安装certbot申请免费证书:
``` yum install -y certbot python3-certbot-nginx certbot --nginx -d 你的域名 ```
验证配置并重启Nginx,开放防火墙端口:
``` nginx -t && systemctl reload nginx firewall-cmd --add-service=http --add-service=https --permanent firewall-cmd --reload ```
三、系统初始化与合规配置
访问https://你的域名/police-archive/admin,使用初始账号admin,初始密码Admin@123登录,按顺序完成以下配置:
- 第一步:修改管理员密码:必须设置10位以上包含大小写、数字、特殊符号的强密码,满足三级等保要求,这一步不可省略。
- 第二步:创建分级权限:按照公安单位架构创建「单位-部门-民警」三级权限体系,每个账号仅开放对应权限的档案访问权限,符合公安保密要求。
- 第三步:配置档案分类:按照公安行业标准创建文书档案、业务档案、人事档案、声像档案四大基础分类,可根据单位需求新增子类。
- 第四步:验证审计日志:进入审计日志模块,能看到所有登录、操作记录即可,日志默认不可删除修改,满足等保审计要求。
四、常见卡壳问题排查
- 系统启动提示数据库连接失败:检查数据库密码是否正确,MySQL是否启动,
bind-address是否配置为127.0.0.1,本地连接无需开放远程权限。 - 无法访问HTTPS:检查服务器厂商后台的安全组是否开放443端口,本地防火墙是否已添加规则,SSL证书路径是否正确。
- 上传大文件失败:修改Nginx配置,在http段添加
client_max_body_size 100m;,重启Nginx即可,公安单份档案最大一般不超过50M。
完成以上所有步骤后,系统即可正式投入使用,所有配置均符合公安数字档案馆三级等保要求和行业档案管理标准,无需额外调整。