ONLYOFFICE 介绍

ONLYOFFICE 是一款开源的办公套件,由拉脱维亚软件公司 Ascensio System SIA 开发。它提供了完整的文档编辑和协作功能,支持在线和离线使用,适用于个人、企业和教育机构。
在这里插入图片描述

主要特点
  1. 多平台支持

    • 云服务:可通过浏览器直接访问。
    • 自托管:支持在 Linux 和 Windows 服务器上部署。
    • 桌面客户端:提供 Windows、macOS 和 Linux 版本。
    • 移动应用:支持 iOS 和 Android 设备。
  2. 文档编辑功能

    • 支持创建、查看和编辑多种格式的文档,包括 DOCX、ODT、XLSX、ODS、CSV、PPTX、ODP 等。
    • 提供 PDF 填表功能。
  3. 协作功能

    • 实时协作编辑。
    • 评论和批注。
    • 版本历史记录。
  4. 集成能力

    • 可与 Nextcloud、ownCloud、Seafile 和 Confluence 等平台集成。
  5. 安全性和隐私

    • 提供端到端加密选项。
    • 支持私有云安装,确保数据安全。
  6. 开源和商业版本

    • 社区版:开源免费,适合个人和小型团队。
    • 企业版:提供更多高级功能和专业技术支持。
适用场景
  • 教育机构:提供符合 GDPR 标准的办公套件,支持学术格式和导航。
  • 企业:支持大规模部署,具有高度可扩展性。
  • 个人用户:提供免费的桌面和在线编辑器,功能丰富且用户友好。

Docker 安装部署 ONLYOFFICE

使用 Docker 部署 ONLYOFFICE 是一种方便且推荐的方法,可以自动配置所有依赖项,减少安装和配置的复杂度。

前提条件
  • 已安装 Docker(版本 1.10 或更高)。
  • 具备基本的 Docker 命令行操作知识。
安装步骤
  1. 拉取 ONLYOFFICE Docker 镜像

    docker pull onlyoffice/documentserver
    
  2. 运行 ONLYOFFICE 容器

    docker run -i -t -d -p 8085:80 --restart=always \
      -v /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice \
      -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data \
      onlyoffice/documentserver
    

    参数说明

    • -p 8085:80:将宿主机的 8085 端口映射到容器的 80 端口。
    • --restart=always:设置容器在退出时自动重启。
    • -v:挂载卷,用于持久化存储日志和数据。
  3. 访问 ONLYOFFICE

    打开浏览器,访问 http://<宿主机IP>:8085,应该能看到 ONLYOFFICE 的欢迎页面。

高级配置
  1. 使用 Nginx 反向代理

    如果希望通过域名访问 ONLYOFFICE,可以配置 Nginx 反向代理。

    Nginx 配置示例

    upstream office {
      server 127.0.0.1:8085;
    }
    
    server {
      listen       443 ssl;
      listen       [::]:443 ssl;
      http2 on;
      server_name  office.example.com;
    
      location / {
        proxy_pass http://office;
        proxy_set_header User-Agent $http_user_agent;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $host:$server_port;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header X-Forwarded-Proto https;
      }
    }
    
    server {
      listen 80;
      server_name office.example.com;
      return 301 https://$host$request_uri;
    }
    
  2. 使用 Docker Compose

    可以创建 docker-compose.yml 文件来简化部署。

    示例 docker-compose.yml

    version: '3'
    
    services:
      documentserver:
        image: onlyoffice/documentserver
        container_name: onlyoffice_documentserver
        restart: always
        ports:
          - "8060:80"
        environment:
          - JWT_SECRET=your_secret_key
        volumes:
          - /vol1/1000/docker/onlyoffice/logs:/var/log/onlyoffice
          - /vol1/1000/docker/onlyoffice/data:/var/www/onlyoffice/Data
          - /vol1/1000/docker/onlyoffice/lib:/var/lib/onlyoffice
          - /vol1/1000/docker/onlyoffice/db:/var/lib/postgresql
    

    启动服务

    docker-compose up -d
    
验证部署
  1. 访问测试

    通过浏览器访问配置的地址(如 http://<宿主机IP>:8085https://office.example.com),应该能看到 ONLYOFFICE 的欢迎页面。

  2. 集成测试

    • 与 Nextcloud 集成
      • 在 Nextcloud 的应用市场中安装 ONLYOFFICE 插件。
      • 配置 ONLYOFFICE 的地址和 JWT 密钥(如果启用)。
      • 测试在 Nextcloud 中创建和编辑文档。
常见问题解决
  1. 端口冲突

    • 确保宿主机上指定的端口(如 8085)未被其他服务占用。
    • 可以修改 -p 参数中的宿主机端口。
  2. 权限问题

    • 确保挂载的目录具有正确的读写权限。
    • 可以使用 chmod 命令调整目录权限。
  3. Docker 启动失败

    • 检查 Docker 日志以获取错误信息:

      docker logs <容器ID>
      
    • 根据日志中的错误信息进行相应的调整。

  4. 自签名证书问题

    • 如果使用自签名证书,浏览器可能会提示不安全。
    • 可以在浏览器中添加例外,或使用受信任的证书。
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐