Webdav doesnt work in nextcloud 11

Hey everyone…

I have multiple problems with nextcloud…
I cannot upload files bigger than about 400-500MB and I can also not upload ANY files (no matter what size) via webdav.

I tried fixing that stuff today for multiple hours and no success. Im slowly getting tired about nextcloud…

When I freshly installed nextcloud everything worked fine and after 2 upgrades i have these problems…

Also this from the log:

I am sorry to hear about the problems you run into after your upgrade …
Could you please provide us more details about your Nextcloud instance (OS, PHP, …) This would help us to assist you best :muscle: Thanks!

Greetings

Marius

1 Like

The first error log looks similar to this. So might be the same problem/solution:

Hello.

Here some specs:

OS: Debian 8.6 x64
Nextcloud Version: 11.0.0
PHP Version: 5.6.27

The site is also HTTPS / SSL secured. No “server-side” encryption enabled tho.

What I configured in “/etc/apache2/sites-available/000-default.conf”:

<Directory "/var/www/html">
    AllowOverride All
    LimitRequestBody 2147483647
    SSLRenegBufferSize 10486000
</Directory>

Here my “.htaccess”:

<IfModule mod_headers.c>
  <IfModule mod_setenvif.c>
    <IfModule mod_fcgid.c>
       SetEnvIfNoCase ^Authorization$ "(.+)" XAUTHORIZATION=$1
       RequestHeader set XAuthorization %{XAUTHORIZATION}e env=XAUTHORIZATION
    </IfModule>
    <IfModule mod_proxy_fcgi.c>
       SetEnvIfNoCase Authorization "(.+)" HTTP_AUTHORIZATION=$1
    </IfModule>
  </IfModule>

  <IfModule mod_env.c>
    # Add security and privacy related headers
    Header set X-Content-Type-Options "nosniff"
    Header set X-XSS-Protection "1; mode=block"
    Header set X-Robots-Tag "none"
    Header set X-Frame-Options "SAMEORIGIN"
    Header set X-Download-Options "noopen"
    Header set X-Permitted-Cross-Domain-Policies "none"
    SetEnv modHeadersAvailable true
  </IfModule>

  # Add cache control for static resources
  <FilesMatch "\.(css|js|svg|gif)$">
    Header set Cache-Control "max-age=15778463"
  </FilesMatch>

  # Let browsers cache WOFF files for a week
  <FilesMatch "\.woff$">
    Header set Cache-Control "max-age=604800"
  </FilesMatch>
</IfModule>
<IfModule mod_php5.c>
  php_value upload_max_filesize 16G
  php_value post_max_size 16G
  php_value memory_limit 512M
  php_value mbstring.func_overload 0
  php_value always_populate_raw_post_data -1
  php_value default_charset 'UTF-8'
  php_value output_buffering 0
  <IfModule mod_env.c>
    SetEnv htaccessWorking true
  </IfModule>
</IfModule>
<IfModule mod_php7.c>
  php_value upload_max_filesize 16G
  php_value post_max_size 16G
  php_value memory_limit 512M
  php_value mbstring.func_overload 0
  php_value default_charset 'UTF-8'
  php_value output_buffering 0
  <IfModule mod_env.c>
    SetEnv htaccessWorking true
  </IfModule>
</IfModule>
<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
  RewriteRule ^\.well-known/host-meta /public.php?service=host-meta [QSA,L]
  RewriteRule ^\.well-known/host-meta\.json /public.php?service=host-meta-json [QSA,L]
  RewriteRule ^\.well-known/carddav /remote.php/dav/ [R=301,L]
  RewriteRule ^\.well-known/caldav /remote.php/dav/ [R=301,L]
  RewriteRule ^remote/(.*) remote.php [QSA,L]
  RewriteRule ^(?:build|tests|config|lib|3rdparty|templates)/.* - [R=404,L]
  RewriteCond %{REQUEST_URI} !^/.well-known/acme-challenge/.*
  RewriteRule ^(?:\.|autotest|occ|issue|indie|db_|console).* - [R=404,L]
</IfModule>
<IfModule mod_mime.c>
  AddType image/svg+xml svg svgz
  AddEncoding gzip svgz
</IfModule>
<IfModule mod_dir.c>
  DirectoryIndex index.php index.html
</IfModule>
AddDefaultCharset utf-8
Options -Indexes
<IfModule pagespeed_module>
  ModPagespeed Off
</IfModule>

Your post just got me thinking.

I looked at my .htaccess, about the same as yours.
But I know mine is not being used. The headers for example are not being sent at all.
It’s like .htaccess is being ignored.

1 Like

Any idea what the problem could be? :slight_smile:

Hello

Maybe it could be the php.ini config:

The Time (max_input_time) is very important. here 3hours:
max_input_time = 10800
post_max_size = 20G
upload_max_filesize = 20G
max_file_uploads = 20

My OS: Ubuntu 16.04 LTS / PHP 7
Path: /etc/php/7.0/apache2/php.ini -> for PHP5.X /etc/php5/apache2/php.ini[quote=“basildane, post:9, topic:6838”]
.user.ini
[/quote]

Maybe this link can help: http://serverfault.com/questions/615587/local-php-ini-not-overriding-main-php-ini/638042

i think your right. but I had this problem also with PHP5.6
try to rename the user.ini and backup the php.ini file -> cp /etc/php5/apache2/php.ini /etc/php5/apache2/php.ini_bak -> change the settings & restart the apache server -> try again

I’m new to PHP, but doesn’t .user.ini override php.ini?

Hey! Thanks for your response.

I did notice that I have edited the “/etc/php5/cli/php.ini” and not the “/etc/php5/apache2/php.ini”. lol
Now I have also edited the other php.ini but still not effect and the fileupload fails.

.user.ini is also configured.

Hi
Did you restart the apache service?
Did you add an phpinfo.php with content:

<?php echo phpinfo(); ?>

and call yoursite/phpinfo.php -> pls check: Loaded Configuration File
this should be on the fifth line

in my case: /etc/php/7.0/apache2/php.ini

Did you try with web-interface or with client?

additional:
my file /etc/apache2/apache2.conf

-> I didn’t add that to “/etc/apache2/sites-available/000-default.conf”:

{“reqId”:“GARZji/km31p95sBtjoh”,“remoteAddr”:“172.xxx.xxx.xxx”,“app”:“webdav”,“message”:“Exception: {“Message”:“HTTP\/1.1 500 No subsystem set a valid HTTP status code. Something must have interrupted the request without providing further detail.”,“Exception”:“Sabre\\DAV\\Exception”,“Code”:0,“Trace”:”#0 \/var\/www\/nextcloud\/3rdparty\/sabre\/dav\/lib\/DAV\/Server.php(254): Sabre\\DAV\\Server->invokeMethod(Object(Sabre\\HTTP\\Request), Object(Sabre\\HTTP\\Response))\n#1 \/var\/www\/nextcloud\/apps\/dav\/appinfo\/v1\/webdav.php(60): Sabre\\DAV\\Server->exec()\n#2 \/var\/www\/nextcloud\/remote.php(165): require_once(’\/var\/www\/nextcl…’)\n#3 {main}",“File”:"\/var\/www\/nextcloud\/3rdparty\/sabre\/dav\/lib\/DAV\/Server.php",“Line”:495,“User”:“XXXX4878C-XXXX-476D-XXXX-XXXXX”}",“level”:4,“time”:“2017-01-04T08:37:51+00:00”,“method”:“LOCK”,“url”:"/nc/remote.php/webdav/%D0%94%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%20Microsoft%20Project.mpp",“user”:“XXXX4878C-XXXX-476D-XXXX-XXXXX”,“version”:“11.0.0.10”}

/nextcloud\/3rdparty\/sabre\/dav\/lib\/DAV\/Server.php

// {{{ HTTP/WebDAV protocol helpers

/**
 * Returns an array with all the supported HTTP methods for a specific uri.
 *
 * @param string $path
 * @return array
 */
function getAllowedMethods($path) {

    $methods = [
        'OPTIONS',
        'GET',
        'HEAD',
        'DELETE',
        'PROPFIND',
        'PUT',
        'PROPPATCH',
        'COPY',
        'MOVE',
        'REPORT'
    ];

I’ve restarted the apache2 service, then it didnt work.

Restarted the whole server, still doesnt work.

PHPInfo says “Loaded Configuration File: /etc/php5/apache2/php.ini”

phpinfo displays all settings that i’ve made correctly.

Hi

To check that .htaccess works -> Type some random caracters on the end of your .htaccess file eg.: asdjflasdhfuähah20h$g03h2

Then, load your page again. It comes an error 500 output -> can you confirm that? -> if not -> the .htaccess is ignored

remember to delete the ramdom caracters after that check

Just did that check, .htaccess seems to be working. I got a error 500.

What kind of a system do you have (processor/RAM)? For the 500 error, what does the apache logs say?

The error500 was just because I tested if my .htaccess works. .HTACCESS seems to work all fine.

My System --> 1 x 1.90 GHz CPU, 1024 MB + 512 MB SWAP RAM, 1TB Storage HDD, debian-8.0-x86_64

There are some more things to add:
https://docs.nextcloud.com/server/11/admin_manual/installation/source_installation.html#apache-web-server-configuration

And some more things about the expected filesize-error:

My settings are exactly like “nextcloud” says they should be.

I also tried all the steps to fix already.