群晖NAS打造私有云nextcloud+onlyoffice

参考文章来自这篇文章,https://post.smzdm.com/p/735879/
但实际安装过程中发现不少不一致和没写清楚的地方,进行补充。当前时间是2020-5-15,使用的nextcloud版本是18.04,先说下这个版本在哪看,找这个找了半天,在概览里面。

image.png

以下为正文:

一、nextcloud私有云的docker安装
首先,在群晖docker应用的注册表里面,搜索并下载wonderfall/nextcloud的docker镜像,如下图所示:


image.png

和参考文不同,直接下载的第一个星最多的。
下载好nextcloud的docker镜像以后,我们在“映像”标签页中选择启动这个镜像,并在弹出的对话框中选择“高级设置”。这里我们对“卷”和“端口设置”里面的内容进行设置。
卷设置,这个和参考文不一样,参考文里是app2,估计这和他下载的镜像有关。我查到的配置参数是这样的


image.png

因此我的卷配置为,注意这里给外部的文件夹读写权限。
image.png

端口设置


image.png

成功后访问对应的18082端口


image.png

首次访问,要设置一个管理员账号和密码,同时需要配置数据库,默认的话是sqllaite,这里还有mysql和mariaDB,postageSql可以选择。
image.png

因为我的群晖中已经有MariaDB10 数据库,所以打算就用这个。


image.png

然后安装一个phpmyadmin来登陆这个数据库。数据的密码年代久远,已经忘了,试下和nas的密码,居然进来了,或者点击MariaDb也可以修改密码。这里还能查到端口号,后面有用。
image.png

使用phpmyadmin新建一个数据库,名称nextcloud
image.png

回到nextcloud页面填入新建的参数
image.png

注意还需要填数据库的端口号。然后这里又有坑,
image.png

软件是安装在docker里的,数据再nas里也就是宿主机内,这个网络不通。搜索这个问题的解决方法,网上一堆登陆到ssh里修个的办法,太麻烦,直接在phpadmini输入这句接可以了。

GRANT ALL PRIVILEGES ON . TO 'root'@'%'IDENTIFIED BY '你的密码' WITH GRANT OPTION;

image.png

然后耐心等待系统把套件下载安装完成。


image.png

安装完成后将地址映射到外网,通过外网访问,出现以下错误。


image.png

按提示是说要配置config/php文件,看了以下映射的文件夹内,是有这个文件存在。
image.png

打开配置文件里内容
image.png

加一条自己的域名


image.png

然后系统奔溃了,到处是坑。
image.png

这恶心的问题在于,当外部修改后的文件放入时读写权限发生了变化,nas里查看新config.php文件的权限。
image.png

在看一下其他配置的权限
image.png

所以要给改的文件重新读写权限设置。然后通过外网就可以访问了
image.png

----分割-- 以下安装插件
比较适合安装的插件是

  • draw.io
  • mind
  • mail
  • onlyoffice
    先去nextcloud的cloud的商店下载下来,记住版本是的选择,我这是18.
    https://apps.nextcloud.com/ 这个网站下载,速度有点慢。
    image.png

    下载完后放到刚才映射的app的文件夹里
    image.png

    如果映射没问题,那么在nextcloud的应用里就多处这四个插件。
    image.png

    启用这4个插件。
    image.png

    成功后在新建文件这就会有多两按钮,设置保存就可以了。
    image.png

    ---onlyoffice
    安装部分网上很多,就不描述,也是按docker安装的,已经能看到服务了。
    image.png

    在nextcloud的设置里,会多一个onlyoffice的设置按钮
    image.png

    这里又遇到问题,在内网的话可以正确连接到服务器,把服务器地址放外网一直提示连接失败。
    image.png

    image.png

    加了上面那个也没用,在这git上有答案
    https://github.com/ONLYOFFICE/onlyoffice-owncloud/issues/181
    image.png

    按红色 的临时方案解决,进入到onlyoffice的镜像里改这个值。
    image.png

    找到了,但是设备上没有vi,没法改。
    image.png

    曲线救国先把文件复制到映射文件夹,拿到外部改完了再放回去。
    image.png

    外部修改。
    image.png

    以上的所有操作证明都无效,这个问题网络上有很多的提问,但是一直没找到答案,经过2天的分析,终于明白了失败的具体原因,和我当前的组网有关系,下面先画一个目前组网的示意图。另外需要知道这两设备有两个过程要做:1.nextcloud连接onlyoffice 2.onlyoffice到nextcloud拉取文件

第一种情况:配置onlyoffice地址为192.168.x.x

image.png

服务地址配置192.168.x.x,能正常连接也能正常访问,数据不通过外部网络,不过这时候只能局域网自己玩玩,如果从外网的某一主机连入,会出现加载服务器错误,因为这时候配置的是192.168.x.x,此时外部发起的请求,onlyoffice还是会去连接192.168.x.x地址。


image.png

第二种情况:配置onlyoffice地址外部映射地址115.xxx.xx.xx

在这个情形会出现另一种情况,在局域网内我们通过192.168.xx.xx的地址去访问nextcloud和onlyoffice的服务都是可以正常的,但是在内网通过115.xxx.xx.xx地址访问,直接会找不到服务器。这里涉及到另一个问题,就是在局域网内通过自身公网访问自己,路由器在收到这类地址的时候好像是为了安全,丢弃这类数据的,这就导致了如果给nextcloud配置onlyoffice外网地址路由器这关都过不去。配置的时候会提示连接失败,网上很少改host的方法,对路由要求太高,容易弄乱网络。


image.png

配置外网地址,在外网访问会出现文件拉取错误。


image.png

这问题在当前网络环境下难以解决,只想到了两个办法

1.在另一台云主机安装配置onlyoffice

方案一很简单,网络示意如下图


image.png

这个情形下很好理解,不过在配置的时候有一个地方需要注意,在外网时没问题,但如果通过内外访问,会出现无法拉取文件的问题,查看onlyoffice的文件错误提示(文件在docker 镜像内部/root/onlyoffice/logs/documentserver/converter/out.log里)

[2020-05-15T19:56:40.301] [ERROR] nodeJS - error downloadFile:url=http://192.168.1.110:18082/apps/onlyoffice/empty?doc=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhY3Rpb24iOiJlbXB0eSJ9.IFkknNDAekyomrhunK1KvdH29qv89XNNYE1vfIxvkQk;attempt=1;code:ETIMEDOUT;connect:true;(id=conv_check_1570064549_docx)

也就是说在onlyoffice是根据访问过来的地址去生成文件的下载url,如果在外部访问生成的就是外部访问的url,针对这个问题nextcloud的有一个高级配置,可以解决。


image.png

Server address for internal requests from the Document Editing Service这个值相当于是告诉onlyoffice实际的访问地址是哪个,这样能保证内网外网都可以访问使用。

2.通过sockt 端口转发来实现

这个方式实际是绕过了内网不能访问自身公网地址web的问题,在尝试连接onlyoffice时走到外网,然后转到内网的onlyoffice,onlyoffice通过内部网络拉取文件。(这里使用了rinetd,安装简单)


image.png

这个配置上有一点区别,现在的nextcloud和onlyoffice在同个内网,因此在配置Server address for internal requests from the Document Editing Service时填的是内网地址192.168.x.x,文件通过内网拉取,连接走外网。


image.png

总结:两个方法都可以,问题解决了,成本增加了,本人目前使用方法2。

补充:经过研究,有了第三种解决方案

通过在NAS内建立dns服务器,来做域名欺骗,是内网机器在使用外网域名访问时候直接翻译成内网地址,网络逻辑如下


image.png

具体的做法:
1.现在nas里安装dns server,如果是其他系统可以使用类似的软件,我用的是群晖所以直接安装了。


image.png

2.配置dns server,增加一条master区域的域名,因为用的是ddns.net的域名,加这么一条。
image.png

3.配置一个A类解析,将我真正使用的域名解析为nas的地址,这样如果在内网使用域名访问就会解析为12.168.1.110


image.png

4.启动解析服务,不需要解析的还是都送网关解析
image.png

5.为nextcloud和onlyoffice配置dns域名,指向192.168.1.110.
第一次修改的时候通过登录到docker里面修改/ect/ resolv.conf 里的地址来做,每次一重启就丢失,然后网上说的其他固定resolv的方法在docker镜像里指令都没有。后来经过研究发现docker里的这个值是直接映射宿主机的,所以直接在宿主机上加了一条dns规则。
image.png

重启后docke就能按110的地址先进行域名解析。
6.重新配置参数,按如下配置就可以。
image.png



接上文,解决了网络部署的问题,就需要解决下字体的问题,这个好像是个通病,我现在安装的onlyoffice是5.5版本,确认过我们常用的宋体是没有的。

步骤一:

先把电脑中的字体拷贝出来,在windows/Fonts里。


image.png

步骤二:

因为是安装在nas的docker里,所以步骤比一般的linux安装麻烦一点,需要先把文件放到nas里,然后通过docker cp指令拷贝到docker里。所以,先把文件拷贝到nas的一个共享文件夹里,这里借用了共享的video文件夹,然后通过ssh指令登录到nas里。

image.png

如图,字体拷贝到nas里,输入命令docker cp /volume1/video/download/ziti/ 808322bcaa6d:/usr/share/fonts/
docker cp /volume1/video/download/Fonts/ 808322bcaa6d:/usr/share/fonts/truetype/custom
image.png

输入命令docker exec -it 808322bcaa6d /bin/bash 到docker里检查一下,然后再镜像内,进入/usr/bin目录 输入
image.png

但是这样操作后会有一个问题,原来的字体和新加入的字体都在,默认情况下中文宋体还是选择Calibri字体来加载,所以还是需要将核心库的字体也删除,重复上面的工作,核心字体在这里
/var/www/onlyoffice/documentserver/core-fonts全部删除 rm -rf *
image.png

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,736评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,167评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,442评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,902评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,302评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,573评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,847评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,562评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,260评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,531评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,021评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,367评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,016评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,068评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,827评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,610评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,514评论 2 269