在开始部署档案软件之前,首先需要确认当前国产操作系统的内核版本与发行版信息。本指南以统信UOS家庭版/专业版以及银河麒麟V10为例,这两类系统均基于Debian或CentOS内核,操作逻辑基本一致。请在终端中执行以下命令,检查系统环境是否符合部署要求。
1. 检查系统内核与版本信息
打开终端(快捷键通常为Ctrl+Alt+T),输入以下命令:
```bash uname -a cat /etc/os-release ```确保内核版本高于3.10,且系统架构为x86_64或ARM64(国产化常见架构)。如果是统信UOS或麒麟V10,通常会显示ID为"uniontechos"或"kylin"。
2. 更新系统软件源
为了避免安装过程中出现依赖包缺失或版本冲突,建议先更新本地软件源缓存。执行以下命令:
```bash sudo apt-get update sudo apt-get upgrade -y ```注意:如果在执行过程中提示锁定错误,请检查是否有其他软件管理器正在运行,并将其关闭。
为了解决国产系统底层库差异导致的兼容性问题,采用Docker容器化技术部署档案软件是目前最稳定、零门槛的方案。Docker可以将应用及其依赖环境打包,实现“一次构建,到处运行”。
1. 安装Docker及Docker Compose
统信UOS和麒麟V10通常可以直接通过apt源安装Docker,执行以下命令进行安装:
```bash sudo apt-get install docker.io docker-compose -y ```安装完成后,启动Docker服务并设置开机自启:
```bash sudo systemctl start docker sudo systemctl enable docker ```2. 验证Docker安装状态
输入以下命令,若输出版本信息则表示安装成功:
```bash sudo docker --version sudo docker-compose --version ```3. 配置当前用户权限(重要)
为了避免每次执行Docker命令都需要输入sudo密码,建议将当前用户加入docker用户组:
```bash sudo usermod -aG docker $USER ```执行完上述命令后,必须注销当前用户并重新登录,或者执行 `newgrp docker` 使权限生效。
本指南以开源界成熟的文档管理系统Mayan EDMS作为“档案软件单机版”的实操对象。它具备完整的文档上传、OCR识别、版本控制和标签分类功能,完全满足单机档案管理需求。
1. 创建项目目录结构
在用户家目录下创建专门存放档案软件数据和配置的文件夹:
```bash mkdir -p ~/mayan-edms/media mkdir -p ~/mayan-edms/data cd ~/mayan-edms ```2. 编写Docker Compose配置文件
在 `~/mayan-edms` 目录下创建 `docker-compose.yml` 文件。请使用vim或nano编辑器,并将以下内容完整复制进去。不要遗漏任何缩进或标点。
```yaml version: '3.8' services: PostgreSQL 数据库服务 mayan-edms-postgres: image: postgres:15 volumes: - ./data/postgres:/var/lib/postgresql/data environment: POSTGRES_USER: mayan POSTGRES_PASSWORD: mayanuserpass POSTGRES_DB: mayan restart: always Redis 缓存与消息队列服务 mayan-edms-redis: image: redis:7 restart: always Mayan EDMS 主程序服务 mayan-edms: image: mayanedms/mayanedms:latest depends_on: - mayan-edms-postgres - mayan-edms-redis ports: - "80:80" volumes: - ./data/media:/var/lib/mayanedms/media environment: MAYAN_DATABASE_ENGINE: django.db.backends.postgresql MAYAN_DATABASE_NAME: mayan MAYAN_DATABASE_USER: mayan MAYAN_DATABASE_PASSWORD: mayanuserpass MAYAN_DATABASE_HOST: mayan-edms-postgres MAYAN_DATABASE_PORT: 5432 MAYAN_CELERY_BROKER_URL: redis://mayan-edms-redis:6379/0 MAYAN_CELERY_RESULT_BACKEND: redis://mayan-edms-redis:6379/1 初始化管理员账号密码 MAYAN_INITIAL_ADMIN_EMAIL: admin@example.com MAYAN_INITIAL_ADMIN_PASSWORD: admin123 MAYAN_INITIAL_ADMIN_FIRST_NAME: Admin MAYAN_INITIAL_ADMIN_LAST_NAME: User restart: always ```配置文件详解:
配置文件准备就绪后,即可执行启动命令。Docker Compose会自动拉取镜像并创建容器。
1. 拉取镜像并启动服务
在 `~/mayan-edms` 目录下执行:
```bash docker-compose up -d ```
参数 `-d` 表示在后台运行。初次运行需要下载约1GB左右的镜像文件,请保持网络畅通,耐心等待下载进度条走完。
2. 查看服务运行状态
执行以下命令检查三个容器(postgres, redis, mayan)是否均为 "Up" 状态:
```bash docker-compose ps ```如果看到 State 列全是 "Up",说明服务启动成功。如果有 "Exit" 状态,请执行 `docker-compose logs mayan` 查看具体报错信息,通常是端口被占用或文件夹权限不足。
3. 解决常见权限问题
国产系统有时会对挂载目录的权限限制较严。如果网页无法上传文件,请执行以下命令修复本地数据目录权限:
```bash sudo chown -R 999:999 ~/mayan-edms/data ``>这里的 `999` 是Mayan容器内部运行用户的UID,修改后需重启服务:
```bash docker-compose restart ```为了在国产操作系统的应用启动器中像原生软件一样打开档案软件,我们需要手动创建一个 `.desktop` 文件。
1. 创建快捷方式文件
执行以下命令创建桌面快捷方式:
```bash sudo nano /usr/share/applications/mayan-edms.desktop ```2. 填入快捷方式配置
将以下内容复制进去,保存并退出(Ctrl+O, Enter, Ctrl+X):
```ini [Desktop Entry] Version=1.0 Type=Application Name=档案管理系统 Name[en_US]=Mayan EDMS Comment=单机版档案管理软件 Exec=xdg-open http://127.0.0.1 Icon=folder-documents Terminal=false StartupNotify=true Categories=Office;Utility; ```3. 启用应用
创建完成后,在任务栏的应用列表中搜索“档案管理系统”,点击即可通过默认浏览器打开软件界面。为了方便,可以右键点击图标选择“发送到桌面”或“固定到任务栏”。
1. 登录系统
打开浏览器,在地址栏输入 `http://127.0.0.1` 或 `http://localhost`。使用配置文件中预设的账号登录:
2. 修改管理员密码
登录成功后,点击右上角用户头像 -> Settings -> User details -> Change password。这是保障单机数据安全的第一步。
3. 配置OCR文字识别(可选)
Mayan EDMS自带OCR功能。进入 Setup -> Setup OCR,确保OCR后端已自动启用。上传一份PDF或图片测试,系统会自动提取其中的文字内容,建立全文索引。
作为单机版档案软件,数据安全完全依赖本地维护。建议编写一个简单的定时备份脚本。
1. 编写备份脚本
创建 `backup.sh`:
```bash nano ~/backup.sh ````填入以下内容(将 `~/mayan-edms/data` 备份到 `/backup` 目录):
```bash !/bin/bash DATE=$(date +%Y%m%d_%H%M%S) BACKUP_DIR="/backup/mayan_backup_$DATE" mkdir -p $BACKUP_DIR cp -r ~/mayan-edms/data $BACKUP_DIR echo "Backup completed at $BACKUP_DIR" ```2. 设置定时任务
使用 `crontab -e` 添加每天凌晨2点自动备份:
```bash 0 2 /bin/bash ~/backup.sh ```至此,一套完整的、支持国产系统的单机版档案软件环境已部署完毕。通过Docker技术,我们规避了复杂的底层依赖编译问题,实现了在统信UOS和麒麟系统上的无缝运行。