使用和搭建ownCloud私有云要点

fuyc edited this page Jul 20, 2016 · 23 revisions

使用

  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. 据说频繁启动关闭休眠会造成硬盘损坏,怕了,算了不搞这个优化也罢。

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.