群晖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)

2829元起

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 群晖 DS423+ 4盘位 NAS网络存储 (Intel四核 、无内置硬盘)

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

4079元起

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

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

8899元起

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

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

1529元起

Synology 群晖 DS923+ NAS网络存储服务器 标准无硬盘

Synology 群晖 DS923+ NAS网络存储服务器 标准无硬盘

4899元起

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

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

7196元起

群晖(Synology)DS124单盘位NAS网络存储服务器私有云智能相册文件自动同步

群晖(Synology)DS124单盘位NAS网络存储服务器私有云智能相册文件自动同步

1399元起

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)

13746元起

Synology 群晖 DS416 企业级 NAS网络存储

Synology 群晖 DS416 企业级 NAS网络存储

暂无报价

Synology 群晖 DS223 2盘位NAS(Realtek RTD1619B、2GB)

Synology 群晖 DS223 2盘位NAS(Realtek RTD1619B、2GB)

2279元起

Synology 群晖 DS423 四核心 4盘位 NAS网络存储 私有云 照片自动备份

Synology 群晖 DS423 四核心 4盘位 NAS网络存储 私有云 照片自动备份

3199元起

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

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

6899元起

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

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

3090元起
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
扫一下,分享更方便,购买更轻松