档案系统上线文书档案全流程实操指南

一、环境准备与系统选型

本次实操基于Linux操作系统,采用Docker容器化部署方案,确保环境一致性与部署效率。

1.1 基础环境部署

执行以下命令安装Docker及必要组件:

``` sudo apt-get update sudo apt-get install -y docker.io docker-compose sudo systemctl start docker sudo systemctl enable docker ```

创建项目目录并进入:

``` mkdir -p /opt/archive-system && cd /opt/archive-system ```

1.2 档案系统选型与获取

推荐使用开源的Mayan EDMS作为核心系统,其专为文书档案管理设计。直接拉取官方Docker镜像:

``` docker pull mayanedms/mayanedms:latest ```

创建数据持久化目录:

``` mkdir -p ./data/postgres ./data/media ./data/redis chmod -R 777 ./data ```

二、系统配置与初始化

2.1 Docker Compose配置文件

创建docker-compose.yml文件,内容如下:

``` version: '3.8' services: redis: image: redis:alpine restart: always volumes: - ./data/redis:/data postgres: image: postgres:13 restart: always environment: POSTGRES_DB: mayan POSTGRES_USER: mayan POSTGRES_PASSWORD: your_secure_password_here volumes: - ./data/postgres:/var/lib/postgresql/data mayan: image: mayanedms/mayanedms:latest restart: always depends_on: - redis - postgres environment: MAYAN_DATABASES: '{"default": {"ENGINE": "django.db.backends.postgresql", "NAME": "mayan", "USER": "mayan", "PASSWORD": "your_secure_password_here", "HOST": "postgres", "PORT": "5432"}}' MAYAN_CELERY_BROKER_URL: 'redis://redis:6379/0' ports: - "8000:8000" volumes: - ./data/media:/var/lib/mayan command: sh -c "mayan-edms.py initialsetup && mayan-edms.py runserver 0.0.0.0:8000" ```

将your_secure_password_here替换为至少16位的强密码。

2.2 启动系统并完成初始化

执行启动命令:

``` docker-compose up -d ```

等待2分钟后,访问http://你的服务器IP:8000,首次访问会自动进入初始化向导。

按顺序完成:

  • 设置管理员账号:admin
  • 设置管理员密码:至少8位包含大小写字母和数字
  • 输入邮箱:用于接收系统通知
  • 点击“完成安装”

三、文书档案分类体系配置

3.1 创建文档类型

登录后进入“文档类型”菜单,点击“创建文档类型”:

  • 标签:行政文书
  • 描述:公司行政类文件
  • 点击保存

重复操作创建:财务文书、人事档案、合同协议、会议纪要等类型。

3.2 配置元数据方案

进入“元数据”菜单,为“行政文书”类型添加元数据:

  • 点击“创建元数据类型”
  • 名称:文号
  • 类型:字符串
  • 最大长度:50
  • 保存后关联到“行政文书”类型

继续添加:

  • 发文单位(字符串,长度100)
  • 密级(选项:公开、内部、秘密、机密)
  • 生效日期(日期类型)
  • 保管期限(选项:10年、30年、永久)

3.3 设置工作流

进入“工作流”菜单,创建“文书归档流程”:

  1. 初始状态:待审核
  2. 创建状态:审核通过、退回修改、已归档
  3. 设置流转条件:只有“审核通过”状态才能进入“已归档”
  4. 配置自动任务:归档后自动添加时间戳水印

四、文档上传与批量导入

4.1 单文件上传配置

档案系统上线文书档案全流程实操指南

进入“文档”菜单,点击“上传文档”:

  1. 选择文档类型:行政文书
  2. 点击“选择文件”按钮
  3. 填写元数据:文号、发文单位等
  4. 勾选“自动执行OCR”(支持中文识别)
  5. 点击上传

4.2 批量导入脚本

对于大量历史文书,使用Python脚本批量导入。创建batch_import.py

``` import os import requests from pathlib import Path API_URL = "http://localhost:8000/api" USERNAME = "admin" PASSWORD = "你的管理员密码" DOCUMENT_TYPE_ID = "1" 行政文书的ID 获取token auth_response = requests.post( f"{API_URL}/auth/token/obtain/", json={"username": USERNAME, "password": PASSWORD} ) token = auth_response.json()["token"] headers = {"Authorization": f"Token {token}"} 遍历目录上传 base_path = "/path/to/your/documents" for file_path in Path(base_path).glob("/.pdf"): with open(file_path, 'rb') as f: files = {'file': f} data = { 'document_type_id': DOCUMENT_TYPE_ID, 'label': file_path.stem } response = requests.post( f"{API_URL}/documents/", headers=headers, files=files, data=data ) if response.status_code == 201: print(f"上传成功: {file_path.name}") else: print(f"上传失败: {file_path.name} - {response.text}") ```

将/path/to/your/documents替换为实际文档目录路径。

五、权限管理与安全设置

5.1 用户角色配置

进入“权限”菜单,创建角色:

  • 档案管理员:拥有所有权限
  • 部门负责人:可查看本部门文档,不能删除
  • 普通员工:仅可查看自己有权限的文档
  • 审计员:只读权限,可查看操作日志

5.2 访问控制列表(ACL)设置

为“财务文书”类型设置ACL:

  1. 进入“财务文书”类型详情页
  2. 点击“访问控制”标签
  3. 添加规则:角色=财务部,权限=查看、编辑
  4. 添加规则:角色=总经理,权限=查看、编辑、删除
  5. 保存设置

5.3 安全加固配置

修改docker-compose.yml中mayan服务的环境变量:

``` environment: MAYAN_ALLOWED_HOSTS: '["你的域名.com", "你的服务器IP"]' MAYAN_CSRF_TRUSTED_ORIGINS: '["https://你的域名.com"]' MAYAN_GUNICORN_LIMIT_REQUEST_LINE: '4094' MAYAN_CELERY_WORKER_MAX_MEMORY_PER_CHILD: '200000' ```

重启服务使配置生效:

``` docker-compose down && docker-compose up -d ```

六、备份与恢复策略

6.1 自动化备份脚本

创建backup.sh

``` !/bin/bash BACKUP_DIR="/opt/archive-backups" DATE=$(date +%Y%m%d_%H%M%S) 备份数据库 docker-compose exec -T postgres pg_dump -U mayan mayan > $BACKUP_DIR/db_$DATE.sql 备份媒体文件 tar -czf $BACKUP_DIR/media_$DATE.tar.gz ./data/media/ 备份配置文件 cp docker-compose.yml $BACKUP_DIR/docker-compose_$DATE.yml 保留最近7天备份 find $BACKUP_DIR -type f -mtime +7 -delete ```

设置定时任务,每天凌晨2点执行:

``` crontab -e 添加以下行 0 2 /bin/bash /opt/archive-system/backup.sh ```

6.2 灾难恢复步骤

  1. 停止当前服务:docker-compose down
  2. 恢复数据库:cat db_备份日期.sql | docker-compose exec -T postgres psql -U mayan mayan
  3. 恢复媒体文件:tar -xzf media_备份日期.tar.gz -C ./data/
  4. 启动服务:docker-compose up -d

七、日常维护与监控

7.1 系统健康检查

创建检查脚本health_check.py

``` import requests import smtplib from email.mime.text import MIMEText def check_system(): checks = [ ("Web服务", "http://localhost:8000", 200), ("API接口", "http://localhost:8000/api/", 200), ("Celery状态", "http://localhost:8000/monitoring/queue/", 200) ] errors = [] for name, url, expected in checks: try: response = requests.get(url, timeout=10) if response.status_code != expected: errors.append(f"{name}异常: HTTP {response.status_code}") except Exception as e: errors.append(f"{name}不可达: {str(e)}") return errors if __name__ == "__main__": issues = check_system() if issues: 发送告警邮件 msg = MIMEText("\n".join(issues)) msg['Subject'] = '档案系统异常告警' msg['From'] = 'monitor@yourcompany.com' msg['To'] = 'admin@yourcompany.com' s = smtplib.SMTP('smtp.yourcompany.com') s.send_message(msg) s.quit() ```

设置每5分钟执行一次检查。

7.2 日志查看与清理

查看实时日志:

``` docker-compose logs -f mayan ```

清理旧日志(保留30天):

``` find /opt/archive-system/data/media/logs -name ".log" -mtime +30 -delete ```

7.3 性能优化配置

修改docker-compose.yml中mayan服务的资源限制:

``` deploy: resources: limits: memory: 2G cpus: '1.0' reservations: memory: 1G cpus: '0.5' ```

调整Celery并发数,在环境变量中添加:

``` MAYAN_CELERY_WORKER_CONCURRENCY: '4' ```

按照以上步骤操作,你的文书档案系统已完成上线并具备生产环境运行能力。系统默认运行在8000端口,通过Nginx配置SSL证书后即可对外提供服务。

AI咨询
热线电话

028-85154420

15388110056

全国售前咨询电话

扫码咨询
安答联动微信公众号二维码

微信扫码关注安答联动

申请试用
热线电话
申请试用

安答联动档案管理系统