群晖docker nextcloud onlyoffice 自签https 搭建在线文档编辑

2020-06-23 11:09:00 29点赞 157收藏 17评论

创作立场声明:我的配置:群晖DS1618+ 红盘6T*6;内存太贵自己换了,空个PICe有时间再折腾~;欢迎喜欢玩NAS和服务器的盆友分享折腾避坑

【先说需求实现】:多设备文档同步/备份、office文档在线编辑(核心需求)

【闲扯话题】:为了office在线编辑,折腾了一大圈,搭过office online server + sharepoint server,也用过群晖自带的;前者太庞大,后者需要转格式;加上其他各种折腾,最终还是觉得Nextcloud+onlyoffice最好

【安装前准备】:

1、群晖 : 安装docker + MariaDB 10

2、DDNS : 推荐f3322 (公云PubYun)

*有服务器和固定IP的略过1和2群晖docker nextcloud onlyoffice 自签https 搭建在线文档编辑 ,可以直接看下一条有哪些坑需要避;

【坑在哪里】:主要就是自签HTTPS证书,nextcloud和onlyoffice都需要改免受信(没80和443端口,不想折腾Let’s encrypt);另外,千万不要直接cp在docker映射的目录下放需要同步的文件,不然文件没法进nextcloud的数据库记录;

onlyofficeonlyoffice


怎么选购

本来不想导购的,既然是什么值得买,那还是说说吧;NAS品牌基本都用过,个人只推荐群晖(黑的用过2年,618转白DS1618+);也不吐槽其他家的NAS了,留给评论区

群晖(Synology)DS1618+6盘位NAS网络存储服务器(无内置硬盘)6800元京东去购买

如果懂硬件,群晖官方有非常好的配置对比查询,个人推荐买intel x86的;别谈性能(要当PC用的那种),要性能自己装。

给几个推荐:DS218+DS918+DS1618+(适合深度折腾的盆友,主要是贵,需求看盘位)

如果只存小姐姐的就看什么便宜买什么就好,盘位合适就行;


不行,还是得吐槽下,话说NAS为什么贵,就因为系统和软件啊!

软件呢?一个比一个渣~,最好用的还是 docker…………


搭建走起

一、部署 MariaDB 10,安装docker(群晖套件中心)

安装 MariaDB 10 启用 Tcp/ip(最新的版本光字母大小写还不够,密码一定要带符号;密码记不住啊~)

MariaDB 10MariaDB 10

安装phpMyAdmin(不装也行,主要初始化安装nextcloud的时候可以看看数据库的情况,安装时会自动装依赖项)

phpMyAdminphpMyAdmin

安装docker(这是已经装好nextcloud和onlyoffice的图)

dockerdocker

基本都是麻瓜式安装,简单;

二、注册f3322,配置ddns

f3322的注册我就不说了,用其他ddns也都没问题;直接说配置ddns吧(可以配置在路由,我这里说配置群晖的,需要用到添加自定义)

群晖 控制面板-外部访问-DDNS,选择 自定义,服务供应商随便填;

Query URL:http://members.3322.net/dyndns/update?system=dyndns&hostname=__HOSTNAME__

f3322f3322

选择 新增 填写注册的ddns信息(用户名 和 密码 就是登录f3322的用户名和密码)

DDNSDDNS


三、安装nextcloud

准备nextcloud文档映射目录,新建docker.nextcloud.data

docker 容器 映射目录docker 容器 映射目录

docker 注册表中搜索 nextcloud 往下拉选择 19.0.0 版本

nextcloudnextcloud

docker安装配置nextcloud,双击 镜像,选择 高级设置,勾选 启用自动重启

群晖docker nextcloud onlyoffice 自签https 搭建在线文档编辑

选择 卷 添加映射路径 dockers/nextccloud/data=>/var/www/html/data

群晖docker nextcloud onlyoffice 自签https 搭建在线文档编辑

配置端口,本地端口可以自己定,一般8080以上没问题;80对应http,443对应https

群晖docker nextcloud onlyoffice 自签https 搭建在线文档编辑

配置环境,貌似不配置数据库信息,nextcloud会直接自带的sqllite数据库

数据库地址:MYSQL_HOST:172.17.0.1:3307 (172.17.0.1是docker的默认bridge网关,3307是MariaDB端口)

数据库账户:MYSQL_USER:你的账户;默认root

数据库密码:MYSQL_PASSWORD:你那难记的密码

数据库名:MYSQL_DATABASE:next_cloud;(库不用先建,nextcloud会自己建)

群晖docker nextcloud onlyoffice 自签https 搭建在线文档编辑

点 应用,选择 下一步,检查没错就可以直接 点击 应用,开始启动容器

群晖docker nextcloud onlyoffice 自签https 搭建在线文档编辑

群晖docker nextcloud onlyoffice 自签https 搭建在线文档编辑

浏览器访问,本地ip访问或ddns域名访问都行,注意加上配置的端口(话说回来,ddns访问路由器要设置端口映射,这里就不废话了);

群晖docker nextcloud onlyoffice 自签https 搭建在线文档编辑

坑1:有时候会提示无法访问数据库,或者xxx错误之类的;然而,只要你确定数据库 账号 密码 端口都没错的话,果断多点几次 安装完成 说不定就好了。搞得我怀疑人生~

群晖docker nextcloud onlyoffice 自签https 搭建在线文档编辑

群晖docker nextcloud onlyoffice 自签https 搭建在线文档编辑

群晖docker nextcloud onlyoffice 自签https 搭建在线文档编辑

数据库:nextcloud自己建了“oc_管理员名”的账户和库;如果重装nextcloud之类的,建议全部先删掉;

群晖docker nextcloud onlyoffice 自签https 搭建在线文档编辑

nextcloud就已经可以使用了,接着先配置nextcloud的https;


四、https自签证书(不会用cmd或shell的,跟着操作就行)

群晖 控制面板 终端机和SNMP 启动SSH功能

群晖docker nextcloud onlyoffice 自签https 搭建在线文档编辑

电脑 搜索 CMD ,输入 ssh admin@群晖局域网IP ; 回车输入admin的密码(不会显示)

群晖docker nextcloud onlyoffice 自签https 搭建在线文档编辑

进入后一顿操作:

1、sudo -i (再次输入群晖admin密码,获取root权限;不然docker命令用不了)

2、docker container ls -a (查看当前运行的容器,记住 container id)

3、docker exec -it [容器ID或名称] /bin/bash (容器ID只要输入前几个,能不跟其他的重复就行)

坑2,一定要修改容器时区,不然修改apache2的ssl重启后,容器会无线重启,不然会~无~线~重~启~,重启~

4、echo "Asia/Shanghai" > /etc/timezone; (重点:修改容器时区)

5、ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime (也是修改时区,都要操作)

6、date -R (查看时间是否正确)

群晖docker nextcloud onlyoffice 自签https 搭建在线文档编辑

正式开始自签HTTPS ssl证书,又是一顿操作

1、mkdir /etc/ssl/ca/ (创建ca文件夹)

2、cd /etc/ssl/ca/ (到ca文件夹)

3、openssl genrsa -out ca.key 2048

4、openssl req -new -key ca.key -out ca.csr (根据提示,输入各种信息,部分信息打码)

坑3:划重点,提示 Common Name (e. g. server FQDN or YOUR name) []: 一定要填ddns的域名,就是xxx.f3322.net

5、openssl x509 -req -in ca.csr -signkey ca.key -out ca.crt

6、openssl genrsa -out server.key 2048

7、openssl rsa -in server.key -pubout -out server.pem

8、penssl req -new -key server.key -out server.csr (又是一顿填信息,还是那个位置记得填域名)

9、openssl x509 -req -CA ca.crt -CAkey ca.key -CAcreateserial -in server.csr -out server.crt

以上,证书就签完了,别问,问就是不懂,操作就行;也可以评论区上更简单的命令行

群晖docker nextcloud onlyoffice 自签https 搭建在线文档编辑

修改 apache 的ssl证书配置:本来想用vim来修改的,结果apt update各种不行,apt源改了也不行;只能曲线救国,先复制到 群晖,修改完再复制回复了………………;划红线,但没写出来的,可以不用操作;

1、ls (查看那一堆证书文件,最终要用 server.crt 和 server.key)

2、cd /etc/apache2/

3、cp sites-available/default-ssl.conf /var/www/html/data/

配置证书路径配置证书路径

回到群晖,或电脑链接共享文件夹,在docker.nextcloud.data目录下编辑 default-ssl.conf 这个文件;将红线的地方如下图修改;

群晖docker nextcloud onlyoffice 自签https 搭建在线文档编辑

修改完后,回到终端接着操作

4、cp /var/www/html/data/default-ssl.conf sites-available/

5、ln -s sites-available/default-ssl.conf sites-enabled/000-default-ssl.conf

6、a2enmod ssl (启用ssl)

7、service apache2 restart (重启apache服务器)

nextcloud就可以通过 https 进行访问了;

下面可以不用操作:

如果想http强制转https的,在/etc/apache2/sites-available/000-default.conf 这个文件<VirtualHost*:80>标签中增加

RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*) https://%{SERVER_NAME}$1 [L,R]

保存,然后:

1、a2enmod rewrite

2、service apache2 restart

打开浏览器访问,遇到这个问题,直接点击继续访问就行;因为是自签证书;

群晖docker nextcloud onlyoffice 自签https 搭建在线文档编辑


接着来,下图是遇到域名问题,之前用ip访问的,改成用ddns,或者相反的;都会遇到这个问题,这个时候就需要回去容器中接着修改配置文件;


群晖docker nextcloud onlyoffice 自签https 搭建在线文档编辑

电脑 搜索 CMD ,输入 ssh admin@群晖局域网IP ; 回车输入admin的密码(不会显示)

1、sudo -i (再次输入群晖admin密码,获取root权限;不然docker命令用不了)

2、docker container ls -a (查看当前运行的容器,记住 container id)

3、docker exec -it [容器ID或名称] /bin/bash (容器ID只要输入前几个,能不跟其他的重复就行)

4、cp /var/www/html/config/config.php /var/www/html/data/

config.phpconfig.php

配置文件里面修改三个地方;

1、trusted_domains 的 array 里面,添加自己的域名和端口,信任几个填几个,序号逐个增加就行

2、overwrite.cli.url里面,也可以直接修改为https的url地址

3、提前为office配置,不对ssl证书进行验证,添加如下代码:

'onlyoffice' =>
array (
'verify_peer_off' => TRUE,
),

坑4:第3点很重要,不然onlyoffice配置了https之后,nextcloud一直报错提示证书问题

保存后,cmd里移动回nextcloud容器中

1、mv /var/www/html/data/config.php /var/www/html/config/


别着急关CMD终端,直接就可以在nextcloud的证书先制作了,接着看;

五、onlyoffice安装及配置

制作onlyoffice证书文件

1、mkdir /var/www/html/data/certs

2、cd /var/www/html/data/certs/

3、openssl genrsa -out onlyoffice.key 2048

4、openssl req -new -key onlyoffice.key -out onlyoffice.csr (*填写各种信息,同样记得 域名的地方要用ddns的域名)

5、openssl x509 -req -days 365 -in onlyoffice.csr -signkey onlyoffice.key -out onlyoffice.crt

6、openssl dhparam -out dhparam.pem 2048 (这个要等比较久)

然后就可以一路输入 exit 退出并关闭CMD终端

在群晖docker目录下新建onlyoffice目录,并将nextcloud.data目录下的 certs 文件夹复制到 onlyoffice中

群晖docker nextcloud onlyoffice 自签https 搭建在线文档编辑

接着安装onlyoffice:

同样 docker 中下载 onlyoffice/documentserver:5.5.3.39

群晖docker nextcloud onlyoffice 自签https 搭建在线文档编辑

配置路径映射:docker/onlyoffice/certs:/var/www/onlyoffice/Data/certs

群晖docker nextcloud onlyoffice 自签https 搭建在线文档编辑

配置端口

群晖docker nextcloud onlyoffice 自签https 搭建在线文档编辑

配置完成,直接 应用 ,然后 下一步 ,应用 ,就进行安装了;然后就是等,等很久~~~~,好几分钟吧;

这个时候就可以先进onlyoffice容器中,把一些配置先修改了;

电脑 搜索 CMD ,输入 ssh admin@群晖局域网IP ; 回车输入admin的密码(不会显示)
1、sudo -i (再次输入群晖admin密码,获取root权限;不然docker命令用不了)
2、docker container ls -a (查看当前运行的容器,记住 container id)
3、docker exec -it [容器ID或名称] /bin/bash (容器ID只要输入前几个,能不跟其他的重复就行)
4、echo "Asia/Shanghai" > /etc/timezone; (重点:修改容器时区)
5、ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime (也是修改时区,都要操作)
6、date -R (查看时间是否正确)

坑5:关闭 onlyoffice 的 ssl 证书验证

7、cp /etc/onlyoffice/documentserver/default.json /var/www/onlyoffice/Data/certs/ (复制出配置文件)

在群晖或电脑上修改文件,路径:docker.onlyoffice.certs 下的 default.json;

将"rejectUnauthorized"后面的 true 改为 false

default.jsondefault.json

回到CMD容器终端,再复制回去配置文件

8、mv /var/www/onlyoffice/Data/certs/default.json /etc/onlyoffice/documentserver/

然后就可以一路输入 exit 退出并关闭CMD终端,后面再也用不上了;

重点:顺路可以把群晖的 ssh 22 端口关了;

重启onlyoffice重启onlyoffice

回到 docker 中,把onlyoffice重启;大功告成,差最后一步了;


六、nextcloud 连接 onlyoffice

进入 nextcloud ,选择 应用 Office & text,找到 ONLYOFFICE,点击下载并启用

群晖docker nextcloud onlyoffice 自签https 搭建在线文档编辑

坑6:nextcloud应用下载总因为网络原因报错,我不管,就一直重试;(不想折腾外部安装,有坑,折腾)

报错报错

坑7:最后一个坑,最好用ddns的域名来连接,用 docker bridge ip 和 局域网ip 都试过不行,估计docker内容器网络配置的问题,不折腾了

下载好之后,选择 设置,找到 ONLYOFFICE,将 onlyoffice 的ddns域名和端口填上去,点击保存即可;

onlyoffice 设置onlyoffice 设置

最后,把需要的格式文件都勾选上,就可以了;

群晖docker nextcloud onlyoffice 自签https 搭建在线文档编辑

在 nextcloud 首页就可以看到可以新建的文档;折腾这么久,最重要的就是兼容MS office,卒!

nextcloud 官网可以下载 PC 和 手机的客户端,直接用ddns的域名+端口就可以连接,实现同步;

展开 收起

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

2314.11元起

DS923+ 双核心 四盘位 NAS网络存储服务器 私有云 文件服务器

DS923+ 双核心 四盘位 NAS网络存储服务器 私有云 文件服务器

4020.64元起

Synology 群晖 DS423+ 4盘位 NAS网络存储 (Intel四核 、无内置硬盘)

Synology 群晖 DS423+ 4盘位 NAS网络存储 (Intel四核 、无内置硬盘)

3894.05元起

Synology 群晖 DS220+ 2盘位NAS (赛扬J4025、2GB)

Synology 群晖 DS220+ 2盘位NAS (赛扬J4025、2GB)

2179元起

Synology 群晖 DS920+ 4盘位 NAS存储(J4125、4GB)

Synology 群晖 DS920+ 4盘位 NAS存储(J4125、4GB)

2190.84元起

Synology 群晖 DS1821+ 8盘位 NAS(V1500B、4GB)

Synology 群晖 DS1821+ 8盘位 NAS(V1500B、4GB)

7196元起

Synology 群晖 DS1621+ 六盘位NAS (V1500B、4GB)

Synology 群晖 DS1621+ 六盘位NAS (V1500B、4GB)

6699.15元起

DS223j 双盘位 NAS网络存储服务器 私有云 智能相册 文件自动同步

DS223j 双盘位 NAS网络存储服务器 私有云 智能相册 文件自动同步

1549元起

Synology 群晖 DS1522+ 5盘位NAS(锐龙R1600、8GB)

Synology 群晖 DS1522+ 5盘位NAS(锐龙R1600、8GB)

5167.19元起

Synology 群晖 DS1821+ 8盘位NAS (V1500B、4GB)

Synology 群晖 DS1821+ 8盘位NAS (V1500B、4GB)

7899元起

Synology 群晖 DX517 5盘位NAS存 黑色

Synology 群晖 DX517 5盘位NAS存 黑色

4049元起

Synology 群晖 DS423+四盘位中小企业NAS网络存储服务器 备份一体机企业私有云网盘 DS420+升级版

Synology 群晖 DS423+四盘位中小企业NAS网络存储服务器 备份一体机企业私有云网盘 DS420+升级版

3484元起

Synology 群晖 DS720+ 双盘位NAS(J4125、2GB)

Synology 群晖 DS720+ 双盘位NAS(J4125、2GB)

4099元起

synology群晖nas云存储ds920+中小型企业办公网络存储群辉家庭个人私有云盘四盘位NAS备份硬盘服务器ds918+(DS920+希捷企业级16T*4)

synology群晖nas云存储ds920+中小型企业办公网络存储群辉家庭个人私有云盘四盘位NAS备份硬盘服务器ds918+(DS920+希捷企业级16T*4)

14946元起

Synology 群晖 DS723+ 2盘位NAS(R1600、2GB)

Synology 群晖 DS723+ 2盘位NAS(R1600、2GB)

4099元起

【 终身技术支持】Synology群晖 NAS DS1823xs+ 8盘位 高性能 网络存储文件服务器企业私有云盘

【 终身技术支持】Synology群晖 NAS DS1823xs+ 8盘位 高性能 网络存储文件服务器企业私有云盘

19800元起
17评论

  • 精彩
  • 最新
  • nextcloud坑太多了,即使官方docker镜像,后台也会报错,很佩服楼主的折腾劲。我重新找了个新方案,并写了部署教程,一路基本无脑操作。

    校验提示文案

    提交
    新方案呢? 求地址

    校验提示文案

    提交

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 还是直接用群晖的drive方便吧

    校验提示文案

    提交
    看需求,如果本地+云的模式,群晖本地的文件打不开 [黑线]

    校验提示文案

    提交
    收起所有回复
  • 我也曾经有楼主这颗折腾的心,老了以后一切图省事,随身一个西数pssd,公司本双向同步,到家再与macmini本地挂载盘同步,drive自动到群晖,解决了多方同步问题,以前也想过移动编辑,但内容实在不适合在线编辑。
    非常羡慕楼主年轻又富有激情的心态,关键能够分享,大赞

    校验提示文案

    提交
  • 要是onlyoffcie能好好搭配drive用就好了

    校验提示文案

    提交
  • 折腾过,从入门到放弃。。。

    校验提示文案

    提交
  • 厉害了~可惜啊,我是用frp 不是DDNS....还是西区不了太多经验.....

    校验提示文案

    提交
  • Error while trying to create admin user: Failed to connect to the database: An exception occurred in driver: SQLSTATE[HY000] [2006] MySQL server has gone away .请问这个问题如何解决?

    校验提示文案

    提交
    连接不到数据库,把数据库和nextcloud放到一个网络下

    校验提示文案

    提交
    收起所有回复
  • 自己折腾卡在坑5好几天了 感谢感谢

    校验提示文案

    提交
  • 折腾不容易啊,兼容WPS不?

    校验提示文案

    提交
  • 大佬,没有说路由器的端口转发吧?另外一个,OnlyOffice没法用nginx反向代理,(别问我是怎么知道的。。。),只能老实的做DDNS+端口映射。。。有let's encrypt证书,就不需要修改两个的配置文件免受信了。话说L家的证书挺好申请的,用TXT challenge就好。

    校验提示文案

    提交
  • 可道云其实也不错很推荐

    校验提示文案

    提交
  • 真企业文档管理,国内企业网盘联想、可道云、鸿翼哪个不比群晖专业好用。就看你们是不是舍得花钱了。

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
157
扫一下,分享更方便,购买更轻松