群晖NAS是一个依托于Linux的小型文件服务器,其管理界面采用WEB方式,提供插件扩展,可运行Docker容器,多个网卡接口,在使用过程中,稳定快速,扩展容易,本文将分析讲解在线office文件处理的安装和使用,并讲解API扩展调用,批处理任务执行,内外网穿透,希望对NAS服务、网络办公需求的人有所帮助。
群晖NAS的硬件设计在细节上是非常人性化的,除了个别型号外,全程都是免工具拆装:
抽出硬盘托架,取下两侧的卡条。
装上硬盘,注意硬盘的螺丝孔要紧贴托架内侧。
再将卡条重新扣好,这样卡条的两个凸起正好代替螺丝钉来固定硬盘,并且有相应的橡胶垫起着加固和减震的作用。
将硬盘托架插回NAS中。
将网线插入背后的RJ-45接口。
将电源线插入供电接口。
按下电源开关,开机。
可以看到黄色、蓝色等指示灯交替闪烁。并有滴的一声蜂鸣。
在局域网内,可以通过多种方式访问到这台新的群晖NAS:
手机端的操作:按照快速安装指南的说明,扫描二维码。
电脑端,直接访问这台群晖的内网ip(比如:192.168.1.185),地址可以从路由器管理界面获取。
在群晖官网,下载群晖助手,扫描到内网的NAS。
电脑端,浏览器地址栏中输入: http://find.synology.com (这是以往的方法,目前有可能失效)。
会出现格式化硬盘数据的提示,点确定,正在格式化系统分区。提示:您的DiskStation将在约10分钟后就绪,进行过程中请勿关闭电源。
安装安装后,自动重启。屏幕显示的倒计时只是一个估算值,实际耗时没有这么长。
DiskStation创建管理员帐户,本例中,我们取名为Administrator。这个帐户是用于登录和管理该NAS系统管理员,权限最高。
如果忘记管理员密码,可以按reset按钮4-5秒,硬盘的数据不会丢失,会启动初始用户admin,密码为空,由于如果群晖所在网络的路由器设置有DHCP,所以它获取到了IP,登陆路由器可以查看它的IP地址。如果你的路由没有设置DHCP,那么它的默认IP可能无法让你通过交换机访问,需要直连一台电脑搜索它的对应IP然后进行设置。通过同一网络的个人电脑浏览器,输入查到的IP,就可以联机到群晖,进入登录界面,由于我们的密码已经重置成功了,所以我们直接在账号输入admin,密码留空,点击登录就可以进入密码重置界面。添加新用户,停用admin。
用管理员用户登陆进入DSM系统的桌面后,会有一些帮助说明和更新提示。以下是需要安装的几个插件:
Drive的三大特色:
跨团队整理文件:
[ 1] 通过利用 Synology Drive 中的团队文件夹功能,所有团队成员都可以将文件一起进行管理,而无需额外权限设置。
[ 2] 随时随地共享文件:Drive 的内部网域账号整合,让您只要选取该同事的账号,便能与其分享档案;更可设定密码及有效期间以保护分享到外部的连结。
[ 3] Drive 支持强大的 Synology Universal Search,从而确保您可以快速找到文件。
从使用下来的情况看,Drive给到我最直观的感受就好像是基于网页的可视化资源管理器,我的文件、团队文件夹、我分享给别人的文件与别人分享给我的文件、甚至是最近浏览过的与加了标签的文件都做了分类,快速找到想要的文件,这往往是提升工作效率的第一步。
同时,群晖也在Drive中插入了他们的协同管理插件,包括即使通讯套件Chat、智能照片管理套件Moments、行事历Calendar等,换言之,配合其他协同管理插件的Drive,几乎覆盖了工作中的大多数应用场景。简单来说,Office就是把文档、表格、幻灯片都搬到了线上,你做的任何改动,只要是共享用户都能看到,大家可以同时一起编辑一个文档。
下载完Drive和Office套件后,只需打开Drive套件,就能跳转网页端页面。点击【+】可以创建文档、电子表格、幻灯片。还能上传电脑本地和NAS里的文件,支持拖拽文件。(支持浏览和编辑Microsoft Office格式文档)
在Drive中创建你的第一个在线文档目前是处于Drive的云端办公环境中。
因此,所创建、编辑的都是在线文档,这些文档都存储在你的群晖NAS私有云上。在概念上要清楚,不要跟以往的本地文件混淆了。
创建第一个在线文档创建第一个在线文档
点击+号创建按钮,将弹出创建菜单。
在本例中,我们将创建一个文档,即进入字处理系统,编辑在线文档。
根据大家的文件管理习惯,这里也给出了创建文件夹的功能。
办公常用的电子表格、幻灯片等常用功能。
也有丰富的在线模板,供我们选择以创建文档也有丰富的在线模板,供我们选择以创建文档
文档窗口概览
文档窗口其实就是字处理系统的界面(即日常俗称的word process)。虽然是在浏览器中,但得益于群晖强大的开发能力,整个界面跟普通办公软件几乎一模一样,在全屏模式下,你很难想到这是一个在线文档编辑窗口。
对于用户来说是个好消息:学习成本低,容易入门。
文档窗口概览文档窗口概览
主菜单:文件、编辑、视图、插入、格式、工具。
编辑工具栏:格式、字体、字号、粗体、斜体、下划线、颜色、对齐、项目符号和编号等等。
文字处理区:所见即所得的文档编辑区域。
文档名:由于是新建,所以此时为无标题。
左侧工具栏:标签、分享、历史记录、加密、信息。
编辑处理文档内容
从上图可知,只要掌握日常办公软件的用户,都可以顺利地迁移到群晖Drive,无需投入过多的学习成本和时间。此时,我们可以像平时一样,直接在文档窗口编辑处理在线文档。
作为示例,我们直接快速粘贴一些内容吧。
Drive对粘贴进来的文章识别得很好Drive对粘贴进来的文章识别得很好
注意:上方箭头所指的提示“所有更改已保存”。
由于我们使用、处理的是在线文档,跟本地文档一样,也要注意内容是否保存为最新,然后才能关闭浏览器窗口。
怎样保存文档内容呢?怎样保存文档内容呢?
通常,在线文档会定时自动保存的。
当然,我们也可以手动Ctrl+S来随时保存。
注:右上角文档名依然是无标题。
那么,到底保存成功没有呢?
关闭当前文档,返回Drive主界面查看文件列表关闭当前文档,返回Drive主界面查看文件列表
从日期和名称上判断,这个无标题文档,就是我们刚才编辑的文档。那么,双击打开,验证一下吧。可以将某个文件或文件夹分享给NAS账户或是通过链接分享给任何人,通过设置密码和有效期可以进一步保护文档。
为文档起一个名字吧为文档起一个名字吧
点击右上角无标题。
在弹出的命名框中,填写文档名称,点确定。
显然,再回到Drive主界面,文件列表中会随之变化。
群晖Drive的一个优势,就是保存了文档的历史记录。这就意味着,我们可以任意查看、回退到文档的某一历史版本。妈妈再也不怕我乱改文章啦。
点击左侧工具栏的查看历史记录按钮点击左侧工具栏的查看历史记录按钮
历史记录页面历史记录页面
右边是每一次保存后的历史记录。
对应该版本的文档内容。
其他各次保存,按时间顺序列出。
右下角有两个按钮:还原、进行复制。
版本还原的演示版本还原的演示
右侧版本列表:由上到下是降序排列,最新的版本在最上面。
点击任意版本,左侧就会显示该版本的文档内容。这些版本必须是被保存的,所以经常随手按一下Ctrl+s吧。# 五、使用API通过HTTP访问在线文件(难易程度***)
本部分实现一个简单的功能,通过python语言调用相应的库函数,根据一个word模版样复制一份文件,分享后使得到链接的人可进行修改编辑。由于在线办公插件的特性,所有的修改都会在线保存,并且统一管理,可以多人同时编辑,也可一人编辑一个自己的。
代码以及截图如下
同一个文档可以多人同时在线编辑,对于需要待定的内容也可以标记评论,并实时回复,增加办公效率。
通过查看历史记录功能,可以恢复到任一历史版本,无需担心文档被误删导致丢失。# 六、安装内网穿透插件并配置参数
这个分享功能,是拯救团队生产力的亮点啊,这也是投资群晖NAS的价值所在。
分享给团队成员
前提:这里的团队成员,是指在当前的群晖NAS上,已经注册了各自的账号。
点击左侧工具栏的分享按钮点击左侧工具栏的分享按钮
左侧工具栏:分享按钮。
弹出分享框,当前是权限标签页。
文件链接:该文档的唯一url地址,发送给被邀请者,对方即可查看(或编辑,看你分配的权限了);要注意该链接的保密。
隐私设置:此时默认是仅受邀者可访问。
受邀者列表:添加一个团队成员的账户,本例为zdm。
为该受邀者分配文档权限,本例为查看。然后点击右侧的+号,添加该用户到受邀者列表。
高级保护链接:这是另一种分享方式,详见下文解释。
分享给任意人员
前述的分享,要求团队成员是已在我们群晖NAS上注册账号的人。若想分享给未注册群晖账号的人,该怎么办呢?这里就用到了高级保护链接功能。
切换到高级保护链接标签页切换到高级保护链接标签页
点击切换标签页。
勾选:创建一个高级保护链接以与任何人共享文件。
隐私设置:默认是凡有链接者皆可查看(相当于只读)。
需要密码:请设置一个访问密码。
链接有效期:建议这里设置一个到期日期,到期该链接即失效,增强文档的安全性。
高级保护链接可以发给群晖NAS用户之外的任何人,请谨慎使用。
开源项目synology_drive_api是用python开发的基于synology_drive的程序包,使得用户可以通过python语言定制自己的需求,访问driver目录中的文件和功能。
我实现的场景是,服务器上保存一个模版文件,当某一用户发送请求,就将模版复制一份放在另一个文件夹下,并返回链接,可以打开文件进行编辑保存。
另一个用户请求到达后,又形成一个新的文件。这样依托于模版可以形成多个用户文件,模拟用户提交相同格式文本的需求。
代码如下:
from synology_drive_api.drive import SynologyDrive
# default http port is 5000, https is 5001.
NAS_USER = "hsc**"
NAS_PASS = "**********"
NAS_IP = "192.168.1.217"
source = "/team-folders/hscwd/ekdf/template.odoc"
dist = "/team-folders/hscwd/ekdf/aword.odoc"
re = {}
sre = {}
def doso(source=source, dist=dist):
myre = {"data": {"src": "", "error": ""}, "success": False}
with SynologyDrive(NAS_USER, NAS_PASS, NAS_IP, https=False) as synd:
synd.get_teamfolder_info()
re = synd.copy(source, dist)
if (re['success']):
sre = synd.share_file(re['data']['file_id'])
if (sre["success"]):
myre['success'] = True
print(myre)
myre['data']['src'] = sre['data']["url"]
# print(sre)
return myre
if __name__ == "__main__":
print(doso())
synology-api.提供的功能专注于FTP目录下文件的管理上传下载和共享,synology_drive_api提供了对driver的封装,可以实现对共享功能的操作,如本例。
官方文件:https://global.download.synology.com/download/Document/Software/DeveloperGuide/Package/FileStation/All/enu/Synology_File_Station_API_Guide.pdf
第三方文档:Synology PhotoStation REST API https://blog.jbowen.dev/synology/photostation/api/
本文介绍了办公系统部署到群晖NAS上的过程,从硬件安装,系统初始化,插件安装,程序使用,程序扩展的角度简要做了介绍,阐述了OFFICE套件在办公协作中的使用方法,它还可以结合日历提醒、在线聊天、版本跟踪、邮件服务等更多的可用工具来实现不同的应用场景的需求。最后本文还用一段代码展示了对于第三方软件扩展支持,群晖的开发文档提供一个可扩展的平台,让用户可以定制自己的需求,比如自动上传、自动下载、文档格式转换等,希望本文的论述能给用户能带来一些启发。