Caldav carddav Bundles: Difference between revisions

From Open-Xchange
No edit summary
No edit summary
 
(24 intermediate revisions by 5 users not shown)
Line 1: Line 1:
= Installation and Configuration of the CalDAV- and CardDAV-bundles =
This article is valid until the version 7.10.2 of the Open Xchange Server. For newer versions please visit https://documentation.open-xchange.com/latest/middleware/miscellaneous/caldav_carddav.html
 
<!-- = Installation and Configuration of the CalDAV- and CardDAV-bundles =


The Open-Xchange server can be accessed via it's CalDAV- and CardDAV-interfaces to allow the synchronization of Calendar- and Contact-data with external applications like the Mac OS Calendar and Address Book clients.
The Open-Xchange server can be accessed via it's CalDAV- and CardDAV-interfaces to allow the synchronization of Calendar- and Contact-data with external applications like the Mac OS Calendar and Address Book clients.
Line 16: Line 18:
Please add the following entries before your existing <code>VirtualHost</code> entry. This is an <b>example</b> where <code>MYSERVER.TLD</code> is the domain-name of the ox-server:
Please add the following entries before your existing <code>VirtualHost</code> entry. This is an <b>example</b> where <code>MYSERVER.TLD</code> is the domain-name of the ox-server:


  NameVirtualHost *:80
  # NameVirtualHost directive no longer has any effect since Apache >=2.4
# uncomment only for Apache Versions <2.4
#NameVirtualHost *:80
  <VirtualHost *:80>
  <VirtualHost *:80>
         ServerName dav.<MYSERVER.TLD>
         ServerName dav.<MYSERVER.TLD>
Line 34: Line 38:
       </Proxy>
       </Proxy>
   
   
       <Proxy />
       ProxyPass / balancer://oxserver-sync/servlet/dav/
              Order allow,deny
              Allow from all
              ProxyPass balancer://oxserver-sync/servlet/dav/
      </Proxy>
  </VirtualHost>
  </VirtualHost>


Line 55: Line 56:
   RewriteCond %{HTTP_USER_AGENT}      DataAccess        [OR]
   RewriteCond %{HTTP_USER_AGENT}      DataAccess        [OR]
   RewriteCond %{HTTP_USER_AGENT}      DAVKit            [OR]
   RewriteCond %{HTTP_USER_AGENT}      DAVKit            [OR]
  RewriteCond %{HTTP_USER_AGENT}      DAVx5              [OR]
  RewriteCond %{HTTP_USER_AGENT}      OpenSync          [OR]
  RewriteCond %{HTTP_USER_AGENT}      "DAVdroid"        [OR]
   RewriteCond %{HTTP_USER_AGENT}      Lightning          [OR]
   RewriteCond %{HTTP_USER_AGENT}      Lightning          [OR]
  RewriteCond %{HTTP_USER_AGENT}      Thunderbird        [OR]
   RewriteCond %{HTTP_USER_AGENT}      Adresboek          [OR]
   RewriteCond %{HTTP_USER_AGENT}      Adresboek          [OR]
   RewriteCond %{HTTP_USER_AGENT}      dataaccessd        [OR]
   RewriteCond %{HTTP_USER_AGENT}      dataaccessd        [OR]
Line 64: Line 69:
   RewriteCond %{HTTP_USER_AGENT}      CalendarStore      [OR]
   RewriteCond %{HTTP_USER_AGENT}      CalendarStore      [OR]
   RewriteCond %{HTTP_USER_AGENT}      CalendarAgent      [OR]
   RewriteCond %{HTTP_USER_AGENT}      CalendarAgent      [OR]
  RewriteCond %{HTTP_USER_AGENT}      CalDAV%20Sync%20Adapter [OR]
  RewriteCond %{HTTP_USER_AGENT}      CalDavSynchronizer [OR]
   RewriteCond %{HTTP_USER_AGENT}      accountsd          [OR]
   RewriteCond %{HTTP_USER_AGENT}      accountsd          [OR]
   RewriteCond %{HTTP_USER_AGENT}      eM\ Client         [OR]
   RewriteCond %{HTTP_USER_AGENT}      "eM Client"        [OR]
   RewriteCond %{HTTP_USER_AGENT}      CoreDAV
  RewriteCond %{HTTP_USER_AGENT}      "OX Sync"          [OR]
  RewriteCond %{HTTP_USER_AGENT}      CalDav            [OR]
   RewriteCond %{HTTP_USER_AGENT}      CoreDAV           [OR]
  RewriteCond %{HTTP_USER_AGENT}      remindd
  RewriteCond %{HTTP_USER_AGENT}      "!Open-Xchange Calendar Feed Client"
   RewriteRule (.*)                  http://localhost:8009/servlet/dav$1    [P] # for grizzly http service
   RewriteRule (.*)                  http://localhost:8009/servlet/dav$1    [P] # for grizzly http service


'''Note:''' The address book app on OSX 10.6 uses a localized user-agent string. If you're expecting clients with non-english language settings, you need to add the translated user-agent string to these rewrite rules. For example: "Adressbuch" for german OSX clients.
'''Note:''' The address book app on OSX 10.6 uses a localized user-agent string. If you're expecting clients with non-english language settings, you need to add the translated user-agent string to these rewrite rules. For example: "Adressbuch" for german OSX clients.


'''Note:''' Depending on the specific configuration, such a global definition of the rewrite rules might not be appropriate. However, the rules may also be defined inside a <code>Directory<code/> context. More details are available at http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriterule .
'''Note:''' Depending on the specific configuration, such a global definition of the rewrite rules might not be appropriate. However, the rules may also be defined inside a <code>Directory</code> context. More details are available at http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriterule.


== Autodiscovery ==
== Autodiscovery ==
Line 84: Line 95:
  _carddav._tcp.MYSERVER.TLD.      10800 IN SRV      10 1  80 dav.MYSERVER.TLD.
  _carddav._tcp.MYSERVER.TLD.      10800 IN SRV      10 1  80 dav.MYSERVER.TLD.


Additionally, a rewrite-rule similar to the following example should be added to the webserver configuration of the virtual host to enable the bootstrapping process:
Additionally, a rewrite-rule similar to the following example should be added to the webserver configuration of the virtual host to enable the bootstrapping process. The rewrite target must be the root of your DAV server.
The well-known aliases should be added for your DAV vhost and on the vhost serving the host matching the mail domain:


  RewriteEngine On
  RewriteEngine On
Line 91: Line 103:
  RewriteRule (.*) / [L,R]
  RewriteRule (.*) / [L,R]


{{InstallPlugin|pluginname=open-xchange-dav |sopath=updates}}
In the case of not serving the DAV service on the vhost root additionally some DNS TXT records are recommended:
 
_caldavs._tcp.MYSERVER.TLD.      10800 IN TXT  path=/servlet/dav
_caldav._tcp.MYSERVER.TLD.      10800 IN TXT  path=/servlet/dav
_carddavs._tcp.MYSERVER.TLD.    10800 IN TXT  path=/servlet/dav
_carddav._tcp.MYSERVER.TLD.      10800 IN TXT  path=/servlet/dav
 
 
== Installation on OX App Suite ==
 
=== Debian GNU/Linux 9.0 ===
 
Add the following entry to /etc/apt/sources.list.d/open-xchange.list if not already present:
 
deb https://software.open-xchange.com/products/appsuite/stable/backend/DebianStretch/ /
 
# if you have a valid maintenance subscription, please uncomment the
# following and add the ldb account data to the url so that the most recent
# packages get installed
# deb https://[CUSTOMERID:PASSWORD]@software.open-xchange.com/products/appsuite/stable/backend/updates/DebianStretch/ /
 
and run
 
$ apt-get update
$ apt-get install open-xchange-dav
 
=== Debian GNU/Linux 10.0 ===
 
Add the following entry to /etc/apt/sources.list.d/open-xchange.list if not already present:
 
deb https://software.open-xchange.com/products/appsuite/stable/backend/DebianBuster/ /
 
# if you have a valid maintenance subscription, please uncomment the
# following and add the ldb account data to the url so that the most recent
# packages get installed
# deb https://[CUSTOMERID:PASSWORD]@software.open-xchange.com/products/appsuite/stable/backend/updates/DebianBuster/ /
 
and run
 
$ apt-get update
$ apt-get install open-xchange-dav
 
=== SUSE Linux Enterprise Server 12 (valid until 7.10.3)===
 
Add the package repository using zypper if not already present:
 
$ zypper ar https://software.open-xchange.com/products/appsuite/7.10.3/backend/SLE_12 ox
 
If you have a valid maintenance subscription, please run the following command and add the ldb account data to the url so that the most recent packages get installed:
 
$ zypper ar https://[CUSTOMERID:PASSWORD]@software.open-xchange.com/products/appsuite/7.10.3/backend/updates/SLES11 ox-updates
 
and run
 
$ zypper ref
$ zypper in open-xchange-dav
 
=== RedHat Enterprise Linux 6 (valid until 7.10.3)===
 
Start a console and create a software repository file if not already present:
 
$ vim /etc/yum.repos.d/ox.repo
 
[ox]
name=Open-Xchange
baseurl=https://software.open-xchange.com/products/appsuite/7.10.3/backend/RHEL6/
gpgkey=https://software.open-xchange.com/oxbuildkey.pub
enabled=1
gpgcheck=1
metadata_expire=0m
 
# if you have a valid maintenance subscription, please uncomment the
# following and add the ldb account data to the url so that the most recent
# packages get installed
# [ox-updates]
# name=Open-Xchange Updates
# baseurl=https://[CUSTOMERID:PASSWORD]@software.open-xchange.com/products/appsuite/7.10.3/backend/updates/RHEL6/
# gpgkey=https://software.open-xchange.com/oxbuildkey.pub
# enabled=1
# gpgcheck=1
# metadata_expire=0m
 
and run
 
$ yum update
$ yum install open-xchange-dav
 
===RedHat Enterprise Linux 7 ===
 
Start a console and create a software repository file if not already present:
 
$ vim /etc/yum.repos.d/ox.repo
 
[ox]
name=Open-Xchange
baseurl=https://software.open-xchange.com/products/appsuite/stable/backend/RHEL7/
gpgkey=https://software.open-xchange.com/oxbuildkey.pub
enabled=1
gpgcheck=1
metadata_expire=0m
 
# if you have a valid maintenance subscription, please uncomment the
# following and add the ldb account data to the url so that the most recent
# packages get installed
# [ox-updates]
# name=Open-Xchange Updates
# baseurl=https://[CUSTOMERID:PASSWORD]@software.open-xchange.com/products/appsuite/stable/backend/updates/RHEL7/
# gpgkey=https://software.open-xchange.com/oxbuildkey.pub
# enabled=1
# gpgcheck=1
# metadata_expire=0m
 
and run
 
$ yum update
$ yum install open-xchange-dav
 
===CentOS 6 (valid until 7.10.3)===
 
Start a console and create a software repository file if not already present:
 
$ vim /etc/yum.repos.d/ox.repo
 
[ox]
name=Open-Xchange
baseurl=https://software.open-xchange.com/products/appsuite/7.10.3/backend/RHEL6/
gpgkey=https://software.open-xchange.com/oxbuildkey.pub
enabled=1
gpgcheck=1
metadata_expire=0m
 
# if you have a valid maintenance subscription, please uncomment the
# following and add the ldb account data to the url so that the most recent
# packages get installed
# [ox-updates]
# name=Open-Xchange Updates
# baseurl=https://[CUSTOMERID:PASSWORD]@software.open-xchange.com/products/appsuite/7.10.3/backend/updates/RHEL6/
# gpgkey=https://software.open-xchange.com/oxbuildkey.pub
# enabled=1
# gpgcheck=1
# metadata_expire=0m
 
and run
 
$ yum update
$ yum install open-xchange-dav
 
===CentOS 7===
 
Start a console and create a software repository file if not already present:
 
$ vim /etc/yum.repos.d/ox.repo
 
[ox]
name=Open-Xchange
baseurl=https://software.open-xchange.com/products/appsuite/stable/backend/RHEL7/
gpgkey=https://software.open-xchange.com/oxbuildkey.pub
enabled=1
gpgcheck=1
metadata_expire=0m
 
# if you have a valid maintenance subscription, please uncomment the
# following and add the ldb account data to the url so that the most recent
# packages get installed
# [ox-updates]
# name=Open-Xchange Updates
# baseurl=https://[CUSTOMERID:PASSWORD]@software.open-xchange.com/products/appsuite/stable/backend/updates/RHEL7/
# gpgkey=https://software.open-xchange.com/oxbuildkey.pub
# enabled=1
# gpgcheck=1
# metadata_expire=0m
 
and run
 
$ yum update
$ yum install open-xchange-dav


== CalDAV Configuration ==
== CalDAV Configuration ==
Line 131: Line 318:
Similarly to CalDAV, the property '''com.openexchange.carddav.enabled''' governs whether CardDAV is available for a certain user. This is configured exactly like CalDAV with the config cascade only enabling this for users that have access to the infostore:
Similarly to CalDAV, the property '''com.openexchange.carddav.enabled''' governs whether CardDAV is available for a certain user. This is configured exactly like CalDAV with the config cascade only enabling this for users that have access to the infostore:


/opt/open-xchange/etc/groupware/carddav.properties:
/opt/open-xchange/etc/carddav.properties:
   com.openexchange.carddav.enabled=false
   com.openexchange.carddav.enabled=false


/opt/open-xchange/etc/groupware/contextSets/carddav.yml
/opt/open-xchange/etc/contextSets/carddav.yml
   premium:
   premium:
       com.openexchange.carddav.enabled: true
       com.openexchange.carddav.enabled: true
Line 152: Line 339:


===com.openexchange.carddav.reducedAggregatedCollection===
===com.openexchange.carddav.reducedAggregatedCollection===
Specifies if all visible folders are used to create the aggregated collection, or if a reduced set of folders only containing the global addressbook and the personal contacts folders should be used. This setting only influences the aggregated collection that is used for clients that don't support multiple collections. Possible values are 'true' and 'false.
Specifies if all visible folders are used to create the aggregated collection, or if a reduced set of folders only containing the global addressbook and the personal contacts folders should be used. This setting only influences the aggregated collection that is used for clients that don't support multiple collections. Possible values are 'true' and 'false. -->


[[Category: Clients]]
[[Category: Clients]]
[[Category: Administrator]]
[[Category: Administrator]]
[[Category: AppSuite]]
[[Category: AppSuite]]

Latest revision as of 10:50, 8 December 2021

This article is valid until the version 7.10.2 of the Open Xchange Server. For newer versions please visit https://documentation.open-xchange.com/latest/middleware/miscellaneous/caldav_carddav.html