文书档案管理系统必须满足文件全生命周期管理。核心功能包括:档案分类与编目、电子文件上传与版本控制、元数据管理、全文检索、借阅审批流程、存储安全管理、长期保存格式支持。选型时需重点考察系统是否支持《机关档案管理规定》(国家档案局第13号令)和《电子文件归档与电子档案管理规范》(GB/T 18894-2016)等标准。
对于预算有限或需要深度定制的团队,推荐以下两种经过验证的开源方案:
商业方案如泛微OA、致远互联的档案管理模块,适合已部署其协同办公系统且需要快速集成的组织。
本指南将以Mayan EDMS为例,因其部署简单、功能专注,且完全满足中小型组织的文书档案管理需求。
生产环境建议使用Ubuntu 22.04 LTS或CentOS 7.9。以下以Ubuntu 22.04为例。
使用SSH连接到你的服务器,执行以下命令更新系统并安装基础依赖:
``` sudo apt update && sudo apt upgrade -y sudo apt install -y python3-pip python3-dev libpq-dev postgresql postgresql-contrib nginx redis-server libtiff-dev libjpeg-dev libopenjp2-7-dev zlib1g-dev libreoffice tesseract-ocr-all poppler-utils ```为Mayan EDMS创建专用的数据库和用户:
``` sudo -u postgres psql ```在PostgreSQL交互命令行中,依次执行:
``` CREATE DATABASE mayan_db; CREATE USER mayan_user WITH PASSWORD '你的强密码'; ALTER DATABASE mayan_db OWNER TO mayan_user; GRANT ALL PRIVILEGES ON DATABASE mayan_db TO mayan_user; \q ```请将‘你的强密码’替换为至少12位包含大小写字母、数字和特殊字符的密码。
为安全起见,创建一个非root用户来运行Mayan:
``` sudo adduser --system --group --no-create-home mayan sudo usermod -aG mayan $USER ```安装Mayan EDMS核心包:
``` sudo -H pip3 install mayan-edms ```切换到mayan用户并初始化项目目录:
``` sudo su - mayan -s /bin/bash mayan-edms.py initialsetup ```按照交互提示进行配置:
初始化完成后,生成一个超级用户:
``` mayan-edms.py createsuperuser ```输入管理员用户名、邮箱和密码。
退出mayan用户(输入exit),回到你自己的用户。创建Gunicorn系统服务文件:
``` sudo nano /etc/systemd/system/mayan.service ```
将以下配置完整粘贴进去:
``` [Unit] Description=Mayan EDMS After=network.target postgresql.service redis-server.service [Service] Type=simple User=mayan Group=mayan WorkingDirectory=/home/mayan Environment="MAYAN_SETTINGS_MODULE=mayan.settings.production" ExecStart=/usr/local/bin/mayan-edms.py runworker Restart=on-failure RestartSec=10 [Install] WantedBy=multi-user.target ```保存并退出(Ctrl+X,然后按Y,再回车)。启动服务:
``` sudo systemctl daemon-reload sudo systemctl start mayan sudo systemctl enable mayan ```创建Nginx站点配置文件:
``` sudo nano /etc/nginx/sites-available/mayan ```粘贴以下配置,将your_server_domain_or_IP替换为你的服务器域名或IP地址:
``` server { listen 80; server_name your_server_domain_or_IP; location / { proxy_pass http://127.0.0.1:8000; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_redirect off; } location /static/ { alias /home/mayan/media/static/; } location /media/ { alias /home/mayan/media/; } } ```启用该配置并重启Nginx:
``` sudo ln -s /etc/nginx/sites-available/mayan /etc/nginx/sites-enabled/ sudo nginx -t sudo systemctl restart nginx ```在浏览器中访问你的服务器IP或域名,使用之前创建的超级用户账号登录。
这是档案分类的基础。进入控制台 -> 文档类型。
进入控制台 -> 索引。
现在,在前台文档列表页面的搜索框,即可通过文号、日期、密级或文档内文字进行检索。
进入控制台 -> 工作流,创建一个“档案借阅审批”工作流。
将此工作流关联到“行政发文”文档类型。当用户上传或借阅该类型文档时,将触发此审批流程。
创建备份脚本/usr/local/bin/backup_mayan.sh:
``` !/bin/bash BACKUP_DIR="/backup/mayan" DATE=$(date +%Y%m%d_%H%M%S) sudo -u postgres pg_dump mayan_db > "$BACKUP_DIR/mayan_db_$DATE.sql" tar -czf "$BACKUP_DIR/media_$DATE.tar.gz" /home/mayan/media/ find $BACKUP_DIR -type f -mtime +30 -delete ```赋予执行权限并设置每日凌晨2点自动执行:
``` sudo chmod +x /usr/local/bin/backup_mayan.sh sudo crontab -e ```在crontab末尾添加:
``` 0 2 /usr/local/bin/backup_mayan.sh ```关键日志位置:
如果系统更新后出现静态文件404错误,需要重新收集静态文件:
``` sudo su - mayan -s /bin/bash mayan-edms.py platformtemplate collectstatic --noinput exit sudo systemctl restart mayan ```至此,一个具备分类、检索、审批流程和备份机制的主流文书档案管理系统已部署完成。后续可根据实际需求,在控制台中进一步配置细粒度权限、自动化标签或与其他系统的API集成。