网站首页/ 信息中心/ 档案百科/

Linux 环境下企业级档案管理软件选型与部署实操指南

发布时间:2026年07月02日 00:25:14 浏览量:0

核心需求分析与软件选型

在Linux服务器上部署档案管理软件,核心需求通常包括:支持多种格式文档(PDF、Office、图像)的集中存储、全文检索、权限控制、版本管理以及Web界面访问。基于开源、稳定及易维护原则,我们选择以下方案组合。

推荐技术栈

我们选用Mayan EDMS作为核心档案管理系统,其专为文档管理设计,功能完整。配合PostgreSQL数据库和Redis缓存,以保障系统性能与可靠性。

系统环境准备与依赖安装

以下操作基于Ubuntu 22.04,其他发行版请调整包管理命令。

更新系统并安装基础依赖

首先以root或具有sudo权限的用户登录服务器,执行系统更新并安装必要的编译工具和库。

```bash sudo apt update && sudo apt upgrade -y sudo apt install -y python3-pip python3-dev python3-venv libpq-dev libjpeg-dev libmagic1 gcc make redis-server nginx postgresql postgresql-contrib git ```

配置PostgreSQL数据库

为Mayan EDMS创建专用的数据库和用户。

```bash sudo -u postgres psql ```

在PostgreSQL交互命令行中,依次执行以下SQL语句:

```sql CREATE DATABASE mayanedms; CREATE USER mayanuser WITH PASSWORD 'YourStrongPassword123!'; ALTER DATABASE mayanedms OWNER TO mayanuser; GRANT ALL PRIVILEGES ON DATABASE mayanedms TO mayanuser; ALTER ROLE mayanuser SET client_encoding TO 'utf8'; ALTER ROLE mayanuser SET default_transaction_isolation TO 'read committed'; ALTER ROLE mayanuanager SET timezone TO 'UTC'; \q ```

请务必将 `'YourStrongPassword123!'` 替换为高强度密码。

部署Mayan EDMS核心应用

创建系统用户与目录

为安全起见,创建一个非特权系统用户来运行应用。

```bash sudo useradd -m -s /bin/bash mayan sudo passwd mayan 为此用户设置密码 ```

安装Mayan EDMS

切换到新创建的用户,并在其家目录下进行安装。

```bash sudo su - mayan cd /home/mayan python3 -m venv mayan-venv source mayan-venv/bin/activate pip install --upgrade pip pip install mayan-edms==4.4.3 ```

初始化Mayan EDMS

使用mayan-edms.py命令初始化项目,这将在当前目录创建mediamayan目录。

```bash mayan-edms.py initialsetup ```

初始化过程会提示创建超级用户,请记录下设置的用户名和密码。

配置环境变量与数据库连接

编辑项目目录下的mayan/settings/production.py文件,配置数据库连接和密钥。

```bash cd /home/mayan/mayan nano settings/production.py ```

找到并修改以下配置段:

```python 数据库配置 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': 'mayanedms', 'USER': 'mayanuser', 'PASSWORD': 'YourStrongPassword123!', 替换为你的密码 'HOST': 'localhost', 'PORT': '5432', } } 设置一个强密钥 SECRET_KEY = '生成一个不少于50位的随机字符串,可用命令 openssl rand -base64 40 生成' 允许访问的域名/IP,按需修改 ALLOWED_HOSTS = ['your_server_ip', 'localhost', '127.0.0.1'] 缓存配置,使用Redis CACHES = { 'default': { 'BACKEND': 'django_redis.cache.RedisCache', 'LOCATION': 'redis://127.0.0.1:6379/0', 'OPTIONS': { 'CLIENT_CLASS': 'django_redis.client.DefaultClient', } } } Celery消息队列配置 CELERY_BROKER_URL = 'redis://localhost:6379/0' CELERY_RESULT_BACKEND = 'redis://localhost:6379/0' ```

保存并退出编辑器。然后设置环境变量,让Mayan使用生产环境配置。

```bash echo "export MAYAN_SETTINGS_MODULE=mayan.settings.production" >> ~/.profile source ~/.profile ```

迁移数据库并收集静态文件

Linux 环境下企业级档案管理软件选型与部署实操指南

应用数据库变更并收集Web界面所需的CSS、JS文件。

```bash cd /home/mayan source mayan-venv/bin/activate mayan-edms.py migrate mayan-edms.py collectstatic --noinput ```

配置Gunicorn与Nginx

配置Gunicorn系统服务

退出mayan用户,返回具有sudo权限的用户,创建Systemd服务文件。

```bash exit 退出mayan用户,回到sudo用户 sudo nano /etc/systemd/system/mayan-edms.service ```

将以下内容粘贴到文件中:

```ini [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=/home/mayan/mayan-venv/bin/gunicorn --bind unix:/home/mayan/mayan.sock mayan.wsgi --workers 3 Restart=on-failure RestartSec=10 [Install] WantedBy=multi-user.target ```

保存后启动并设置开机自启。

```bash sudo systemctl daemon-reload sudo systemctl start mayan-edms sudo systemctl enable mayan-edms sudo systemctl status mayan-edms 检查状态,应为active (running) ```

配置Nginx反向代理

创建Nginx站点配置文件。

```bash sudo nano /etc/nginx/sites-available/mayan ```

将以下配置粘贴到文件中,注意将your_server_ip替换为你的服务器公网IP或域名。

```nginx server { listen 80; server_name your_server_ip; client_max_body_size 500M; 根据档案大小调整上传限制 location / { proxy_pass http://unix:/home/mayan/mayan.sock; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } location /static/ { alias /home/mayan/static/; expires 30d; } location /media/ { alias /home/mayan/media/; expires 30d; } } ```

启用站点并测试Nginx配置。

```bash sudo ln -s /etc/nginx/sites-available/mayan /etc/nginx/sites-enabled/ sudo nginx -t 应显示"syntax is ok"和"test is successful" sudo systemctl reload nginx ```

系统初始化与基本使用

访问Web界面并完成设置

打开浏览器,访问 http://your_server_ip。使用初始化时创建的超级用户账号登录。

配置核心参数

登录后,点击左上角主菜单,进入“设置” -> “系统”

创建用户组与权限

点击主菜单“用户” -> “组”,创建例如“档案管理员”、“查阅员”等组。然后进入“权限”部分,为每个组分配细粒度的权限,如“文档创建”、“文档查看”、“文档删除”。

上传与管理档案

点击顶部导航栏的“文档”,然后点击“上传文档”按钮。可以批量选择文件上传。上传后,可以为文档添加标签、分类,并分配到预设的工作流阶段。

运维与备份

日常维护命令

数据备份脚本

创建备份脚本/usr/local/bin/backup_mayan.sh

```bash !/bin/bash BACKUP_DIR="/backup/mayan" DATE=$(date +%Y%m%d_%H%M%S) sudo -u postgres pg_dump mayanedms > $BACKUP_DIR/mayan_db_$DATE.sql tar -czf $BACKUP_DIR/mayan_media_$DATE.tar.gz -C /home/mayan media static find $BACKUP_DIR -type f -mtime +7 -delete 删除7天前的备份 ```

赋予执行权限并添加到定时任务:

```bash sudo chmod +x /usr/local/bin/backup_mayan.sh sudo crontab -e 添加一行,每天凌晨2点执行备份 0 2 /usr/local/bin/backup_mayan.sh ```

故障排查

若无法访问Web界面:

  1. 检查服务状态: 确保mayan-edms, nginx, postgresql, redis服务全部运行。
  2. 检查端口: 执行sudo ss -tlnp | grep :80确认Nginx在监听80端口。
  3. 检查Socket文件: 确认/home/mayan/mayan.sock文件存在且权限正确(用户和组应为mayan)。
  4. 查看错误日志: 依次检查sudo journalctl -u mayan-edmssudo tail -f /var/log/nginx/error.log
微信咨询
电话联系
QQ客服
微信咨询一对一服务
服务热线: 028-8744 4417
QQ客服: 2305721818