Seeking help getting Owncloud to work after upgrading OS X to 10.11.x

Please help us by providing the following info.

Steps to reproduce
1. Upgrade OS X to 10.11.x (El Capitan)
2. Existing OwnCloud CardDAV entry in Contacts.app and Internet Accounts (System Preferences) ceases to work
3. Try adding a new entry to Accounts in Contacts.app or Internet Accounts, and it fails with username / password error
4. The existing CardDAV server entry in Contacts.app gives the following error when it tries to sync, The operation couldn’t be completed. (CoreDAVErrorDomain error 3.)

Expected behaviour
It should sync as per normal

Actual behaviour
Fails to sync. Fails to authenticate.

Client configuration
Client operating system: OS X 10.11.6

Server configuration
Operating system: Not sure. Shared hosting
Web server: Nginx / Apache (not entirely sure,,, I suspect it's a hybrid)
Database: MySQL
PHP version: 5.3.29
ownCloud version (see ownCloud admin page): 8.2.7 (also tried 8.2.5, and 9.1.0)
Updated from an older ownCloud or fresh install: Updated to 8.2.7. Also tried a fresh install of 9.1.0
ownCloud log (data/owncloud.log):

Log is 48MB in size. Here are the last few entries...

{"reqId":"V6enNbia6Q4AAHnaIZIAAAAf","remoteAddr":"190.141.116.121","app":"PHP","message":"Automatically populating $HTTP_RAW_POST_DATA is deprecated and will be removed in a future version. To avoid this warning set 'always_populate_raw_post_data' to '-1' in php.ini and use the php:\/\/input stream instead. at Unknown#0","level":3,"time":"2016-08-07T21:25:09+00:00","method":"POST","url":"\/ocloud\/index.php\/heartbeat"}
{"reqId":"V6kpubia6Q4AAESjtMsAAAAA","remoteAddr":"190.218.106.165","app":"carddav","message":"Exception: {\"Message\":\"HTTP\\\/1.1 401 No basic authentication headers were found\",\"Exception\":\"Sabre\\\\DAV\\\\Exception\\\\NotAuthenticated\",\"Code\":0,\"Trace\":\"#0 \\\/home\\\/inspir74\\\/public_html\\\/ocloud\\\/lib\\\/private\\\/connector\\\/sabre\\\/auth.php(157): Sabre\\\\DAV\\\\Auth\\\\Backend\\\\AbstractBasic->authenticate(Object(Sabre\\\\DAV\\\\Server), 'ownCloud')\\n#1 \\\/home\\\/inspir74\\\/public_html\\\/ocloud\\\/lib\\\/private\\\/connector\\\/sabre\\\/auth.php(127): OC\\\\Connector\\\\Sabre\\\\Auth->auth(Object(Sabre\\\\DAV\\\\Server), 'ownCloud')\\n#2 \\\/home\\\/inspir74\\\/public_html\\\/ocloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Auth\\\/Plugin.php(118): OC\\\\Connector\\\\Sabre\\\\Auth->authenticate(Object(Sabre\\\\DAV\\\\Server), 'ownCloud')\\n#3 [internal function]: Sabre\\\\DAV\\\\Auth\\\\Plugin->beforeMethod(Object(Sabre\\\\HTTP\\\\Request), Object(Sabre\\\\HTTP\\\\Response))\\n#4 \\\/home\\\/inspir74\\\/public_html\\\/ocloud\\\/3rdparty\\\/sabre\\\/event\\\/lib\\\/EventEmitterTrait.php(105): call_user_func_array(Array, Array)\\n#5 \\\/home\\\/inspir74\\\/public_html\\\/ocloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(456): Sabre\\\\Event\\\\EventEmitter->emit('beforeMethod', Array)\\n#6 \\\/home\\\/inspir74\\\/public_html\\\/ocloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(254): Sabre\\\\DAV\\\\Server->invokeMethod(Object(Sabre\\\\HTTP\\\\Request), Object(Sabre\\\\HTTP\\\\Response))\\n#7 \\\/home\\\/inspir74\\\/public_html\\\/ocloud\\\/apps\\\/contacts\\\/appinfo\\\/remote.php(84): Sabre\\\\DAV\\\\Server->exec()\\n#8 \\\/home\\\/inspir74\\\/public_html\\\/ocloud\\\/remote.php(137): require_once('\\\/home\\\/inspir74\\\/...')\\n#9 {main}\",\"File\":\"\\\/home\\\/inspir74\\\/public_html\\\/ocloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Auth\\\/Backend\\\/AbstractBasic.php\",\"Line\":70}","level":0,"time":"2016-08-09T00:54:18+00:00","method":"GET","url":"\/ocloud\/remote.php\/carddav\/addressbooks\/jonathan\/contacts"}
{"reqId":"V6kpyLia6Q4AAGxA3zIAAAAO","remoteAddr":"190.218.106.165","app":"carddav","message":"Exception: {\"Message\":\"HTTP\\\/1.1 501 There was no handler found for this \\\"GET\\\" method\",\"Exception\":\"Sabre\\\\DAV\\\\Exception\\\\NotImplemented\",\"Code\":0,\"Trace\":\"#0 \\\/home\\\/inspir74\\\/public_html\\\/ocloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(254): Sabre\\\\DAV\\\\Server->invokeMethod(Object(Sabre\\\\HTTP\\\\Request), Object(Sabre\\\\HTTP\\\\Response))\\n#1 \\\/home\\\/inspir74\\\/public_html\\\/ocloud\\\/apps\\\/contacts\\\/appinfo\\\/remote.php(84): Sabre\\\\DAV\\\\Server->exec()\\n#2 \\\/home\\\/inspir74\\\/public_html\\\/ocloud\\\/remote.php(137): require_once('\\\/home\\\/inspir74\\\/...')\\n#3 {main}\",\"File\":\"\\\/home\\\/inspir74\\\/public_html\\\/ocloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php\",\"Line\":472}","level":4,"time":"2016-08-09T00:54:33+00:00","method":"GET","url":"\/ocloud\/remote.php\/carddav\/addressbooks\/jonathan\/contacts"}
{"reqId":"V6ktSbia6Q4AAEuliKwAAAAQ","remoteAddr":"190.218.106.165","app":"caldav","message":"Exception: {\"Message\":\"HTTP\\\/1.1 401 No basic authentication headers were found\",\"Exception\":\"Sabre\\\\DAV\\\\Exception\\\\NotAuthenticated\",\"Code\":0,\"Trace\":\"#0 \\\/home\\\/inspir74\\\/public_html\\\/ocloud\\\/lib\\\/private\\\/connector\\\/sabre\\\/auth.php(157): Sabre\\\\DAV\\\\Auth\\\\Backend\\\\AbstractBasic->authenticate(Object(Sabre\\\\DAV\\\\Server), 'ownCloud')\\n#1 \\\/home\\\/inspir74\\\/public_html\\\/ocloud\\\/lib\\\/private\\\/connector\\\/sabre\\\/auth.php(127): OC\\\\Connector\\\\Sabre\\\\Auth->auth(Object(Sabre\\\\DAV\\\\Server), 'ownCloud')\\n#2 \\\/home\\\/inspir74\\\/public_html\\\/ocloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Auth\\\/Plugin.php(118): OC\\\\Connector\\\\Sabre\\\\Auth->authenticate(Object(Sabre\\\\DAV\\\\Server), 'ownCloud')\\n#3 [internal function]: Sabre\\\\DAV\\\\Auth\\\\Plugin->beforeMethod(Object(Sabre\\\\HTTP\\\\Request), Object(Sabre\\\\HTTP\\\\Response))\\n#4 \\\/home\\\/inspir74\\\/public_html\\\/ocloud\\\/3rdparty\\\/sabre\\\/event\\\/lib\\\/EventEmitterTrait.php(105): call_user_func_array(Array, Array)\\n#5 \\\/home\\\/inspir74\\\/public_html\\\/ocloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(456): Sabre\\\\Event\\\\EventEmitter->emit('beforeMethod', Array)\\n#6 \\\/home\\\/inspir74\\\/public_html\\\/ocloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(254): Sabre\\\\DAV\\\\Server->invokeMethod(Object(Sabre\\\\HTTP\\\\Request), Object(Sabre\\\\HTTP\\\\Response))\\n#7 \\\/home\\\/inspir74\\\/public_html\\\/ocloud\\\/apps\\\/calendar\\\/appinfo\\\/remote.php(60): Sabre\\\\DAV\\\\Server->exec()\\n#8 \\\/home\\\/inspir74\\\/public_html\\\/ocloud\\\/remote.php(137): require_once('\\\/home\\\/inspir74\\\/...')\\n#9 {main}\",\"File\":\"\\\/home\\\/inspir74\\\/public_html\\\/ocloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Auth\\\/Backend\\\/AbstractBasic.php\",\"Line\":70}","level":0,"time":"2016-08-09T01:09:29+00:00","method":"PROPFIND","url":"\/ocloud\/remote.php\/caldav\/principals\/jonathan\/"}
{"reqId":"V6ktSria6Q4AAEuf4fAAAAAC","remoteAddr":"190.218.106.165","app":"caldav","message":"Exception: {\"Message\":\"HTTP\\\/1.1 401 No basic authentication headers were found\",\"Exception\":\"Sabre\\\\DAV\\\\Exception\\\\NotAuthenticated\",\"Code\":0,\"Trace\":\"#0 \\\/home\\\/inspir74\\\/public_html\\\/ocloud\\\/lib\\\/private\\\/connector\\\/sabre\\\/auth.php(157): Sabre\\\\DAV\\\\Auth\\\\Backend\\\\AbstractBasic->authenticate(Object(Sabre\\\\DAV\\\\Server), 'ownCloud')\\n#1 \\\/home\\\/inspir74\\\/public_html\\\/ocloud\\\/lib\\\/private\\\/connector\\\/sabre\\\/auth.php(127): OC\\\\Connector\\\\Sabre\\\\Auth->auth(Object(Sabre\\\\DAV\\\\Server), 'ownCloud')\\n#2 \\\/home\\\/inspir74\\\/public_html\\\/ocloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Auth\\\/Plugin.php(118): OC\\\\Connector\\\\Sabre\\\\Auth->authenticate(Object(Sabre\\\\DAV\\\\Server), 'ownCloud')\\n#3 [internal function]: Sabre\\\\DAV\\\\Auth\\\\Plugin->beforeMethod(Object(Sabre\\\\HTTP\\\\Request), Object(Sabre\\\\HTTP\\\\Response))\\n#4 \\\/home\\\/inspir74\\\/public_html\\\/ocloud\\\/3rdparty\\\/sabre\\\/event\\\/lib\\\/EventEmitterTrait.php(105): call_user_func_array(Array, Array)\\n#5 \\\/home\\\/inspir74\\\/public_html\\\/ocloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(456): Sabre\\\\Event\\\\EventEmitter->emit('beforeMethod', Array)\\n#6 \\\/home\\\/inspir74\\\/public_html\\\/ocloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(254): Sabre\\\\DAV\\\\Server->invokeMethod(Object(Sabre\\\\HTTP\\\\Request), Object(Sabre\\\\HTTP\\\\Response))\\n#7 \\\/home\\\/inspir74\\\/public_html\\\/ocloud\\\/apps\\\/calendar\\\/appinfo\\\/remote.php(60): Sabre\\\\DAV\\\\Server->exec()\\n#8 \\\/home\\\/inspir74\\\/public_html\\\/ocloud\\\/remote.php(137): require_once('\\\/home\\\/inspir74\\\/...')\\n#9 {main}\",\"File\":\"\\\/home\\\/inspir74\\\/public_html\\\/ocloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Auth\\\/Backend\\\/AbstractBasic.php\",\"Line\":70}","level":0,"time":"2016-08-09T01:09:30+00:00","method":"REPORT","url":"\/ocloud\/remote.php\/caldav\/principals\/"}
{"reqId":"V6ktS7ia6Q4AAEuhBwYAAAAJ","remoteAddr":"190.218.106.165","app":"caldav","message":"Exception: {\"Message\":\"HTTP\\\/1.1 401 No basic authentication headers were found\",\"Exception\":\"Sabre\\\\DAV\\\\Exception\\\\NotAuthenticated\",\"Code\":0,\"Trace\":\"#0 \\\/home\\\/inspir74\\\/public_html\\\/ocloud\\\/lib\\\/private\\\/connector\\\/sabre\\\/auth.php(157): Sabre\\\\DAV\\\\Auth\\\\Backend\\\\AbstractBasic->authenticate(Object(Sabre\\\\DAV\\\\Server), 'ownCloud')\\n#1 \\\/home\\\/inspir74\\\/public_html\\\/ocloud\\\/lib\\\/private\\\/connector\\\/sabre\\\/auth.php(127): OC\\\\Connector\\\\Sabre\\\\Auth->auth(Object(Sabre\\\\DAV\\\\Server), 'ownCloud')\\n#2 \\\/home\\\/inspir74\\\/public_html\\\/ocloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Auth\\\/Plugin.php(118): OC\\\\Connector\\\\Sabre\\\\Auth->authenticate(Object(Sabre\\\\DAV\\\\Server), 'ownCloud')\\n#3 [internal function]: Sabre\\\\DAV\\\\Auth\\\\Plugin->beforeMethod(Object(Sabre\\\\HTTP\\\\Request), Object(Sabre\\\\HTTP\\\\Response))\\n#4 \\\/home\\\/inspir74\\\/public_html\\\/ocloud\\\/3rdparty\\\/sabre\\\/event\\\/lib\\\/EventEmitterTrait.php(105): call_user_func_array(Array, Array)\\n#5 \\\/home\\\/inspir74\\\/public_html\\\/ocloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(456): Sabre\\\\Event\\\\EventEmitter->emit('beforeMethod', Array)\\n#6 \\\/home\\\/inspir74\\\/public_html\\\/ocloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(254): Sabre\\\\DAV\\\\Server->invokeMethod(Object(Sabre\\\\HTTP\\\\Request), Object(Sabre\\\\HTTP\\\\Response))\\n#7 \\\/home\\\/inspir74\\\/public_html\\\/ocloud\\\/apps\\\/calendar\\\/appinfo\\\/remote.php(60): Sabre\\\\DAV\\\\Server->exec()\\n#8 \\\/home\\\/inspir74\\\/public_html\\\/ocloud\\\/remote.php(137): require_once('\\\/home\\\/inspir74\\\/...')\\n#9 {main}\",\"File\":\"\\\/home\\\/inspir74\\\/public_html\\\/ocloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Auth\\\/Backend\\\/AbstractBasic.php\",\"Line\":70}","level":0,"time":"2016-08-09T01:09:31+00:00","method":"PROPFIND","url":"\/ocloud\/remote.php\/caldav\/calendars\/jonathan\/"}
{"reqId":"V6kxgbia6Q4AAFT3cIsAAAAP","remoteAddr":"190.218.106.165","app":"caldav","message":"Exception: {\"Message\":\"HTTP\\\/1.1 401 No basic authentication headers were found\",\"Exception\":\"Sabre\\\\DAV\\\\Exception\\\\NotAuthenticated\",\"Code\":0,\"Trace\":\"#0 \\\/home\\\/inspir74\\\/public_html\\\/ocloud\\\/lib\\\/private\\\/connector\\\/sabre\\\/auth.php(157): Sabre\\\\DAV\\\\Auth\\\\Backend\\\\AbstractBasic->authenticate(Object(Sabre\\\\DAV\\\\Server), 'ownCloud')\\n#1 \\\/home\\\/inspir74\\\/public_html\\\/ocloud\\\/lib\\\/private\\\/connector\\\/sabre\\\/auth.php(127): OC\\\\Connector\\\\Sabre\\\\Auth->auth(Object(Sabre\\\\DAV\\\\Server), 'ownCloud')\\n#2 \\\/home\\\/inspir74\\\/public_html\\\/ocloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Auth\\\/Plugin.php(118): OC\\\\Connector\\\\Sabre\\\\Auth->authenticate(Object(Sabre\\\\DAV\\\\Server), 'ownCloud')\\n#3 [internal function]: Sabre\\\\DAV\\\\Auth\\\\Plugin->beforeMethod(Object(Sabre\\\\HTTP\\\\Request), Object(Sabre\\\\HTTP\\\\Response))\\n#4 \\\/home\\\/inspir74\\\/public_html\\\/ocloud\\\/3rdparty\\\/sabre\\\/event\\\/lib\\\/EventEmitterTrait.php(105): call_user_func_array(Array, Array)\\n#5 \\\/home\\\/inspir74\\\/public_html\\\/ocloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(456): Sabre\\\\Event\\\\EventEmitter->emit('beforeMethod', Array)\\n#6 \\\/home\\\/inspir74\\\/public_html\\\/ocloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(254): Sabre\\\\DAV\\\\Server->invokeMethod(Object(Sabre\\\\HTTP\\\\Request), Object(Sabre\\\\HTTP\\\\Response))\\n#7 \\\/home\\\/inspir74\\\/public_html\\\/ocloud\\\/apps\\\/calendar\\\/appinfo\\\/remote.php(60): Sabre\\\\DAV\\\\Server->exec()\\n#8 \\\/home\\\/inspir74\\\/public_html\\\/ocloud\\\/remote.php(137): require_once('\\\/home\\\/inspir74\\\/...')\\n#9 {main}\",\"File\":\"\\\/home\\\/inspir74\\\/public_html\\\/ocloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Auth\\\/Backend\\\/AbstractBasic.php\",\"Line\":70}","level":0,"time":"2016-08-09T01:27:29+00:00","method":"PROPFIND","url":"\/ocloud\/remote.php\/caldav\/calendars\/jonathan\/"}
{"reqId":"V6ky4bia6Q4AAGZoe7QAAAAC","remoteAddr":"190.218.106.165","app":"no app in context","message":"Installation is in transit between the old Encryption (ownCloud <= 8.0)\n\t\t\tand the new encryption. Please enable the \"Default encryption module\"\n\t\t\tand run 'occ encryption:migrate'","level":2,"time":"2016-08-09T01:33:22+00:00","method":"GET","url":"\/ocloud\/index.php\/settings\/admin"}

Special configurations (external storage, external authentication, reverse proxy, server-side-encryption):

Hi,

try to dig your way through this longer issue where some workaround for this bug in El Capitan were provided:

Coming from https://central.owncloud.org/t/adjusting-the-server-for-el-capitans-aontacts-app/1533 some additional info. You need to have a correct setup of this URLs:

https://doc.owncloud.org/server/9.1/admin_manual/issues/general_troubleshooting.html#service-discovery

Everything else is in the "hand" of Apple

Thanks RealRancor. I had gone through all those threads in full, but unfortunately on my (shared) server environment, the underlying system is Nginx. Apache is also there, but is running over the top of that. Nginx is blocking and/or diverting all requests to /.well-known/ before it gets to the Apache level. So no matter what I put into the .htaccess file, it has no effect at all on requests to /.well-know/. I am in the process (three days thus far) of having my host (Siteground) do something about it. So far they had no idea what /.well-known/ was, and no idea there are settings in Nginx that automatically handle requests to that address. So, it's a process of education, and insisting they help resolve it. Why the F*&K Apple saw it in their wisdom to screw with the CardDAV client in this way, is a mystery... and a pain in the arse. :slight_smile:

Hi,

maybe they get some ideas if they have a look at the nginx config in the docs:

https://doc.owncloud.org/server/9.1/admin_manual/installation/nginx_owncloud_9x.html

which is doing that redirect.