使用Docker及自签署证书为Nextcloud配置Onlyoffice(一)

本文介绍了如何使用Docker快速安装部署Onlyoffice Document Server并与Nextcloud集成。内容包括安装Docker环境、下载镜像、运行容器、配置HTTPS证书、关闭客户端证书认证以及重启容器。适用于Nextcloud 18.0.3版本与Onlyoffice 5.5.1版本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Nextcloud可以通过插件实现与Onlyoffice的无缝集成,后者是一个开源的在线查看、编辑office文档的工具。Onlyoffice的官方网址是:https://www.onlyoffice.com. 要实现二者的无缝集成,首先需要安装配置Onlyoffice Document Server,然后为Nextcloud安装对应的插件并完成配置。

本文所安装的onlyoffice的版本为5.5.1;nextcloud的版本号为18.0.3

一、使用Docker快速安装部署Onlyofiice Document Server

1. 安装配置Docker环境

有关Docker环境的配置,可以参考菜鸟教程相关教程的相关页面(https://www.runoob.com/docker/ubuntu-docker-install.html)这里不在赘述。

2. 下载Onlyoffice/DocumentServer镜像

$ docker pull onlyoffice/documentserver

命令执行后可以看到具体的下载进度,由于镜像文件较大(约500MB,解压缩后约2GB),下载的时间可能较长,国内用户建议选择上午下载,速度较快。如果下载成功,将可以看到下载的镜像的信息:

$ docker images
REPOSITORY                  TAG                 IMAGE ID            CREATED             SIZE
onlyoffice/documentserver   latest              d06214a03e27        2 weeks ago         2.14GB

如果提示没有权限,可以在命令前加上sudo,或者赋予当前用户运行docker命令的权限,给当前用户赋权的操作可参考第一步中的菜鸟教程的页面。

3. 运行容器

运行以下代码已创建容器并启动它:

$ docker run -itd \
    --name onlyoffice \
    -p 9000:443 \
    -p 9080:80 \
    -v $(pwd)/onlyoffice/DocumentServer/logs:/var/log/onlyoffice  \
    -v $(pwd)/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data  \
    onlyoffice/documentserver

如果容器启动成功,可以通过一下命令查看容器状态:

$ docker ps -a
CONTAINER ID        IMAGE                       COMMAND                  CREATED             STATUS              PORTS                                         NAMES
b10cb4ca780b        onlyoffice/documentserver   "/bin/sh -c /app/ds/…"   3 hours ago         Up 59 minutes       0.0.0.0:9080->80/tcp, 0.0.0.0:9000->443/tcp   onlyoffice

4. 配置https证书

使用自己创建的根证书为Onlyoffice document server签署证书,具体过程请参看《使用Docker技术部署NextCloud》一文的第六部分。需要注意的是一定要将证书的CommonName设置为网站的域名(不带https和端口号),否则在后面配置nextcloud访问onlyoffice部分的时候会报错。

为Onlyoffice document server开启https的过程很简单,只需要在$(pwd)/onlyoffice/DocumentServer/data下创建certs目录,并将私钥和证书文件放置其中即可,笔者的$(pwd)/onlyoffice/DocumentServer/data/certs目录内容如下:

$ ls -l  $(pwd)/onlyoffice/DocumentServer/data/certs
total 8
-rwxr-xr-x 1 lxd syslog 1558 Apr 21 06:55 onlyoffice.crt
-rwxr-xr-x 1 lxd syslog 1679 Apr 21 06:55 onlyoffice.key

5. 关闭客户端证书认证

默认情况下,onlyoffice会对客户端的证书进行认证,由于我们使用的是自签署证书,所以认证肯定无法通过,因此我们选择关闭相应的认证,具体的关闭方法是修改容器中/etc/onlyoffice/documentserver/default.json文件,为此,我们需要首先将文件拷贝出容器,做出相应的修改后在拷贝回去。从容器中拷贝配置文件到当前目录的命令为:

$ docker cp onlyoffice:/etc/onlyoffice/documentserver/default.json .

拷贝出文件以后,使用任何文本编辑器,查找“rejectUnauthorized"设置项,并将其值更改为“false”。笔者更改后该设置项的上下文文本片段如下:

                         "requestDefaults": {
                                "headers": {
                                        "User-Agent": "Node.js/6.13"
                                },
                                "rejectUnauthorized": false
                        },

将文件拷贝回容器的命令如下:

$ docker cp default.json nextcloud:/etc/onlyoffice/documentserver/default.json

6. 重启容器一使配置生效

$ docker restart onlyoffice

至此,Onlyoffice 的 Document server配置完成,可以通过浏览器访问 https://<your-domain>:9000/看到 “Document Server is running”的页面了

<think>好的,我需要帮助用户了解如何通过Docker安装Nextcloud配置OnlyOffice的集成。首先,我应该回顾用户提供的参考引用,这些引用包含了具体的步骤和注意事项。用户提到了三个引用,其中引用了如何解压文件到Nextcloud的apps目录,如何启用OnlyOffice连接器,以及如何修改配置文件允许本地远程服务器。 首先,我需要确定Docker安装Nextcloud的基本步骤。可能包括拉取镜像、创建容器、映射端口和卷。接下来是安装OnlyOffice Document Server,同样使用Docker,需要注意版本兼容性,比如Nextcloud 29.0.4对应OnlyOffice连接器9.5.0。然后,用户需要将OnlyOffice连接器安装到Nextcloud的apps目录,这可能需要解压文件并启用应用。 配置部分可能需要修改Nextcloud的config.php文件,添加允许本地远程服务器的设置,如'allow_local_remote_servers' => true;。此外,在Nextcloud的管理界面中配置OnlyOffice的地址,确保两者能够通信。 用户可能遇到的问题包括版本不兼容、路径错误或权限问题。需要提醒用户注意检查版本对应关系,正确放置文件到指定目录,并重启服务使配置生效。同时,要确保Docker容器之间的网络连通性,可能需要使用Docker网络或正确设置主机地址。 最后,生成相关问题时应围绕安装步骤、配置细节、常见问题解决以及优化方法。确保回答结构清晰,步骤详细,并引用提供的参考资料中的具体步骤和配置语句。</think>### Docker安装Nextcloud配置OnlyOffice集成 #### 、安装Nextcloud 1. **拉取镜像并启动容器** 使用Docker命令部署Nextcloud,映射数据卷并配置端口: ```bash docker run -d \ --name nextcloud \ -p 8080:80 \ -v /root/nextcloud:/var/www/html \ nextcloud ``` - 数据卷`/root/nextcloud`用于持久化配置和文件[^3]。 2. **初始化配置** 访问`http://服务器IP:8080`,按向导完成管理员账号设置和数据库配置(推荐使用MySQL容器)。 --- #### 二、部署OnlyOffice Document Server 1. **拉取镜像并启动容器** ```bash docker run -d \ --name onlyoffice \ -p 9000:80 \ -v /root/onlyoffice/logs:/var/log/onlyoffice \ -v /root/onlyoffice/data:/var/www/onlyoffice/Data \ onlyoffice/documentserver ``` - 确保端口`9000`未被占用[^1]。 --- #### 三、集成OnlyOfficeNextcloud 1. **安装OnlyOffice连接器** - 下载对应版本的连接器(如Nextcloud 29.0.4需OnlyOffice连接器9.5.0)[^2]。 - 将压缩包`onlyoffice.tar.gz`上传至`/nextcloud/apps/`目录并解压。 - 在Nextcloud后台的**应用 → 已禁用**中启用该连接器。 2. **修改Nextcloud配置文件** 编辑`/root/nextcloud/config/config.php`,添加: ```php 'allow_local_remote_servers' => true, ``` 此配置允许连接本地服务[^3]。 3. **配置OnlyOffice地址** - 进入Nextcloud设置 → **管理 → OnlyOffice**。 - 输入OnlyOffice服务器地址:`http://服务器IP:9000`。 - 保存后检查状态显示为"Connected"。 --- #### 四、验证功能 1. 在Nextcloud中新建文档(如.docx),若可直接用OnlyOffice打开编辑,则集成成功。 2. **常见问题**: - **连接失败**:检查防火墙是否开放9000端口,确认Docker容器网络互通。 - **版本冲突**:严格匹配NextcloudOnlyOffice连接器版本[^2]。 ---
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值