Nextcloud的使用

  云的概念在大型互联网公司的基本服务中已经是普遍存在,进入了移动互联的时代,用手机比较方便。但个人生活学习方面,主要还是PC加移动硬盘的形式,自己的资料与PC、手机的无痕连通,并随时随地还处于连接状态的模式还没有形成,尝试利用现有条件建设个人云,有不少挑战也有不少乐趣。

  首先,随时随地的要求实现,就要在PC的基础上进一步,需要一台长期待机,高可靠性设备来提供服务,要求低功耗、大存储、多服务。其次,要选择平台式的软件系统,为多功能适应和扩展提供基础。

  基于以上考虑,我选择了nas作为基础服务平台,用nextcloud作为内容管理平台。网络上关于Nextcloud安装配置有不少文章,但使用内容较少,结合自己的摸索,做几点经验分享。

1、搭建文字创作服务

  不管什么环境,文字写作总是最基础的需要,基本要求实现msoffice三件套的功能(Word、Excel、PPT),可以在Nextcloud中集成多种office软件,具体可以看它的应用插件商店,网上分享比较多,我集成了onlyoffice,效果比较好。

2、邮件

  其内部集成的邮件组件选择启用,内带的邮件好处是可以从nextcloud自己的文件夹中选择附件,有些插件安装的邮件只能从PC上传附件。

3、音乐

  安装owncloud / music插件,再挂载自己的音乐文件目录,可以实现在线听自己的音乐。

4、笔记

  安装note插件,可以记笔记,这个插件还有手机app配套,感觉功能比较单一。

5、日历和待办事项

  启用内置组件就可以,但有一个问题,系统设置中的时间区域不要选中国,否则写日历时会出现“始于Invalid date的Invalid date”错误,什么时区合适大家可以试试,选欧洲是没有问题的。

6、流程图和思维导图

  安装Draw.io和Mind Map插件,这样在写文章时直接就可以在nextcloud中完成插图。

7、白板和地图

  安装Whiteboard和Mps插件,可以在web页面随手画一些东西,很方便地查看地图。

8、利用好外部存储设置

  Nextcloud可以挂载本地和远程的共享文件夹,这样就可以像使用本地硬盘一样使用各处设备,特别可以挂载各种云盘。

  到这里你基本可以做到仅打开浏览器就可以完成绝大多数的工作,特别是配合nas使用,文件的存取不再是问题,利用Nextcloud解决基本的创作和信息互联后,真正可以实现按自己需求定制的个人云。在此基础再根据爱好或职业需要在nas上配置其他的服务,如编程、阅读、智能家居等服务,体验会得到很大提升。

9、手机登录app的问题

手机下载app后用用户名和密码很难登录app,一直在转圈的状态,这里的原因可能是app的登录原理与电脑有差异,使系统的php等程序反应出现问题。

其实,nextcloud为设备登录专门设置了通道,非常方便快捷:

9.1 进入设置,选择安全选项

9.2 拉到最下面,点“创建新应用密码”

9.3 保存系统自动生成的密码串,该密码仅显示一次,并点生成二维码。

9.4 以上面用户名和密码串登录,或直接在手机登录页面点扫描二维码,就可以很方便完成登录。

手机上使用nextcloud尽量不要从浏览器登录,非常不方便于文件的的查找、分享和利用其他app打开查看。

10 处理各种不同格式的文档

Word等msoffice文档用Onlyoffice是比较好的,在WPS和Office中都能比较准确地打开。

Markdown文档用系统内建的标准文本编辑器完全满足要求

TXT纯文本格式,可以用系统Markdown文档编辑器来做,生成的MD文件用windows的记事本打开会带有各种格式标记符。直接以txt后缀编写文件时,如果从其他文章拷贝一段话则不会自动换行,很麻烦。一种曲线方法是用上文提到的笔记来写纯文本文件,会自动换行,完全兼容txt文档。

PDF文件,系统自带查看插件,安装的时候选上就可以了,可以打印和复制内容,满足基本需要,如果想编辑只能下载到本地再用专业软件来处理了。

音频和视频支持格式比较少,可以装上music插件,之后直接进入文件夹播放相关文件,mp3和mp4总体正常播放。音乐插件界面会出现乱码而且不能正确扫描音乐文件,安装插件主要是为了利用它的解码器。

nextcloud和onlyoffic

用Docker安装Nextcloud 出现无法连接外部数据库以及集成onlyoffice时报错,尤其是nextcloud和onlyoffice的集成几乎成了’世界性’难题,我尝试的一些方法也许可以供大家参与。

一、当前对这套系统的安装普遍的看法

1、两个软件不要在一个局域网内安装,更不能在同一台服务器上安装。

2、两个软件只能进行SSL安全连接,都要用CA证书或自签证书。

二、我折腾以后的几点体会

1、局域网安装可以,安装在同一台电脑上也可以。

2、用SSL以https连接可以,内网用ip连接也可以,用http连接还是可以的。

3、nextcloud这个软件在网络设计上有问题,最少不够聪明,应该尽快改进。对nextcloud 和onlyoffice地址格式要求不清楚,是最大的问题。

三、几个问题解决的基本经过

1.在使用nextcloud 集成onlyoffice时,会出现提示 :host violates local access rules

cd到/var/www/html/config,需要在配置文件 config.php 中增加下列语句,允许外网远程访问:

‘allow_local_remote_servers’ => true,

2.连接数据库提示错误,确认用户名密码正确,多试几次。这位网友的文章可供参考。

https://post.smzdm.com/p/a5kq92vk/

3、nextcloud集成onlyoffice时报错,一般安装步骤可以参考网络,错误会有各种信息,最后反复出现如下提示:

Error while downloading the document file to be converted.

这个时候,nextcloud和onlyoffice无论在内网还是在外网均能独立访问,单个软件内部操作都没有问题,就是没有办法将两个软件集成在一起,百度了全网多数环境不同不具有参考价值,但有两位网友的分析文章给了我很大的启发,他们的观点是:

a nextcloud集成onlyoffice文档服务器时,会根据你打开nextcloud时的环境生成文档服务器的请求链接。这句话的意思是要么按纯外网环境配置,要么按纯内网环境配置,如果集成链接地址中内外网地址混填,则很有可能两个软件不能正常交互。

b 生成的服务请求链接要在nextcloud和onlyoffice自身环境得到正确的域名(ip)解释。

c 最终所有的问题在于两者相互传递信息时能正确连接。

根据这个思路,做了两个重要改进:

第一,建立内网DNS SERVER,我是群晖系统比较方便,设置好后使得外网使用的域名在内网也能得到解释。这样做了之后,你无论是在外网还是在内网都能以域名访问。

第二,用不同的组合填入onlyoffice服务器设置的三个选项中,但一直不成功。

后来想到不接自己的服务器,先连一下onlyoffice的演示服务器,看看需要什么样的条件,发现“用于文档编辑服务内部请求的服务器的地址”需要填写正确的nextcloud外网地址。然后尝试在“文档编辑服务地址”填入onlyoffice服务器的外网地址,成功连接。中间那个可以不填。

4、还是在nextcloud中打开onlyoffice文件的问题

这次出现的问题是,两者都集成好了,平时使用也没有什么问题,但在单位内网连接到外网打开nextcloud中的office文档时,报告无法下载文件,文件无法保存并返回文件列表,问题的现象是nextcloud能调用onlyoffice,但onlyoffice打不开文件。

以上问题现象说明,nextcloud能与onlyoffice正确连接,但onlyoffice有问题,提示无法下载可能表示onlyoffice无法读取文件,而提示无法保存可能表示onlyoffice无法按设置找到存储文件的地方,这可能是一个网络连接问题。

回到局域网环境下调用onlyoffice,发现能顺利打开office文档,再回到外网环境下调用onlyoffice,发现问题解决。

结合前面安装集成onlyoffice时解决问题的过程,这种情况似乎还是一个网络访问的问题,两者集成是相互调用时地址解释的问题,而onlyoffice读取保存文件仍然有一个地址解释的问题,在单位内网连接外网时经过了多次NAT,又是用的域名访问,造成不能正确翻译IP地址,当在局域网用域名调用后,onlyoffice找到了域名对应的正确IP,再回外网调用时可以利用内部缓存正确找到外网中的服务器。

以上仅是推断,没有花时间去验证,可能不正确。

三、关于onlyoffice的中文字体

1、对编辑要求高的人,可以在系统fonts目录加入中文字体,onlyoffice字体下拉菜单长,设置字体的时候找到需要字体比较费劲,要求不高的人完全可以删除onlyoffice的自带的字体,利用系统字体就可以了。

cd /var/www/onlyoffice/documentserver/core-fonts/
rm -rf *

但建议/documentserver/core-fonts/目录中最少保留一个字体 ancient-scripts,这个是数学公式字体,如果删除写学术文章就不好办了。

2、添加进系统字体目录的中文字体最好不要用相关软件进行名称属性的修改,修改后在onyoffice中使用没有问题,但当你把写好的文件保存为docx等格式并下载到本地电脑上,再用微软office打开时就有可能会丢掉全部字体格式,因为word找不到对应的字体,如果中文字体来自windows,也不改动,则下载文件打开时word就能正确识别。

四、关于Nextcloud上传文件限制

我的系统信息中显示PHP对上传文件大小有限制:

为了证实实际限制情况,做了几个上传文件实验,最大传了一个1.5GB的文件,并没有实际的限制,并且传输速度也没有任何异常。所以,系统到底有没有文件大小的限制可以先试一下。

四、onlyoffice文档服务器限制连接服务

默认状态下onlyoffice文档服务器安装后是没有连接限制的,在可以外网访问的情况下,任何一台电脑输入服务器的地址都能连接上去,无限制的访问显然面临基本的安全问题。onlyoffice内部的配置文件有用于限制访问的内容,只要正确配置就可以增加安全性。

一种配置是用调用浏览器的地址来限制访问,只允许特定的IP访问onlyoffice服务器,这种配置方法用于公司比较合适。

另一种配置是设置JWT访问令牌,在配置文件设置好访问密钥,然后在nextcloud的集成插件中正确填入该密钥就可以了。

1、SSH进入系统后台,并修登入onlyoffice的容器内部。

2、用文本编辑器打开/etc/onlyoffice/documentserver/default.json

3、修改以下几项内容

此图像的alt属性为空;文件名为截屏2021-01-05-下午1.48.01.png

3.1 图中的几个红色的secret全部改成想要设置的密码。

3.2 将下面token中的browser、inbox、outbox三项改成true,原设置是false

4、在nextcloud的onlyoffice插件设置中,在密钥选项下的空格中填入上一步设置的密码。

五、几点说明:

1、系统环境,nextcloud和onlyoffice均是官方docker镜像最新版部署在群晖NAS上,数据库利用系统套件DB10,与其它程序共用。

2、两个软件均只映射http端口,没有使用证书,而是通过系统的反向代理安全连接到外网,所以上述地址是https。

3、通过测试表明,局域网环境两者相互连接情况复杂,以上措施实际是利用搭建内网域名服务器模拟了外网环境。如果不在外网使用,纯内网则直接用ip地址是可以连接的,而且只需要填“文档编辑服务地址”。

附两位网友的博文:

nextcloud+onlyoffice同局域网部署网络不通分析与解决(原创)https://www.jianshu.com/p/21ebf3ef5cfc

https://www.orgleaf.com/3589.html