# ownCloud User Manual

# Troubleshooting

## Debugging the issue

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” from the Admin page. Some logging - for example JavaScript console logging - needs manually editing the configuration file. Edit `config/config.php` and add `define('DEBUG', true);`:

    <?php
    define('DEBUG',true);
    $CONFIG = array (
        ... configuration goes here ...
    );

For JavaScript issues you will also need to view the javascript console. All major browsers have decent developer tools for viewing the console, and you usually access them by pressing F-12. For Firefox it is recommended to install the Firebug extension.

## Service discovery

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

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

### Apple iOS

Below is what have proven to work with iOS including iOS 7.

If your ownCloud instance is installed in a subfolder under the web server’s document root and the client has difficulties finding the Cal- or CardDAV end-points, configure your web server to redirect from a “well-know” URL to the one used by ownCloud. When using the Apache web server this is easily achieved using a `.htaccess` file in the document root of your site.

Say your instance is located in the `owncloud` folder, so the URL to it is `ADDRESS/owncloud`, create or edit the `.htaccess` file and add the following lines:

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

If you use Nginx as web server, the setting looks something like:

    url.redirect = (
        "^/.well-known/carddav" => "/owncloud/remote.php/carddav",
        "^/.well-known/caldav" => "/owncloud/remote.php/caldav",
    )

Now change the URL in the client settings to just use `ADDRESS` instead of e.g. `ADDRESS/remote.php/carddav/principals/username`.

This problem is being discussed in the forum.

### BlackBerry OS 10.2

BlackBerry OS up to 10.2.2102 does not accept a URL with protocol `https://` in front of the server address. It will always tell you, that it cannot login on your server. So instead of writing

> https://address/remote.php/carddav/principals/username

in the server address field, you have to write

> address/remote.php/carddav/principals/username

## Unable to update Contacts or Events

If you get an error like `PATCH https://ADDRESS/some_url HTTP/1.0 501 Not Implemented` it is likely caused by one of the following reasons:

Outdated lighttpd web server
  lighttpd in debian wheezy (1.4.31) doesn’t support the PATCH HTTP verb. Upgrade to lighttpd >= 1.4.33.
Using Pound reverse-proxy/load balancer
  As of writing this Pound doesn’t support the HTTP/1.1 verb. Pound is easily patched to support HTTP/1.1.