General Troubleshooting

Introduction

This page gives an overview of general troubleshooting topics and can help to sort out paths addressing your topics.

If you have trouble installing, configuring or maintaining ownCloud, please refer to our community support channel:

The ownCloud forum have a FAQ category where each topic corresponds to typical errors or frequently occurring issues.

Please understand that this channel essentially consist of users like you helping each other. Consider helping others when you can in return for the help you get. This is the only way to keep a community like ownCloud healthy and sustainable!

If you are using ownCloud in a business or otherwise large scale deployment, note that ownCloud GmbH offers the Enterprise Edition with commercial support options.

Bugs

If you think you have found a bug in ownCloud, please:

  • Search for a solution (see the options above)

  • Double-check your configuration

If you can’t find a solution, please use our bugtracker. You can generate a configuration report with the occ config command, with passwords automatically obscured.

General Troubleshooting

Check the ownCloud System Requirements, especially supported browser versions. When you see warnings about code integrity, refer to Code Signing.

Disable Third-Party Apps

Third-party apps may cause problems during upgrades. To avoid this happening, we strongly encourage administrators to always disable third-party apps before upgrades, and for troubleshooting purposes.

ownCloud Logfiles

In a standard ownCloud installation the log level is set to Normal. To find any issues you need to raise the log level to All in your config.php file, or to Everything on your ownCloud Admin page. Please see Logging Configuration for more information on these log levels.

Some logging - for example JavaScript console logging - needs debugging enabled. Edit config/config.php and change 'debug' ⇒ false, to 'debug' ⇒ true, Be sure to change it back when you are finished.

For JavaScript issues you will also need to view the javascript console. All major browsers have developer tools for viewing the console. Usually you can access them by pressing F12.

For more information on developer tools for Mozilla Firefox, refer to: https://developer.mozilla.org/en-US/docs/Tools

To learn more about Chrome or Chromium developer tools, go to: https://developer.chrome.com/docs/devtools/

The logfile of ownCloud is located in the data directory owncloud/data/owncloud.log.

PHP Version and Information

You will need to know your PHP version and configuration details. There are two ways to retrieve this information: using PHP’s phpinfo function and using a set of options to PHP on the command-line.

Using PHP’s phpinfo Function

Create a plain-text file named "phpinfo.php" and place it in your webserver’s root directory, for example /var/www/html/phpinfo.php.

Your webserver’s root directory may be in a different location; your Linux distribution’s documentation will tell you where it is located.

This file contains the following line:

<?php phpinfo(); ?>

Open this file in a web browser, by pointing your browser to localhost/phpinfo.php:

image

Your PHP version is at the top, and the rest of the page contains abundant system information such as active modules, active .ini files, and much more. When you are finished reviewing your information you must delete phpinfo.php, or move it outside of your Web directory, because it is a security risk to expose such sensitive data.

Using the Command-Line

To retrieve your PHP version, run the following command:

php -v

To retrieve a list of PHP’s active modules, run the following command.

php -m

You will see output similar to the following displayed in the terminal.

[PHP Modules]
ast
calendar
Core
ctype
curl
date
dom
exif
fileinfo

To obtain information about PHP’s configuration, you can either retrieve it all at once, by running php -i or retrieve information about individual modules, by running php --ri followed by the module’s name, such as php --ri curl.

Debugging Sync Issues

The data directory on the server is exclusive to ownCloud and must not be modified manually.

Disregarding this can lead to unwanted behaviours like:

  • Problems with sync clients

  • Undetected changes due to caching in the database

If you need to directly upload files from the same server please use a WebDAV command line client like cadaver to upload files to the WebDAV interface at:

https://example.com/owncloud/remote.php/dav

Common problems / error messages

Some common problems / error messages found in your logfiles as described above:

  • SQLSTATE[HY000] [1040] Too many connections → You need to increase the connection limit of your database, please refer to the manual of your database for more information.

  • SQLSTATE[HY000]: General error: 5 database is locked → You’re using SQLite which can’t handle a lot of parallel requests. Please consider converting to another database like described in converting Database Type.

  • SQLSTATE[HY000]: General error: 2006 MySQL server has gone away → Please refer to Troubleshooting for more information.

  • SQLSTATE[HY000] [2002] No such file or directory → There is a problem accessing your SQLite database file in your data directory (data/owncloud.db). Please check the permissions of this folder/file or if it exists at all. If you’re using MySQL please start your database.

  • Connection closed / Operation cancelled or expected filesize 4734206 got 458752 → This could be caused by wrong KeepAlive settings within your Apache config. Make sure that KeepAlive is set to On and also try to raise the limits of KeepAliveTimeout and MaxKeepAliveRequests. On Apache with mod_php using a multi-processing module other than prefork could be another reason. Further information is available in the forums.

  • No basic authentication headers were found → This error is shown in your data/owncloud.log file. Some Apache modules like mod_fastcgi, mod_fcgid or mod_proxy_fcgi are not passing the needed authentication headers to PHP and so the login to ownCloud via WebDAV, CalDAV and CardDAV clients is failing. More information on how to correctly configure your environment can be found at the forums.

OAuth2

ownCloud clients cannot connect to the ownCloud server

If ownCloud clients cannot connect to your ownCloud server, check to see if PROPFIND requests receive HTTP/1.1 401 Unauthorized responses. If this is happening, more than likely your webserver configuration is stripping out the bearer authorization header.

If you’re using the Apache web server, add the following SetEnvIf directive to your Apache configuration, whether in the general Apache config, in a configuration include file, or in ownCloud’s .htaccess file.

SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1

Missing Data Directory

During the normal course of operations, the ownCloud data directory may be temporarily unavailable for a variety of reasons. These can include network timeouts on mounted network disks, unintentional unmounting of the partition on which the directory sits, or a corruption of the RAID setup. If you have experienced this, here’s how ownCloud works and what you can expect.

During normal operation, ownCloud’s data directory contains a hidden file, named .ocdata. The purpose of this file is for setups where the data folder is mounted (such as via NFS) and for some reason the mount disappeared. If the directory isn’t available, the data folder would, in effect, be completely empty and the .ocdata would be missing. When this happens, ownCloud will return a 503 Service not available error, to prevent clients believing that the files are gone.

Troubleshooting Web server and PHP problems

Logfiles

When having issues the first step is to check the logfiles provided by PHP, the Web server and ownCloud itself.

In the following the paths to the logfiles of a default Debian installation running Apache2 with mod_php is assumed. On other Web servers, Linux distros or operating systems they can differ.
  • The logfile of Apache2 is located in /var/log/apache2/error.log.

  • The logfile of PHP can be configured in your /etc/php/7.4/apache2/php.ini. You need to set the directive log_errors to On and choose the path to store the logfile in the error_log directive. After those changes you need to restart your Web server.

  • The logfile of ownCloud is located in the data directory /var/www/owncloud/data/owncloud.log.

Web Server and PHP Modules

Lighttpd is not supported with ownCloud — and some ownCloud features may not work at all on Lighttpd.

There are some Web server or PHP modules which are known to cause various problems like broken up-/downloads. The following shows a draft overview of these modules:

Apache

  • libapache2-mod-php7.4 (or a lower supported version if necessary)

  • mod_dav

  • mod_deflate

  • mod_evasive

  • mod_pagespeed

  • mod_proxy_html (can cause broken PDF downloads)

  • mod_reqtimeout

  • mod_security

  • mod_spdy together with libapache2-mod-php7.4 (see above) / mod_php (use fcgi or php-fpm instead)

  • mod_xsendfile / X-Sendfile (causing broken downloads if not configured correctly)

PHP

  • eAccelerator

Troubleshooting WebDAV

General troubleshooting

ownCloud uses SabreDAV, and the SabreDAV documentation is comprehensive and helpful.

See:

There is also a well maintained FAQ thread available at the ownCloud Forums which contains various additional information about WebDAV problems.

Error 0x80070043 The network name cannot be found. while adding a network drive

The windows native WebDAV client might fail with the following error message:

Error 0x80070043 "The network name cannot be found." while adding a network drive

A known workaround for this issue is to update your web server configuration.

Apache

You need to add the following rule set to your main web server or virtual host configuration, or the .htaccess file in your document root.

Please keep in mind that the .htaccess file in the ownCloud directory will be overwritten on update. Post upgrading ownCloud, you need to manually restore these changes. See the section Backup Manual Changes in .htaccess for details.
# Fixes Windows WebDav client error 0x80070043 "The network name cannot be found."
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^(DavClnt)$
RewriteCond %{REQUEST_METHOD} ^(OPTIONS)$
RewriteRule .* - [R=401,L]

Troubleshooting Contacts & Calendar

Service Discovery

Some clients - especially on iOS/Mac OS X - have problems finding the proper sync URL, even when explicitly configured to use it.

If you want to use CalDAV or CardDAV clients together with ownCloud it is important to have a correct working setup of the following URLs:

https://example.com/.well-known/carddav
https://example.com/.well-known/caldav

Those need to be redirecting your clients to the correct DAV endpoints. If running ownCloud at the document root of your Web server the correct URL is:

https://example.com/remote.php/dav

and if running in a subfolder like owncloud:

https://example.com/owncloud/remote.php/dav

For the first case the .htaccess file shipped with ownCloud should do this work for your when running Apache. You only need to make sure that your Web server is using this file.

If your ownCloud instance is installed in a subfolder called owncloud and you’re running Apache create or edit the .htaccess file within the document root of your Web server and add the following lines:

Redirect 301 /.well-known/carddav /owncloud/remote.php/dav
Redirect 301 /.well-known/caldav /owncloud/remote.php/dav

Now change the URL in the client settings to just use:

https://example.com

instead of e.g.

https://example.com/owncloud/remote.php/dav/principals/username.

There are also several techniques to remedy this, which are described extensively at the Sabre DAV website.

Unable to update Contacts or Events

If you get an error like:

PATCH https://example.com/remote.php/dav HTTP/1.0 501 Not Implemented

it is likely caused by one of the following reasons:

Using Pound reverse-proxy/load balancer

Check if your Pound installation supports the HTTP/1.1 verb. If it does not, update to the latest version.

Misconfigured Web server

Your Web server is misconfigured and blocks the needed DAV methods. Please refer to Troubleshooting WebDAV above for troubleshooting steps.

Client Sync Stalls

One known reason is stray locks. These should expire automatically after an hour. If stray locks don’t expire (identified by e.g. repeated file.txt is locked and/or Exception\\\\FileLocked messages in your data/owncloud.log), make sure that you are running system cron and not Ajax cron (See Background Jobs). See https://github.com/owncloud/core/issues/22116 and https://central.owncloud.org/t/file-is-locked-how-to-unlock/985 for some discussion and additional info of this issue.

Other issues

Some services like Cloudflare can cause issues by minimizing JavaScript and loading it only when needed. When having issues like a not working login button or creating new users make sure to disable such services first.