ProPeler
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
opt
/
cpanel-ccs
/
conf
/
Filename :
caldavd.tmpl
back
Copy
<?xml version="1.0" encoding="UTF-8"?> <!-- Copyright (c) 2006-2017 Apple Inc. All rights reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <!-- Public network address information This is the server's public network address, which is provided to clients in URLs and the like. It may or may not be the network address that the server is listening to directly, though it is by default. For example, it may be the address of a load balancer or proxy which forwards connections to the server. --> <!-- Network host name [empty = system host name] --> <key>ServerHostName</key> <string></string> <!-- The hostname clients use when connecting --> <!-- Enable Calendars --> <key>EnableCalDAV</key> <true/> <!-- Enable AddressBooks --> <key>EnableCardDAV</key> <true/> <!-- Socket Files --> <key>SocketFiles</key> <dict> <key>Enabled</key> <false/> </dict> <key>SocketRoot</key> <string>/tmp/caldavd_requests</string> <!-- HTTP port [0 = disable HTTP] --> <key>HTTPPort</key> <integer>[% HTTP_PORT %]</integer> <!-- SSL port [0 = disable HTTPS] --> <!-- (Must also configure SSLCertificate and SSLPrivateKey below) --> <key>SSLPort</key> <integer>[% HTTPS_PORT %]</integer> <!-- Enable listening on SSL port(s) --> <key>EnableSSL</key> <true/> <!-- Redirect non-SSL ports to an SSL port (if configured for SSL) --> <key>RedirectHTTPToHTTPS</key> <[% REDIRECTHTTPTOHTTPS %]/> <!-- Network address configuration information This configures the actual network address that the server binds to. --> <!-- List of IP addresses to bind to [empty = all] --> <key>BindAddresses</key> <array> </array> <!-- List of port numbers to bind to for HTTP [empty = same as "Port"] --> <key>BindHTTPPorts</key> <array> <integer>[% HTTP_PORT %]</integer> </array> <!-- List of port numbers to bind to for SSL [empty = same as "SSLPort"] --> <key>BindSSLPorts</key> <array> <integer>[% HTTPS_PORT %]</integer> </array> <!-- Data Store --> <!-- Server root --> <key>ServerRoot</key> <string>./data</string> <!-- Database connection --> <!-- <key>DBType</key> <string>postgres</string> <key>DatabaseConnection</key> <dict> <key>endpoint</key> <string>tcp:localhost</string> <key>database</key> <string>caldav</string> <key>user</key> <string>caldav</string> <key>password</key> <string></string> </dict> --> <!-- Data root --> <key>DataRoot</key> <string>Data</string> <!-- Database root --> <key>DatabaseRoot</key> <string>Database</string> <key>DBFeatures</key> <array> [% IF PGVERSION > '9.4' %] <string>skip-locked</string> [% END %] </array> <!-- Document root --> <key>DocumentRoot</key> <string>Documents</string> <!-- Configuration root --> <key>ConfigRoot</key> <string>./conf</string> <!-- Run root --> <key>RunRoot</key> <string>Logs/state</string> <!-- Child aliases --> <key>Aliases</key> <array> <!-- <dict> <key>url</key> <string>/foo</string> <key>path</key> <string>/path/to/foo</string> </dict> --> </array> <!-- Don't exit if the DB needs an upgrade. --> <key>FailIfUpgradeNeeded</key> <false/> <!-- Quotas and limits --> <!-- User quota (in bytes) [0 = no quota] applies to attachments only --> <key>UserQuota</key> <integer>[% USERQUOTA %]</integer> <!-- 100Mb --> <!-- Maximum size for a single attachment (in bytes) [0 = no limit] --> <key>MaximumAttachmentSize</key> <integer>[% MAXIMUMATTACHMENTSIZE %]</integer> <!-- 10Mb --> <!-- Maximum number of calendars/address books allowed in a home --> <!-- 0 for no limit --> <key>MaxCollectionsPerHome</key> <integer>[% MAXCOLLECTIONSPERHOME %]</integer> <!-- Maximum number of resources in a calendar/address book --> <!-- 0 for no limit --> <key>MaxResourcesPerCollection</key> <integer>[% MAXRESOURCESPERCOLLECTION %]</integer> <!-- Maximum resource size (in bytes) --> <key>MaxResourceSize</key> <integer>[% MAXRESOURCESIZE %]</integer> <!-- 1Mb --> <!-- Maximum number of unique attendees per entire event --> <!-- 0 for no limit --> <key>MaxAttendeesPerInstance</key> <integer>[% MAXATTENDEESPERINSTANCE %]</integer> <!-- Maximum number of instances allowed during expansion --> <!-- 0 for no limit --> <key>MaxAllowedInstances</key> <integer>[% MAXALLOWEDINSTANCES %]</integer> <key>DirectoryProxy</key> <dict> <key>Enabled</key> <true/> <key>InSidecarCachingSeconds</key> <integer>30</integer> </dict> <key>DirectoryCaching</key> <dict> <key>CachingSeconds</key> <integer>10</integer> <key>NegativeCachingEnabled</key> <true/> <key>LookupsBetweenPurges</key> <integer>100</integer> </dict> <!-- Directory service A directory service provides information about principals (eg. users, groups, locations and resources) to the server. A variety of directory services are available for use. --> <!-- The realm to use for Digest Auth --> <key>DirectoryRealmName</key> <string>cPanel Calendar and Contacts Server</string> <!-- cPanel Directory Service --> <key>DirectoryService</key> <dict> <key>type</key> <string>cpanel</string> <key>params</key> <dict> <key>xmlFile</key> <string>./conf/auth/cpanel-accounts.xml</string> </dict> </dict> <!-- Resource and Location Service --> <key>ResourceService</key> <dict> <key>Enabled</key> <true/> <key>type</key> <string>xml</string> <key>params</key> <dict> <key>xmlFile</key> <string>./conf/auth/resources.xml</string> </dict> </dict> <!-- XML File Augment Service --> <key>AugmentService</key> <dict> <key>type</key> <string>xml</string> <key>params</key> <dict> <key>xmlFiles</key> <array> <string>./conf/auth/augments.xml</string> </array> </dict> </dict> <key>ProxyLoadFromFile</key> <string>./conf/auth/proxies.xml</string> <!-- Special principals These principals are granted special access and/or perform special roles on the server. --> <!-- Principals with "DAV:all" access (relative URLs) --> <key>AdminPrincipals</key> <array> <string>/principals/__uids__/[% ADMIN_UUID %]/</string> </array> <!-- Principals with "DAV:read" access (relative URLs) --> <key>ReadPrincipals</key> <array> <!-- <string>/principals/__uids__/983C8238-FB6B-4D92-9242-89C0A39E5F81/</string> --> </array> <!-- Create "proxy access" principals --> <key>EnableProxyPrincipals</key> <true/> <!-- Permissions --> <!-- Anonymous read access for root resource --> <key>EnableAnonymousReadRoot</key> <false/> <!-- Anonymous read access for resource hierarchy --> <key>EnableAnonymousReadNav</key> <false/> <!-- Enables directory listings for principals --> <key>EnablePrincipalListings</key> <false/> <!-- Render calendar collections as a monolithic iCalendar object --> <key>EnableMonolithicCalendars</key> <true/> <!-- Authentication --> <key>Authentication</key> <dict> <!-- Clear text; Used for passing the rock to cPSrvd --> <key>Basic</key> <dict> <key>Enabled</key> <true/> <key>AllowedOverWireUnencrypted</key> <true/> </dict> <!-- Disable digest auth. --> <key>Digest</key> <dict> <key>Enabled</key> <false/> <key>AllowedOverWireUnencrypted</key> <false/> </dict> </dict> <!-- Logging --> <!-- Log root --> <key>LogRoot</key> <string>Logs</string> <!-- Apache-style access log --> <key>AccessLogFile</key> <string>access.log</string> <key>RotateAccessLog</key> <false/> <!-- Server activity log --> <key>ErrorLogFile</key> <string>error.log</string> <!-- Log levels --> <key>DefaultLogLevel</key> <string>[% LOG_LEVEL %]</string> <!-- debug, info, warn, error --> <!-- Log level overrides for specific functionality --> <key>LogLevels</key> <dict> <!-- <key>twistedcaldav.directory.appleopendirectory.OpenDirectoryService</key> <string>debug</string> --> </dict> <!-- Server process ID file --> <key>PIDFile</key> <string>caldavd.pid</string> <!-- Accounting --> <!-- Enable accounting for certain operations --> <key>AccountingCategories</key> <dict> <key>HTTP</key> <false/> <key>iTIP</key> <false/> <key>iTIP-VFREEBUSY</key> <false/> <key>Implicit Errors</key> <false/> <key>AutoScheduling</key> <false/> <key>iSchedule</key> <false/> <key>xPod</key> <false/> </dict> <!-- Enable accounting for specific principal GUIDs or use "*" for all --> <key>AccountingPrincipals</key> <array> <!-- <string>454D85C0-09F0-4DC6-A3C6-97DFEB4622CD</string> --> </array> <!-- SSL/TLS --> <!-- Whether or not to enable SNI for CCS. If yes, configure DefaultSSLBundle & SSLDir. If not, configure the rest of the keys here --> <key>SNIMode</key> <[% ENABLE_SNI %]/> <!-- "Default" combined key/cert/CAcert file to use when SNI is active --> <key>DefaultSSLBundle</key> <string>[% DEFAULT_SSL_BUNDLE %]</string> <!-- Combined key/cert/CAcert SSL bundle directory when SNI is active (indexed by host) --> <key>SSLDir</key> <string>/opt/cpanel-ccs/conf/domain-TLS/</string> <!-- Public key --> <key>SSLCertificate</key> <string>[% DEFAULT_SSL_BUNDLE %]</string> <!-- SSL authority chain (for intermediate certs) --> <key>SSLAuthorityChain</key> <string>[% DEFAULT_SSL_BUNDLE %]</string> <!-- Private key --> <key>SSLPrivateKey</key> <string>[% DEFAULT_SSL_BUNDLE %]</string> <!-- Keychain identity to use instead of cert files --> <!-- Let this be determined by the SSL cert <key>SSLKeychainIdentity</key> <string>org.calendarserver.test</string> --> <!-- Process management --> <key>UserName</key> <string></string> <key>GroupName</key> <string></string> <key>ProcessType</key> <string>Combined</string> <key>MultiProcess</key> <dict> <key>ProcessCount</key> <integer>0</integer> <!-- 0 = automatic --> </dict> <!-- Notifications --> <key>Notifications</key> <dict> <!-- Time spent coalescing notifications before delivery --> <key>CoalesceSeconds</key> <integer>3</integer> <key>Services</key> <dict> <key>AMP</key> <dict> <key>Enabled</key> <false/> </dict> <key>APNS</key> <dict> [% IF CALDAV_APNS_INSTALLED %] <key>CalDAV</key> <dict> <key>Enabled</key> <true/> <!-- Set AuthorityChainPath to empty string to override default. Empty value should cause the system trusted certs to be used which should be fine as Apple's APNs services are signed by Entrust. --> <key>AuthorityChainPath</key> <string/> <key>CertificatePath</key> <string>/var/cpanel/ssl/caldav_apns/cert.pem</string> <key>PrivateKeyPath</key> <string>/var/cpanel/ssl/caldav_apns/key.pem</string> <!--<key>Topic</key> <string>calendar-topic</string>--> <!--<key>Passphrase</key> <string></string>--> </dict> [% END %] [% IF CARDDAV_APNS_INSTALLED %] <key>CardDAV</key> <dict> <key>Enabled</key> <true/> <!-- Set AuthorityChainPath to empty string to override default. Empty value should cause the system trusted certs to be used which should be fine as Apple's APNs services are signed by Entrust. --> <key>AuthorityChainPath</key> <string/> <key>CertificatePath</key> <string>/var/cpanel/ssl/carddav_apns/cert.pem</string> <key>PrivateKeyPath</key> <string>/var/cpanel/ssl/carddav_apns/key.pem</string> <!--<key>Topic</key> <string>contact-topic</string>--> <!--<key>Passphrase</key> <string></string>--> </dict> [% END %] <key>Enabled</key> [% APNS_ENABLED ? "<true/>" : "<false/>" %] </dict> </dict> </dict> <!-- Server-to-server protocol --> <key>Scheduling</key> <dict> <!-- CalDAV protocol options --> <key>CalDAV</key> <dict> <key>EmailDomain</key> <string></string> <key>HTTPDomain</key> <string></string> <key>AddressPatterns</key> <array> </array> <key>OldDraftCompatibility</key> <true/> <key>ScheduleTagCompatibility</key> <true/> <key>EnablePrivateComments</key> <true/> <key>OrganizerPublicProperties</key> <array> <string>X-APPLE-DROPBOX</string> <string>X-APPLE-STRUCTURED-LOCATION</string> <string>X-TEST-ORGANIZER-PROP1</string> <string>X-TEST-ORGANIZER-PROP2</string> <string>X-TEST-ORGANIZER-PROP3</string> <string>X-TEST-ORGANIZER-PROP4</string> <string>X-TEST-ORGANIZER-PROP5</string> </array> <key>OrganizerPublicParameters</key> <array> <string>X-TEST-ORGANIZER-PARAM1</string> <string>X-TEST-ORGANIZER-PARAM2</string> <string>X-TEST-ORGANIZER-PARAM3</string> <string>X-TEST-ORGANIZER-PARAM4</string> <string>X-TEST-ORGANIZER-PARAM5</string> </array> <key>AttendeePublicProperties</key> <array> <string>X-TEST-ALL-PROP1</string> <string>X-TEST-ALL-PROP2</string> <string>X-TEST-ALL-PROP3</string> <string>X-TEST-ALL-PROP4</string> <string>X-TEST-ALL-PROP5</string> </array> <key>AttendeePublicParameters</key> <array> <string>X-TEST-ALL-PARAM1</string> <string>X-TEST-ALL-PARAM2</string> <string>X-TEST-ALL-PARAM3</string> <string>X-TEST-ALL-PARAM4</string> <string>X-TEST-ALL-PARAM5</string> </array> </dict> <!-- iSchedule protocol options --> <key>iSchedule</key> <dict> <key>Enabled</key> <false/> <key>AddressPatterns</key> <array> </array> <key>RemoteServers</key> <string>remoteservers.xml</string> </dict> <!-- iMIP protocol options --> <key>iMIP</key> <dict> <key>Enabled</key> <true/> <key>Sending</key> <dict> <key>Server</key> <string>[% MAIL_HOST %]</string> <key>Port</key> <integer>[% SMTP_PORT %]</integer> <key>UseSSL</key> <true/> <key>Username</key> <string>[% MAIL_USER %]</string> <key>Password</key> <string>[% MAIL_PASS %]</string> <key>Address</key> <string>[% MAIL_ADDR %]</string> <!-- Address email will be sent from --> <key>SupressionDays</key> <integer>7</integer> <!-- Don't send messages for events earlier than this many days in the past --> </dict> <key>Receiving</key> <dict> <key>Server</key> <string>[% MAIL_HOST %]</string> <key>Port</key> <integer>[% IMAP_PORT %]</integer> <key>Type</key> <string>imap</string> <!-- Either "pop" or "imap" --> <key>UseSSL</key> <true/> <key>Username</key> <string>[% MAIL_USER %]</string> <key>Password</key> <string>[% MAIL_PASS %]</string> <key>PollingSeconds</key> <integer>30</integer> </dict> <key>AddressPatterns</key> <array> <string>mailto:.*</string> </array> </dict> <!-- General options for scheduling --> <key>Options</key> <dict> <key>WorkQueues</key> <dict> <key>Enabled</key> <true/> <!-- Make these short for testing --> <key>RequestDelaySeconds</key> <real>0.1</real> <key>ReplyDelaySeconds</key> <real>0.5</real> <key>AutoReplyDelaySeconds</key> <real>1.0</real> <key>AttendeeRefreshBatchDelaySeconds</key> <real>0.1</real> <key>AttendeeRefreshBatchIntervalSeconds</key> <real>0.1</real> </dict> </dict> </dict> <key>WorkQueue</key> <dict> <!-- Make these short for testing --> <key>failureRescheduleInterval</key> <integer>1</integer> <key>lockRescheduleInterval</key> <integer>1</integer> </dict> <!-- Free-busy URL protocol --> <key>FreeBusyURL</key> <dict> <key>Enabled</key> <true/> <key>TimePeriod</key> <integer>14</integer> <key>AnonymousAccess</key> <false/> </dict> <!-- Non-standard CalDAV extensions --> <!-- Calendar Drop Box --> <key>EnableDropBox</key> <false/> <!-- Calendar Managed Attachments --> <key>EnableManagedAttachments</key> <true/> <!-- Private Events --> <key>EnablePrivateEvents</key> <true/> <!-- Private Comment fix off for testing --> <key>RemoveDuplicatePrivateComments</key> <true/> <!-- Timezone Service --> <key>EnableTimezoneService</key> <true/> <!-- Standard Timezone Service --> <key>TimezoneService</key> <dict> <key>Enabled</key> <true/> <key>Mode</key> <string>primary</string> <key>BasePath</key> <string></string> <key>XMLInfoPath</key> <string></string> <key>SecondaryService</key> <dict> <key>Host</key> <string></string> <key>URI</key> <string></string> <key>UpdateIntervalMinutes</key> <integer>1440</integer> </dict> </dict> <key>UsePackageTimezones</key> <true/> <!-- Batch Upload via POST --> <key>EnableBatchUpload</key> <true/> <!-- Shared Calendars & Address Books --> <key>Sharing</key> <dict> <key>Enabled</key> <true/> <key>AllowExternalUsers</key> <false/> <key>Calendars</key> <dict> <key>Enabled</key> <true/> <key>Groups</key> <dict> <key>Enabled</key> <true/> <!-- Make these short for testing --> <key>ReconciliationDelaySeconds</key> <real>0.1</real> </dict> </dict> <key>AddressBooks</key> <dict> <key>Enabled</key> <true/> <key>Groups</key> <dict> <key>Enabled</key> <true/> </dict> </dict> </dict> <!-- Miscellaneous items --> <!-- Service ACLs (Mac OS X) --> <key>EnableSACLs</key> <false/> <!-- Make entire server read-only --> <key>EnableReadOnlyServer</key> <false/> <!-- Web-based administration --> <key>EnableWebAdmin</key> <true/> <!-- JSON Control API - only for testing --> <key>EnableControlAPI</key> <false/> <!-- Support for Content-Encoding compression --> <key>ResponseCompression</key> <true/> <!-- Off for testing, as debugging is easier that way. --> <!-- The retry-after value (in seconds) to return with a 503 error. --> <key>HTTPRetryAfter</key> <integer>180</integer> <!-- For child-master IPC. [empty = use tcp] --> <key>ControlSocket</key> <string>caldavd.sock</string> <!-- Support for Memcached --> <key>Memcached</key> <dict> <key>MaxClients</key> <integer>5</integer> <key>memcached</key> <string>memcached</string> <!-- Find in PATH --> <key>Options</key> <array> <!--<string>-vv</string>--> <!-- Be very verbose --> </array> </dict> <!-- Response Caching --> <key>EnableResponseCache</key> <true/> <key>ResponseCacheTimeout</key> <integer>30</integer> <!-- in minutes --> <!-- Support for Postgres --> <key>Postgres</key> <dict> <key>Options</key> <array> <string>-c deadlock_timeout=[% PGLOCKTIMEOUT %]s</string> <string>-c max_connections=[% PGMAXCONNECTIONS %]</string> <!-- NOTE: On older PGs (like 9.2) shared_buffers is limited by kernel SHMMAX --> <string>-c shared_buffers=[%PGSHAREDBUF %]</string> <!-- Optional extra logging for posgres --> <!-- <string>-c log_lock_waits=TRUE</string> --> <!-- <string>-c log_statement=all</string> --> <!-- <string>-c log_line_prefix='%t [%p]: [%l] '</string> --> </array> </dict> <!-- SQL Query Caching --> <key>QueryCaching</key> <dict> <key>Enabled</key> <true/> <key>MemcachedPool</key> <string>Default</string> <key>ExpireSeconds</key> <integer>3600</integer> </dict> <!-- Group Membership Caching --> <key>GroupCaching</key> <dict> <key>Enabled</key> <true/> <key>UpdateSeconds</key> <integer>300</integer> <key>UseDirectoryBasedDelegates</key> <false/> </dict> <key>GroupAttendees</key> <dict> <key>Enabled</key> <true/> <key>ReconciliationDelaySeconds</key> <integer>5</integer> </dict> <!-- Maximum number of results returned by principal-property-search REPORT --> <key>MaxPrincipalSearchReportResults</key> <integer>500</integer> <!-- Twisted --> <key>Twisted</key> <dict> <key>twistd</key> <string>../Twisted/bin/twistd</string> </dict> <key>Localization</key> <dict> <key>TranslationsDirectory</key> <string>locales</string> <key>LocalesDirectory</key> <string>locales</string> <key>Language</key> <string>en</string> </dict> <!-- Directory Address Book --> <key>EnableSearchAddressBook</key> <true/> <!-- Trash --> <key>EnableTrashCollection</key> <true/> </dict> </plist>