【Nextcloud适用】使用和搭建ownCloud私有云要点

  • A+
所属分类:owncloud 私有云

【Nextcloud适用】使用和搭建ownCloud私有云要点

使用

  1. 在web上搜索文件的时候,搜索词最好长于三个或四个字符,尤其是对于中文,否则的话搜索结果可能不符合期望。
  2. ownCloud自带回收站功能。这意味着无论是从Web端删除文件还是通过客户端删除文件(例如在Folder Sync设置了Sync deletion),被删除的文件都可以在回收站找到。如果对误删除很在意的话,还可以设置回收站永远不自动清空。
  3. 文件支持版本号!意味着不用担心文件被误修改或者误删除了,总可以从文件历史或者回收站找回来。
  4. 照片/视频:照片是直接有Gallery插件、按目录来展示图片的。视频也直接支持浏览器内播放。(要播放音乐的话,也有个Music插件,亲测可用)。照片同步,可以用Folder Sync,不过最方便的是QuickPic。总而言之都比ownCloud自己的Android App强:那个货,几乎每次上传文件都卡顿。
    1. 支持多个用户之间共享文件夹和文件。所以各自拍的照片可以有选择的互相传阅了。
    2. 有点奇特的是,即使设置了只读共享,共享出去的文件夹居然能被对方改名(也可以移动),不过也只体现在对方那里是新名字,自己这边看到的还是原先的名字。而且自己这边改名,对方看到也依然是共享时的名字。应该是共享时就拷贝了一份名字。
  5. Contacts、Calendar:直接用Android自身的同步来设置。(刷别的ROM比如某米的被阉割掉了这个功能,就悲催了)
  6. Task:安卓上的App安装略显麻烦,而且感觉不太可靠,实在有需要再研究。现在用todo.txt并且用git和Folder Sync同步,已经足够好用了。
  7. 文本notes(目标是尽量取代Evernote。一是保证随处能访问、避免万一被墙或换机器;二是要能访问所有内容,因为Evernote客户端不能保证随时同步下来所有内容,等于卵用;三是Evernote实在太笨重太慢):
    1. ownNote:支持富文本,本可以作为代替Evernote的备选,但是没有搜索功能,且存储位置等设置有问题,完成度尚有欠缺。(1.08版号称修复了存储位置的问题,但这是把笔记的html源码存到逻辑文件夹里,而不是物理目录里,而且html源码对编辑器应用的要求就高了,搜索也会麻烦,还是放弃)
    2. 在文件树里完全自己管理md文件:管理有些原始,也缺少文件内容搜索功能,因此作为笔记本不太现实。
    3. Notes (最终选择)为什么能作为Evernote的候选:
      1. 是以文本形式存放在文件系统中的,移植性好,适应性强,从而也为下面多种编辑器和笔记管理软件的使用打牢了基础。(尤其是在受限环境下,例如没有安装markdown编辑器的移动端或者电脑)
      2. 基于文件,同步和做版本控制方便。
      3. 基于对文本的内容搜索,速度不会差。(即使用简单grep,也会比Evernote搜起来时满硬盘狂转要高效得多)

      搭建思路:

      1. 管理软件
        1. Linux上有QOwnNotes,本身支持markdown编辑和搜索。不过不支持简单地用作纯编辑器、来编辑任意位置的md文件,所以有时还是希望用到纯markdown编辑器。另外,这个应用要求服务器上安装QOwnNotes API插件。
        2. Android上有MyOwnNotes和ownCloud Notes两款客户端,在F-Droid均可下载到。但是对服务器的证书有要求(前者强行要求正式证书,后者已经可以接受http了),自签名证书有点麻烦,还不一定能配好。可以从startssl.com签个证书(免费)。申请好证书以后,应用到apache里的方法参见这里实测owncloud Notes比MyOwnNotes好得多,搜索也很快速
      2. 纯编辑器
        1. Markdown Editor插件:键盘响应速度慢(也与电脑性能有关),经常打字顺序完全乱掉,不考虑。
        2. 鉴于以上性能问题,需结合本地Markdown编辑器使用
          1. Windows上:
            1. Texts,所见即所得(WYSIWYG),非常好用。结合Windows版的ownCloud客户端就行了。(注意:这货会武断地把格式全部重排,有时会把空格分割的单词自动换行。处女座请绕行)
            2. Typora,也很不错,且不会像Texts那样过分地搞乱换行符。
          2. Linux上暂时没有找到特别好用的所见即所得编辑器,评估了如下几款:
            1. Remarkable 用python写的,安装包很小,装上以后在Ubuntu 16.04上直接启动不起来。可能还没适配。
            2. Zim 直接apt可安装,倒是所见即所得,也是号称“基于wiki技术”,格式什么的也比较好用,问题是它存下来的文件如果要能正确展现格式,就只能靠它自己,一旦传到github上全“露馅”了。这种私有格式的工具,不用也罢,省得以后迁移麻烦。
            3. Uberwriter 安装包倒是小,但是依赖要下载300多M,太不方便,不利于在任何一台手头的机器上安装。直接pass掉。
            4. Typora 目前只有Win和Mac版。
            5. MdCharm 只release的64位的版本,还没试用。
            6. ReText 通过apt直接能安装,也是典型的左右结构:左边自己写代码,右边预览,但好在还算中规中矩。不过连个搜索也没有,也太缺了吧。
            7. Haroopad 用Node写的,以前试用过Windows版,感觉一般,不过现在Linux版用起来,跟ReText相比还是好用。
              • 优点
                • 支持搜索
                • 支持VI键位(不过VI方式的搜索速度比较慢)
                • 有多种主题,如果偏好暗色系可以选Editor theme=night(选项太多,没时间试那么多,只能先选这个看着合适的),Viewer theme=clearness-dark
                • 有markdown语法参照
              • 缺点
                • 不能从命令行启动多个实例,只能启动时就指定多个文件名,或者启动以后用文件菜单打开文件(好在有Recent菜单)。
            8. 习惯了的话,还是 vim 更快速更有效。实际上时间久了,对所见即所得也没那么高的要求了,只要不涉及编辑表格。
  8. Document: 在线编辑Office文档。按需安装。
  9. Bookmark:如果已经使用了Chrome + XMarks来同步书签,那么Bookmark这个插件可以无视(本来也是前者更直观好用)。
  10. 总体使用方式建议:
    1. 手机备份照片:用QuickPic时,里面设置的ownCloud地址填局域网地址,这样即使在手机使用共享WIFI热点时也不至于会消耗流量去做同步,仅在局域网的情况下才做同步。
    2. 手机备份任意文件夹:用Folder Sync,设置思路同上。
    3. 远程Web访问:选个DDNS服务(例如f3322.net/pubyun.com或者花生壳等),这样在需要访问云空间的时候,在浏览器上通过域名就能访问到。puyun还支持免费内网穿透,相比之下花生壳要花钱买内网穿透。
    4. 远程用owncloud客户端访问:可用IP(局域网时)、也可以域名(局域网或互联网都可),因为不担心流量的问题,所以统一用域名即可。

安装搭建

  1. 依赖环境:基本上就按照 这里 写的来,安装apache2,mariadb,一堆php组件。
    1. 配置apache
    2. 建议启用SSL,因为需要远程访问时要保护数据安全。
  2. ownCloud本身:下载最新的包,解压为 /var/www/owncloud ,然后设置该有的权限。
  3. 打开 http://localhost/owncloud,就可以 配置数据库 和初始用户密码了。(在mariadb下创建用户,需要用Linux下的root用户无密码登入,然后 创建owncloud数据库用户
  4. 这样下来就可以使用了。
  5. (可选项)为提高性能,配个缓存吧,Redis比较流行,按这样配。(注意如果走unix socket的话,redis.conf里写的权限得设置正确,懒的话直接777)
  6. 为了有些自动任务能执行,最好用crontab来设置可靠的cron
  7. 性能优化的tip,参见 这里
  8. 安全方面的tip,参加 这里
  9. 自己总结的性能优化技巧:既然是私有云,而且很多是照片,在生成图片缩略图的时候比较费CPU,而且如果是共享照片目录给其他用户(比如父母等),那么其他用户在查看这些图片目录时又要生成一次缩略图,比较不经济,所以优化手段是:把每个用户的owncloud/data/$USER/thumnails目录统一拷贝到外边一个公共目录,然后链接覆盖回各个用户,这样就可以共享同一套缩略图了。
  10. 注意apache的大坑!! 如果使用apache默认的配置运行的话,KeepAliveTimeout只给了5秒,在使用例如owncloudNotes等app时,编辑一个笔记,自动保存,过几秒再编辑、再保存,很容易就被apache判定为是新的连接,从而不断创建重复的笔记!! 一定要修改为100以上!!!

(吐槽:官方文档写的太离散,就不能一个地方走完,非得跳来跳去晕掉。)

与重装系统相关的注意事项

什么时候会需要重装系统呢?比如想把Ubuntu升级版本,或者从32位升级为64位,或者新装机器,都会遇到重装系统的问题。注意以下事项,能够尽可能地节省重新设置owncloud所需的时间!

  1. owncloud web app。装好以后就移动到稳定分区(即:重装系统时不会受影响的分区),然后link回/var/www/下。
  2. 数据库。如果直接用mariadb默认的数据文件路径,那重装系统时数据就没了,因此需要修改 /etc/mysql/mariadb.conf.d/50-server.cnf 里面datadir也指向稳定分区,原数据目录里的内容也移动过来。
  3. 如果悲催确实需要重新装数据库,那么注意:使用原先的owncloud web app时,直接浏览器访问是会报错的,因为所依赖的表都不存在,因此需要暂时先把owncloud/config/config.php先改名备份,然后重新从浏览器上走一遍设置流程,然后再手动把备份config.php里需要的内容加回到现在的config.php里。

维护

  1. 云文件:云端文件都是以原始文件形式存放在/var/www/owncloud/data/\$USER目录下,因此管理非常容易(比如手工备份/迁移,或者从别的网盘导出内容后直接灌到这下面)。
  2. Contacts、Calendar等基本应用,数据是存在MySQL里。ownCloud本身就有个OwnBackup插件可以进行自动备份,可以使用(或者自己想写个定期dump MySQL的脚本也不难)。有了这两个东西,就可以既不依赖谷歌的同步服务,又不需要依赖第三方联系人/日历同步应用(例如蜡笔同步、中华万年历等)了,不过如果要处理重复联系人的时候,还是要靠蜡笔同步之类比较方便。 ——在用虚拟机试验ownCloud的时候,一次非法关机,就把MySQL的Innodb给搞挂了。MySQL太不放心。

操作系统方面

  1. 为了使用和维护方便,采用Ubuntu Desktop。配好系统、装好软件后可以修改grub改为启动后进入文本模式,进一步省电(16.04里是用systemd来管理服务了,所以只改/etc/default/grub还不管用,可能还得改掉systemd的default模式。有需要再研究)。
  2. 为避免掉电导致的数据损坏问题,设置上电池低电时Hibernate或Power off。启用Hibernate的方法谷歌可见(Ubuntu官网也有说明)。
  3. 闲时如何让硬盘休眠,减少功耗、节约电能:
    1. 减少系统里不必要的定时任务 (本身就不多)
    2. 据说频繁启动关闭休眠会造成硬盘损坏,怕了,算了不搞这个优化也罢。
  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: