Nextcloud

Nextcloud默认文件的自定义

在完成Nextcloud安装后,或者创建了一个新用户之后,(该用户)的根目录下就会出现这些目录和文件:

在Nextcloud尚未安装时,这些文件存放在core/skeleton目录中,在安装或创建用户时,这些文件将会被自动复制到data/目录中,所以在如果用户删除这些文件的话,是不会影响到core/skeleton中的原文件的。

换个思路,如果用自己的文件替换core/skeleton中的内容,就可以自定义新用户默认的文件。

示例

如图,我在一个尚未完成安装的Nextcloud实例上,在core/skeleton 目录中添加了Winterfell-background.png文件:

root@5df28f05c05b:/var/www/html/core/skeleton# ls -l
total 5024
drwxr-xr-x 2 www-data root 4096 Nov 18 06:42 Documents
-rw-r--r-- 1 www-data root 4143672 Nov 18 06:42 Nextcloud Manual.pdf
-rw-r--r-- 1 www-data root 462413 Nov 18 06:42 Nextcloud.mp4
drwxr-xr-x 2 www-data root 4096 Nov 18 06:42 Photos
-rw-r--r-- 1 www-data root 525833 Dec 2 11:16 Winterfell-background.png

注意权限要与其它文件保持一致,至少可读。

  • 文件权限为:644 ,用户和组:apache:apache
  • 目录权限为:755,用户和组:apache:apache

接下来我们完成Nextcloud的安装。

完成安装后,进入Nextcloud,我们就可以看到刚才添加的文件了,它和其它文件一样可以查看、编辑、删除。

我们来看看用户的在data目录下的文件:

root@5df28f05c05b:/var/www/html/data/ORGLEAF/files# ls
Documents Nextcloud Manual.pdf Nextcloud.mp4	Photos	Winterfell-background.png

可以看到,Winterfell-background.png已经和其它文件一起被复制了进去。

自定义默认文件目录

如果你按照上述步骤来自定义默认文件的话,就会出现一个问题:当Nextcloud升级时,这个core/skeleton就会被替换,你所做的修改也就不存在了。当然你也可以再重新修改一次,不过还有更好的方法。

你可以在config/config.php文件中添加一个参数,这个参数可以自定义默认文件目录的名字,例如我在core/下创建一个custom_skeleton目录,想让它作为存放默认文件的目录,那么就可以这样写(添加到?>之前):

'skeletondirectory' => 'core/custom_skeleton',

这样,Nextcloud在安装或创建新用户时就会从core/custom_skeleton复制文件,当Nextcloud更新时,这个目录也不会被替换以至于丢失自定义的默认文件。

P.S.如果你将'skeletondirectory' => 后面的参数留空,像这样:

'skeletondirectory' => '',

那么Nextcloud就不会去复制任何文件,这样用户的文件夹默认就是空的。

(5)

本文由 橙叶博客 作者:FrankGreg 发表,转载请注明来源!

热评文章

评论:

8 条评论,访客:8 条,博主:0 条
  1. calvin
    calvin发布于: 

    我自建了一个目录,并且在内新建一个文件,然后在config.php中指定此目录为默认文件目录。但是完整性检查会检出此默认文件为多余文件,怎么解决呢?

    • Ye, Cheng
      Ye, Cheng发布于: 

      是在core/文件夹里建的吗?

      • Calvin
        Calvin发布于: 

        是的,新建了一个custom_skeleton目录, 下面新建了一个readme.txt文件,就是把原本的core/skeleton默认文件目录修改成了core/custom_skeleton。

        • FrankGreg
          FrankGreg发布于: 

          可以避开nextcloud文件夹,将这个目录放到服务器的其它地方,在’skeletondirectory’ => ‘目录’中,使用绝对目录定位它.

  2. calvin
    calvin发布于: 

    新建默认目录和默认文件后,nextcloud的完整性检查会出现警告。

  3. 逗比998
    逗比998发布于: 

    NC安装完之后显示 操作被禁止
    这是怎么回事???
    /捂脸

  4. DragonKing
    DragonKing发布于: 

    看了你写的文章,很受用。有一点是我们生产环境中使用的,我想问问老师有没有研究过,就是公司内部各部门使用nextcloud进行文件共享,要对文件和用户组进行权限的控制,老师有这方面的经验吗?

    • zhanghant
      zhanghant发布于: 

      你好,我也在做关于用户分权功能的探索,可以聊一下

发表评论

This site uses Akismet to reduce spam. Learn how your comment data is processed.