数字档案馆系统:电子档案全流程部署与录入实操指南
一、前置环境准备
1. 基础服务器依赖安装
以CentOS7系统为例,执行以下命令一键安装核心依赖,全程直接复制即可:
- 安装Git代码工具:yum install -y git
- 安装MySQL5.7数据库:yum install -y mysql-server && systemctl enable mysqld && systemctl start mysqld
- 安装PHP7.4运行环境:yum install -y php php-mysqlnd php-gd php-xml php-mbstring
- 安装Nginx服务器:yum install -y nginx && systemctl enable nginx && systemctl start nginx
- 安装格式转换工具:yum install -y libreoffice-headless libreoffice-writer
2. 数据库初始化配置
先执行MySQL安全初始化设置密码:mysql_secure_installation(按提示操作),再登录MySQL:
mysql -u root -p
在MySQL命令行执行以下SQL完成授权:
```sql CREATE DATABASE digital_archive DEFAULT CHARACTER SET utf8mb4; CREATE USER 'archive_user'@'localhost' IDENTIFIED BY 'Archive@2024!'; GRANT ALL ON digital_archive. TO 'archive_user'@'localhost'; FLUSH PRIVILEGES; EXIT; ```二、系统源码部署
1. 代码拉取与依赖安装
创建部署目录并拉取稳定版源码:
- 创建目录:mkdir -p /opt/digital-archive && cd /opt/digital-archive
- 拉取源码:git clone -b master https://github.com/digital-archive/open-digital-archive.git .
- 安装PHP依赖:curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer && composer install --no-dev
2. 核心配置文件修改
覆盖数据库配置文件(路径:/opt/digital-archive/config/database.php),内容如下:
```php 'mysql', 'connections' => [ 'mysql' => [ 'driver' => 'mysql', 'host' => '127.0.0.1', 'port' => '3306', 'database' => 'digital_archive', 'username' => 'archive_user', 'password' => 'Archive@2024!', 'charset' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci', 'prefix' => '', 'strict' => true, ], ], ]; ```修改Nginx配置(路径:/etc/nginx/conf.d/archive.conf),内容如下:
```nginx server { listen 80; server_name 你的服务器IP或自定义域名; root /opt/digital-archive/public; index index.php; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } } ```重启Nginx生效:systemctl restart nginx
三、电子档案核心功能实操
1. 档案格式标准化转换
数字档案需转PDF/A格式保证长期可读,单文件转换命令:

libreoffice --headless --convert-to pdfa /待归档文件路径/xxx.docx --outdir /归档文件存储目录/
批量转换Shell脚本(将待转换文件放入指定目录):
```bash for file in /待转换目录/.{docx,doc,xls,xlsx,pptx}; do if [ -f "$file" ]; then libreoffice --headless --convert-to pdfa "$file" --outdir /归档文件存储目录/ fi done ```2. 批量录入与校验
步骤1:在系统后台点击「批量导入」→「下载导入模板」,模板字段为:档案编号、题名、责任者、形成日期、归档日期、文件路径;
步骤2:若模板为GBK编码,执行转UTF-8命令:iconv -f gbk -t utf8 导入模板.csv -o 导入模板_utf8.csv;
步骤3:用curl调用系统API导入(需先在后台生成管理员token):
```bash curl -X POST http://你的服务器IP/api/batch-import \ -H "Content-Type: multipart/form-data" \ -F "file=@/路径/导入模板_utf8.csv" \ -F "token=你的管理员token" ```3. 定时归档备份
配置crontab实现每日凌晨2点自动备份,执行crontab -e,添加以下内容:
备份文件自动按日期命名,无需手动维护。
四、常见问题排查
1. 批量导入失败
优先检查模板编码是否为UTF-8,再确认文件路径是否与实际存储目录一致,确保归档文件已上传至服务器对应路径。
2. PDF/A转换失败
执行yum install -y libreoffice-headless libreoffice-writer补全组件,再重试转换操作。
3. 系统访问404
检查Nginx配置的root路径是否为/opt/digital-archive/public,执行ls /opt/digital-archive/public确认index.php存在,重启Nginx即可。