Use of MKCOL by Owncloud prevents large files uploads

Discussion in 'Installation/Configuration' started by dan-v, May 28, 2025.

  1. dan-v

    dan-v Member

    Hello !

    I have installed Owncloud version 10.15.2, upgrading from 10.8.1. which worked fine. The new version fails on the upload of large files (small ones upload OK). Log analysis shows that, for large files (only), Owncloud tries to use the MKCOL method, whereas, for smaller file, it uses PUT and GET - like 10.8.1 used to do.

    The use of MKCOL triggers an Apache HTTP rejection "403 Forbidden" and the upload fails.

    Is this a known issue, and what could be the solution ?

    Thansk for your help
     
  2. pyte

    pyte Well-Known Member HowtoForge Supporter

    MKCOL is webdav. You need to make sure your webserver supports webdav. Check if the module is enabled in apache and check if everything for owncloud is setup correctly
     
  3. dan-v

    dan-v Member

    Owncloud provides webdav access to it's file data. And it works fine, except for this problem when uploading large files (only) on version 10.15.2

    I have combed Owncloud config files and could not find an issue. Configuration is Debian12 /ISPConfilg 3.3, BTW
     
    Last edited: May 28, 2025
  4. pyte

    pyte Well-Known Member HowtoForge Supporter

    Check if the modules are enabled. After you validated that they are check the corrosponding error log for permission errors. Maybe when uploading large files a directory for the chunks needs to be created and you don't have the permissions for that path.
     
  5. dan-v

    dan-v Member

    This is partly correct. It was a permission problem for creating the chunk files. But it should not have happened because the the creation is attempted in the default upload directory, namely owncloud_root/data/user_id/uploads for which the permissions were OK.

    I am not sure why that was failing. It may be linked to the fact that my owncloud_root/data directory is a bind mount to a location on a separate disk.

    Anyway, I found a workaround which solved the problem:
    Code:
    # mkdir /tmp/uploads
    # chown owncloud-id:owncloud-group /tmp/uploads
    # chmod 770 /tmp/uploads
    and, in owncloud_root/config/config.php, add the line:
    Code:
    'dav.chunk_base_dir' => '/tmp/uploads',
    Now it works fine.
     

Share This Page