OwnCloud

From dmfswiki
Jump to: navigation, search

ownCloud is an open source cloud software suite for remote access of calendar, address and file data. It uses a SabreDAV backend.

Setup with ownCloud 9

Once more the suffixes changed and you'll also have to re-create the accounts in Android.

CalDAV-Sync

  • Server URL: <servername>/owncloud/remote.php/dav/ (see Calendar in settings -> personal in your ownCloud account)
  • Use SSL: check accordingly
  • Username: your login name
  • Password: your password

CardDAV-Sync

  • Server URL: <servername>/owncloud/remote.php/dav/ (see Contacts in settings -> personal in your ownCloud account)
  • Use SSL: check accordingly
  • Username: your login name
  • Password: your password


Setup with ownCloud 4 & newer

In ownCloud 4 the CalDAV and CardDAV path names changed, once again. If you upgrade to ownCloud 4 you'll have to recreate the accounts in Android. You can find the correct CalDAV/CardDAV path names in settings -> personal. The path names below are just examples, please refer to your actual settings.

CalDAV-Sync

  • Server URL: <servername>/owncloud/remote.php/caldav/ (see Calendar in settings -> personal in your ownCloud account)
  • Use SSL: check accordingly
  • Username: your login name
  • Password: your password

CardDAV-Sync

  • Server URL: <servername>/owncloud/remote.php/carddav/ (see Contacts in settings -> personal in your ownCloud account)
  • Use SSL: check accordingly
  • Username: your login name
  • Password: your password


Setup with ownCloud 3

CalDAV-Sync

  • Server URL: <servername>/owncloud/apps/calendar/caldav.php/calendars/
  • Use SSL: check accordingly
  • Username: your login name
  • Password: your password

Note: The /owncloud/ part depends on your setup. If it doesn't work try /cloud/ (or whatever your ownCloud root is) instead.

CardDAV-Sync

  • Server URL: <servername>/owncloud/apps/contacts/carddav.php/addressbooks/
  • Use SSL: check accordingly
  • Username: your login name
  • Password: your password

Note: The /owncloud/ part depends on your setup. If it doesn't work try /cloud/ (or whatever your ownCloud root is) instead.

known issues

CalDAV

There is a known bug in SabreDAV (which is used by ownCloud): If your calendar contains events with certain time zone IDs that are not recognized by SabreDAV then the server returns an "internal server error" instead of a proper response to the calendar query. Currently your only option is to find those events and delete them (or change the time zone id). Please note that many desktop clients like Thunderbird Lightning and Evolution do not use "calendar query" and thus still work with ownCloud in that case. Please see [1] there is a patch linked that is reported to fix this issue. This has been fixed in ownCloud 4.

If some recurring events are missing on your phone see: [2]. Alternatively update SabreDAV in your ownCloud installation to the most recent SabreDAV release. This has been fixed in ownCloud 4 (it uses a more recent SabreDAV release).

ownCloud 4

There is a new issue with ownCloud 4. Please see TRIGGER:PT0S throws exception It's actually a bug in the SabreDAV version used by ownCloud 4. One of the comments contains a fix.

Syncing with ownCloud 4.0.4 seem to be completely broken. I got several reports of issues like this one: http://mail.kde.org/pipermail/owncloud/2012-July/004263.html here are the bug reports that seem to cover this issue oc-1199 and oc1247.

Unable to write into shared calendars (OwnCloud 9)

Caused by an incomplete transition from remote.php/caldav to remote.php/dav, writing to shared calendars seems to fail. [3] This issue doesn't exist in nextcloud. [4]

Quoting raoulbhatia from [5]:

[...]I think that one would be able to create a (temporary) workaround by using the rewrite capabilities of the webserver. I.e. for nginx; incomplete & not fully tested:

rewrite ^/?.well-known/carddav /remote.php/dav permanent;
rewrite ^/?.well-known/caldav /remote.php/dav permanent;

rewrite ^/remote.php/carddav/addressbooks(.*) /remote.php/dav/addressbooks/users$1 permanent;
[...]

CardDAV

The contact editor in ownCloud is broken and creates inconsistent vCards if you're not using the structured name editor. The regular editor doesn't update the N field in the vCard. To workaround this issue, please use the structured name editor, by clicking on the pen icon next to the name field.

Important Update: [2015-06-13] In Owncloud 8 the built-in contact editor on the server is broken. Modifications of contact names you make on the server side (even using the structured name editor) will not be commited to the database! There is currently no known fix.


Troubleshooting

Sync doesn't work or not everything is synced

Owncloud does not send keep-alives while rendering the reply to our request. Since the process of rendering can take a long time, this results in a connection time out very often. In order to grant owncloud more time, you can increase the socket time out in [edit calendar settings -> advanced settings -> socket timeout].

Values between 200 and 300 seconds are enough in most cases.

Can't create account in CardDAV-Sync and/or CalDAV-Sync won't sync

CardDAV-Sync and CardDAV-Sync verify the DAV headers sent by the server to ensure the server actually supports CardDAV/CalDAV. If you get the message "This URL seems not to point to a (supported) CardDAV server or you don't have access to it." or CalDAV-Sync doesn't sync, please check if you've enabled the Google pagespeed module. The pagespeed module removes the DAV headers.

At present the only known way to "fix" that is by disabling the pagespeed module. To do so, add this line to your virtual host or your global Apache config.

ModPagespeed off

Alternatively you can completely deactivate the module by running this command:

a2dismod pagespeed 

A better way to resolve this issue is to disable the pagespeed module for CalDAV and CardDAV only. A user reported that adding the following lines to the .htaccess file in the ownCloud root directory works (thanks Michael):

ModPagespeedDisallow "http://*exampleserver.com/owncloud/remote.php/*"
ModPagespeedDisallow "https://*exampleserver.com/owncloud/remote.php/*"

Of course you'll have to adjust the URL to your setup.

Server issues

If you're getting server errors, the reason is (as the name says) located on the server. This sections aims to give you hints what to do for some known issues.

Error Code 500

This error usually means the server just crashed during preparing the response. In some cases it helps to enable the option entire calendar for regular syncs in the account settings. That will disable filtering the results by time range at the expense of higher traffic during sync. If that doesn't fix it try to enable Use WebDAV sync method (some translations still call this option Synology Workaround).

[Update 20150403]: CalDAV-Sync versions >= 0.4.23 will now fallback to WebDAV synchronisation if the server responds with a status 500 code. This method is slightly less efficient but works with buggy servers.


Request was calendar query

> Während der Synchronisation mit user@server.com hat der Server > mit dem Status Code 500 geantwortet. Die Anfrage war calendar-query. >Der Inhalt der Antwort war:

This is a known bug in the SabreDAV-backend (http://owncloud.10557.n7.nabble.com/Errors-while-syncing-shared-calendar-tt13186.html#none). It'll be fixed in the upcoming release: https://github.com/owncloud/calendar/commit/ca006528552054a5a9f39ca7909e87f4aedd1f5d

Temporary files directory not accessible

Error Message:

Notice: session_start() [function.session-start]: ps_files_cleanup_dir: opendir(/tmp) failed: Permission denied (13) in /www/htdocs/w00xxxxxx/owncloud;/lib/base.php on line 264
Sabre_DAV_Exception_NotAuthenticated No basic authentication headers were found 1.6.4

Explanation:

This happens when your hosted ownCloud has no access to the global /tmp directory.

Fix:

To fix it you have to change the temporary directory of your installation. Create a new directory and change the variable session.save_path to point there (i.e. change .htaccess to contain the following line, change the path accordingly)

php_value session.save_path /www/htdocs/w00xxxxxx/temp/
Don't forget to create that directory if it doesn't exist yet.


Trigger parsing error

Error Message:

Exception DateInterval::__construct(): Unknown or bad format (P) 1.6.2

Explanation:

That's caused by a bug in SabreDAV.

Fix:

Upgrade SabreDAV to the latest 1.6.x release or use the fix mentioned here: TRIGGER:PT0S throws exception

Time zone issue

Error Message:

Exception DateTimeZone::__construct(): Unknown or bad timezone (GMT+01.00/+02.00) 1.5.7

Explanation:

That's caused by a bug in the SabreDAV release used by ownCloud 3.x. It's not able to handle non-Olson time zone ids properly.

Fix:

Upgrade SabreDAV to the latest 1.5.x release or upgrade to ownCloud 4.x.


Upload issues

Error Message:

java.lang.Exception: could not upload new resource

Server log contains something like:

PHP Fatal error:  Call to undefined function iconv() in /var/www/htdocs/owncloud/apps/contacts/lib/vcard.php on line 200

Explanation:

iconv.so is not enabled in your php.ini.

Fix:

Enable iconv.so in your php.ini.


Sync error on IIS webserver

(owncloud 5 on IIS 8)

Error Message:

405 - HTTP verb used to access this page is not allowed.

Explanation:

For CalDAV/CardDAV/WebDAV it is necessary to allow the HTTP methods (verbs) PROPFIND and REPORT on the server.  Also, there seem to be inteferences between the WebDAV functionality of IIS itself and owncloud.

Fix:

Uninstall WebDAV functionality, deactivating is not sufficient. Then allow all HTTP request methods to the FastCGI handler.

SPDY & mod_pagespeed

According to a user report these might cause issues when enabled. If you're having sync issues without a distinct error message check if these two modules are enabled on your server and try to sync again without them.

Authentication issue with Owncloud 8

Apparently there was a new regression in Owncloud 8. See here for the details and a fix: https://github.com/owncloud/core/pull/14275

Also, in Owncloud 8, you need to explicitely add the address of the server to config.php Example:

'trusted_domains' => array (
'foo.example.com',
'bar.example.com',
'foo2.example.com:12321'
),

(thanks to Marcel)

Update issues

Please backup your config.php before updating your installation, as it seems to be overwritten during (automatic) updates.

.htaccess

Your .htaccess should contain these lines to avoid issues:

<Limit GET POST>
    order allow,deny
    allow from all
</Limit>
<Limit PUT DELETE>
    order allow,deny
    allow from all
</Limit> 

PHP7

While Owncloud itself claims to be ready for PHP7, their CalDAV implemetation obviously isn't (see https://github.com/owncloud/core/issues/21461 ). Disabling fastcgi_buffering seems to be a workaround. (Thanks Matthias)

For nginx:

location ~ \.php(?:$|/) {
...
 fastcgi_buffering off;
...