简介:本文详细解析OnlyOffice在非Docker环境下的私有化部署方案,涵盖系统要求、安装步骤、配置优化及常见问题解决,助力企业实现高效安全的文档协作。
在OnlyOffice私有化部署方案中,Docker因其轻量级、隔离性强的特点被广泛采用。然而,并非所有企业环境都适合Docker部署:
| 组件 | 最小配置 | 推荐配置 |
|---|---|---|
| CPU | 2核 | 4核及以上 |
| 内存 | 4GB | 8GB以上(生产环境) |
| 存储 | 20GB(仅文档存储) | 100GB+(含备份空间) |
| 网络带宽 | 10Mbps | 100Mbps及以上 |
# Ubuntu/Debian示例sudo apt-get install -y \libcurl4-openssl-dev \libgdiplus \mono-complete \redis-server
安装PostgreSQL:
sudo apt-get install postgresql postgresql-contrib
创建专用用户和数据库:
CREATE USER onlyoffice WITH PASSWORD 'SecurePass123';CREATE DATABASE onlyofficedb OWNER onlyoffice;ALTER DATABASE onlyofficedb SET encoding TO 'UTF8';
配置pg_hba.conf(允许本地连接):
host all onlyoffice 127.0.0.1/32 md5
下载安装包:
wget https://github.com/ONLYOFFICE/DocumentServer/releases/download/v7.4.1/onlyoffice-documentserver_amd64.deb
安装依赖并运行:
sudo apt-get install -fsudo dpkg -i onlyoffice-documentserver_amd64.deb
关键配置文件路径:
/etc/onlyoffice/documentserver/local.json/var/log/onlyoffice/documentserver/配置示例:
server {listen 80;server_name docs.example.com;location / {proxy_pass http://127.0.0.1:8000;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;}client_max_body_size 100M;}
HTTPS配置建议:
内存限制调整(/etc/onlyoffice/documentserver/core.json):
{"services": {"coauthoring": {"cpu": 2,"mem": "2g"}}}
并发连接数优化:
# 在/etc/sysctl.conf中添加net.core.somaxconn = 4096net.ipv4.tcp_max_syn_backlog = 2048
防火墙规则:
sudo ufw allow 80/tcpsudo ufw allow 443/tcpsudo ufw deny 22/tcp # 建议配合VPN使用
文件权限管理:
sudo chown -R onlyoffice:onlyoffice /var/www/onlyoffice/datasudo chmod -R 750 /var/www/onlyoffice/data
现象:服务启动失败,日志显示”could not connect to server”
解决方案:
sudo systemctl status postgresql
psql -h localhost -U onlyoffice -d onlyofficedb
/etc/onlyoffice/documentserver/local.json中的数据库配置现象:上传文档后转换超时
排查步骤:
tail -f /var/log/onlyoffice/documentserver/converter/out.log
sudo apt-get install libreoffice-java-common
core.json):
{"converter": {"timeout": 300}}
备份策略:
#!/bin/bashBACKUP_DIR="/backups/onlyoffice/$(date +%Y%m%d)"mkdir -p $BACKUP_DIRpg_dump -U onlyoffice onlyofficedb > $BACKUP_DIR/db_backup.sqlcp -r /var/www/onlyoffice/data $BACKUP_DIR/
监控指标:
systemctl status ds-coretop -p $(pgrep -f onlyoffice)netstat -anp | grep :8000 | wc -l升级路径:
sudo onlyoffice-documentserver-update.sh
LDAP/AD集成:
local.json):
{"ldap": {"enabled": true,"url": "ldap://ad.example.com","baseDn": "DC=example,DC=com","bindDn": "CN=ServiceAccount,OU=ServiceAccounts,DC=example,DC=com"}}
单点登录(SSO):
API集成示例:
// 获取文档列表fetch('/api/2.0/files', {headers: {'Authorization': 'Bearer ' + API_TOKEN}})
在典型生产环境中进行的压力测试结果:
| 并发用户数 | 平均响应时间 | 文档转换成功率 |
|---|---|---|
| 50 | 1.2s | 100% |
| 100 | 2.8s | 98% |
| 200 | 5.1s | 95% |
测试环境配置:
非Docker环境下的OnlyOffice私有化部署虽然需要更多的手动配置,但能提供更好的资源控制和运维灵活性。建议:
对于资源有限的企业,可以考虑从单节点部署开始,随着业务发展逐步扩展为集群架构。OnlyOffice官方提供的非容器化部署方案经过长期验证,在稳定性方面具有良好表现。