乘着最近阿里云和良心云(内测)纷纷推出了200Mbps轻量云主机,便着手打造一个协同办公云空间~

一、安装并部署 Nextcloud

  1. 下载最新 Nextcloud 官方安装文件
  2. 安装 PHP 拓展 fileinfo、opcache、redis、apcu、exif 等
  3. 上传至服务器端 /www/wwwroot 目录并进行域名解析并访问,创建账号(可选配置MySQL)
  4. 下载 OnlyOffice 插件包,上传并解压至 /www/wwwroot/nextcloud/apps 目录
  5. 进入配置好的域名站点,右上角 头像 > 应用 > 你的应用 进入菜单内,找到 ONLYOFFICE 并点击 启用

二、Docker 内部署 Onlyoffice 服务端

  1. 拉取 Onlyoffice 镜像,服务器命令行内执行:docker pull onlyoffice/documentserver
  2. 启动 Docker 容器,同时映射至其他端口:sudo docker run -i -t -d -p 替换端口数字:80 onlyoffice/documentserver
  3. 静候片刻成功后,反向代理以解析至其他域名(需要SSL)
  4. 进入容器内部 docker exec -it 容器ID或容器名称 bash
  5. 查看密钥 cat /etc/onlyoffice/documentserver/local.json 找到字段 "services": { "secret": { "inbox": { "string": "复制此处内容" } } }

三、配置菜单以使用

  1. 进入 Nextcloud 站点 头像 > 管理设置 > ONLYOFFICE
  2. ONLYOFFICE Docs 地址输入 Docker 反向代理的域名
  3. 秘钥 输入刚才提取的 string保存
  4. 进入 文件 板块里就可以打开或新建文档啦~

问题排查:

  1. 您的网络服务器不使用 JavaScript MIME 类型提供 ".mjs" 文件。 这会阻止浏览器执行 JavaScript 文件,从而破坏某些应用程序。 您应该配置您的网络服务器以使用 "text/javascript" 或 "application/javascript" MIME 类型提供 ".mjs" 文件。
  • 配置文件中添加:
types {
    application/javascript mjs;
}
  1. 无法通过 CLI 执行 cron 作业。 出现了以下技术错误: - 您的数据目录无效。 确保数据目录的根目录中有一个名为".ncdata"的文件。它应该包含以下内容:"# Nextcloud data directory"
  • 命令行执行 crontab -u www -e
  • 添加以下内容 */5 * * * * php -f /www/wwwroot/nextcloud/cron.php
  • 验证是否运行 systemctl status crond

上传测试:https://yun.bao.red/index.php/s/iLqYejM3RdkzWWg