[horde] Where does gollem store the uploaded files?

Frank Lienhard frank at mclien.de
Sat Nov 19 19:27:50 UTC 2016



On 11/19/2016 05:28 PM, Michael J Rubinsky wrote:
> 
> Quoting Frank Lienhard <frank at mclien.de>:
> 
>> On 11/19/2016 04:51 PM, Michael J Rubinsky wrote:
>>>
>>> Quoting Frank Lienhard <frank at mclien.de>:
>>>
>>>> On 11/19/2016 03:51 PM, Luis Felipe Marzagao wrote:
>>>>>
>>>>>
>>>>> Em 19/11/2016 12:46, Frank Lienhard escreveu:
>>>>>> I'd like to keep track (via cron) when the files uploaded with gollem
>>>>>> use a certain amount of space, to then automaticly delete the oldest
>>>>>> files.
>>>>>>
>>>>>> But I don't have any clue where gollem stores these files.
>>>>>
>>>>> Depends on your backend system. What does your
>>>>> gollem/config/backends.local.php say?
>>>> Nothing, because there is only an
>>>> gollem/config/backends.d/10-groupware.php
>>>> which is the default and says this:
>>>> ---------------
>>>> <?php
>>>> $backends['ftp']['disabled'] = true;
>>>> $backends['sqlhome']['disabled'] = false;
>>>> $backends['sqlhome']['name'] = 'Home';
>>>> ---------------------
>>>>
>>>> So if I understand the example in gollem/config/backends.php correctly:
>>>>  *   - home: (string) The directory that will be used as home directory
>>>> for the
>>>>  *           user. This parameter will overrule a home parameter in the
>>>> params.
>>>>  *           If empty, this will default to the active working
>>>> directory
>>>>  *           immediately after logging into the VFS backend (i.e. for
>>>> ftp,
>>>>  *           this will most likely be ~user, for SQL based VFS
>>>> backends,
>>>>  *           this will probably be the root directory).
>>>>
>>>> this means it is stored in a vfs (Virtual File System of SQL)?
>>>>
>>>> That would be I simply can't find it on file system level?
>>>
>>> Correct, these settings connect to the SQL based VFS (normally stored in
>>> the horde_vfs table).
>>>
>> OK, I'm not a DB expert, but when I think of uploading pictures or such,
>> isn't that a bit overkill and resource-consuming?
> 
> Yes, it is. However, it's the only backend guaranteed to work out of the
> box - without making assumptions about directory structures etc... This
> is why it's the default when installing via the Groupware Bundles - a
> bundle designed to be an easy out of the box solution for people not
> wanting to install and configure each application separately.
> 
>> Anyway, If I change this to a file-based method, should I firstly delete
>> all uploads to get the database cleared?
> 
> If your users don't need them, sure.
> 
>> In my case I think I should use this backend then?:
>> -----------------------------------------------------------------
>> // NOTE: /exampledir/home and all subdirectories should be, for
>> // security reasons, owned by your web server user and mode 700 or you
>> // will need to use suexec or something else that can adjust the web
>> // server effective uid.
>> $backends['file'] = array(
>>     // Disabled by default
>>     'disabled' => true,
>>     'name' => 'Virtual Home Directories',
>>     'driver' => 'file',
>>     'hordeauth' => true,
>>     'params' => array(
>>         // The base location under which the user home directories live.
>>         'vfsroot' => '/exampledir/home/',
>>         // The default permissions to set for newly created folders and
>> files.
>>         // 'permissions' => '750'
>>     ),
>>     'loginparams' => array(),
>>     'root' => '/',
>>     'home' => $GLOBALS['registry']->getAuth(),
>>     // 'createhome' => false,
>>     // 'filter' => '^regex$',
>>     // 'quota' => false,
>>     'shares' => true,
>>     'attributes' => array(
>>         'type',
>>         'name',
>>         'share',
>>         'edit',
>>         'download',
>>         'modified',
>>         'size',
>>     )
>> );
>> ----------------------------------------------------------
>> As I'm on a shared hosting, I guess I need to set some parameters
>> correctly.
>> 'vfsroot':  gollem/files (where files need to be 700)
> 
> 
> This should probably be a fully qualified path. Also, this would put
> your VFS under the gollem directory. Not sure if that's what you want or
> not. Most likely you'd want a separate path for your vfs if possible.
> 
>> 'root' : ? (the webusers home-dir?)
> 
> This is explained in the top of backends.php.
> 
>> uncomment // 'createhome' => false, (since I do that manually)
>>
>> Do I need to to something with the 'home' line depending on what auth
>> system I use?
> 
> $registry->getAuth() returns the current username (regardless of auth
> backend), so it is used as the directory name of the user's home directory.
> 
> 
I clearly got something wrong:
backends.local.php:
---------------------------------
<?php
// NOTE: /exampledir/home and all subdirectories should be, for
// security reasons, owned by your web server user and mode 700 or you
// will need to use suexec or something else that can adjust the web
// server effective uid.
$backends['file'] = array(
    // Disabled by default
    'disabled' => false,
    'name' => 'Share',
    'driver' => 'file',
    'hordeauth' => true,
    'params' => array(
        // The base location under which the user home directories live.
        'vfsroot' => '/var/www/virtual/user/html/horde/_exchange/alle/',
        // The default permissions to set for newly created folders and
files.
        // 'permissions' => '750'
    ),
    'loginparams' => array(),
    'root' => '/var/www/virtual/user/html/horde/_exchange/',
    'home' => $GLOBALS['registry']->getAuth(),
    'createhome' => false,
    // 'filter' => '^regex$',
    // 'quota' => false,
    'shares' => true,
    'attributes' => array(
        'type',
        'name',
        'share',
        'edit',
        'download',
        'modified',
        'size',
    )
);
-----------------------------
leads to this filesystem path for user dau:
/var/www/virtual/user/html/horde/_exchange/alle/var/www/virtual/user/html/horde/_exchange/dau

maybe a fully qualified path for vfsroot is not correct?



More information about the horde mailing list