手把手教你用yum本地源搞定OnlyOffice离线安装(附PostgreSQL、Redis、Nginx全套配置)
·
企业级OnlyOffice离线部署全攻略:构建可迁移的本地Yum仓库
在数字化转型浪潮中,文档协作平台已成为企业基础设施的关键组成部分。OnlyOffice作为一款开源高效的办公套件,其服务器版部署往往面临内网环境限制——无法直接访问互联网进行依赖包下载。传统逐个RPM包手动安装的方式不仅耗时耗力,更难以保证依赖关系的完整性。本文将揭示一种工业级解决方案:通过构建完整的本地Yum仓库,实现一键式离线部署,让复杂依赖管理变得像在线安装一样简单。
1. 本地Yum仓库架构设计
1.1 仓库构建原理剖析
本地Yum仓库本质上是一个包含所有必要RPM包及其元数据的文件服务器。其核心价值在于:
- 依赖自动解析 :通过
repodata元数据记录包依赖关系 - 版本固化 :锁定特定版本软件包,避免兼容性问题
- 批量部署 :支持同时为多台服务器提供安装服务
典型的企业级部署架构包含:
[互联网机器]
├── yumdownloader工具链
├── 完整依赖树抓取
└── createrepo元数据生成
[离线环境]
├── HTTP/NFS仓库服务
├── 客户端repo配置
└── 一键安装流程
1.2 准备工作清单
在可联网的CentOS/RHEL机器上准备:
# 基础工具安装
sudo yum install -y yum-utils createrepo httpd
# 仓库目录结构
mkdir -p /var/www/html/onlyoffice-repo/{packages,repodata}
chmod -R 755 /var/www/html/onlyoffice-repo
提示:建议使用与目标环境相同的OS版本准备仓库,避免兼容性问题
2. 智能抓取依赖包
2.1 核心组件下载策略
使用 yumdownloader 的进阶技巧:
# 递归下载OnlyOffice及其所有依赖
yumdownloader --resolve --destdir=/var/www/html/onlyoffice-repo/packages \
onlyoffice-documentserver postgresql redis nginx
# 验证下载完整性
ls -lh /var/www/html/onlyoffice-repo/packages | wc -l
常见企业级组件下载清单:
| 组件类别 | 必装包示例 | 备注 |
|---|---|---|
| 数据库 | postgresql-server, postgresql-libs | 建议版本9.6+ |
| 缓存系统 | redis, jemalloc | 内存优化关键 |
| Web服务器 | nginx, openssl | 需包含模块依赖 |
| 字体支持 | msttcore-fonts, dejavu-fonts | 文档渲染必备 |
2.2 仓库元数据生成
createrepo -v /var/www/html/onlyoffice-repo
# 定期更新元数据(当新增包时)
createrepo --update /var/www/html/onlyoffice-repo
关键检查点:
repodata/repomd.xml是否存在- 所有RPM包是否具有可读权限
- 存储空间是否充足(通常需要2-3GB)
3. 离线环境部署实战
3.1 仓库迁移与发布
将 /var/www/html/onlyoffice-repo 目录打包传输到离线环境:
# 打包压缩
tar -czvf onlyoffice-repo.tar.gz -C /var/www/html onlyoffice-repo
# 离线环境解压部署
scp onlyoffice-repo.tar.gz root@offline-server:/var/www/html/
ssh root@offline-server "tar -xzvf /var/www/html/onlyoffice-repo.tar.gz -C /var/www/html/"
启动简易Web服务:
systemctl start httpd
systemctl enable httpd
firewall-cmd --permanent --add-service=http
firewall-cmd --reload
3.2 客户端配置优化
创建 /etc/yum.repos.d/onlyoffice.repo :
[onlyoffice-offline]
name=OnlyOffice Local Repository
baseurl=http://<仓库服务器IP>/onlyoffice-repo
enabled=1
gpgcheck=0
priority=1
验证仓库可用性:
yum clean all
yum repolist enabled
yum --disablerepo="*" --enablerepo="onlyoffice-offline" list available
4. 一键式安装与调优
4.1 批量化安装流程
# 单命令完成所有组件安装
yum install -y onlyoffice-documentserver postgresql-server redis nginx
# 数据库初始化
postgresql-setup initdb
systemctl start postgresql
sudo -u postgres psql -c "CREATE DATABASE onlyoffice;"
4.2 性能调优参数
在 /etc/onlyoffice/documentserver/default.json 中配置:
{
"services": {
"CoAuthoring": {
"sql": {
"type": "postgres",
"dbHost": "localhost",
"dbPort": "5432",
"dbName": "onlyoffice",
"dbUser": "onlyoffice",
"dbPass": "your_secure_password"
},
"redis": {
"host": "localhost",
"port": "6379"
}
}
}
}
关键服务启动顺序:
- PostgreSQL数据库
- Redis缓存服务
- OnlyOffice文档服务
- Nginx反向代理
4.3 健康检查与排错
验证服务状态:
# 检查服务端口监听
ss -tulnp | grep -E '5432|6379|80'
# 日志实时监控
journalctl -f -u postgresql -u documentserver
常见问题处理指南:
- 依赖缺失 :使用
repoquery --requires <package>检查依赖链 - 服务启动失败 :检查
/var/log/messages和组件专属日志 - 性能瓶颈 :调整PostgreSQL的
shared_buffers和Redis的maxmemory
更多推荐



所有评论(0)