OwlCyberSecurity - MANAGER
Edit File: README.md
Getting Started =============== This is the core code base for the Calendar and Contacts Server, which is a CalDAV, CardDAV, WebDAV, and HTTP server. For general information about the server, see <https://apple.github.io/ccs-calendarserver>. Copyright and License ===================== Copyright (c) 2005-2017 Apple Inc. All rights reserved. This software is licensed under the Apache License, Version 2.0. The Apache License is a well-established open source license, enabling collaborative open source software development. See the "LICENSE" file for the full text of the license terms. Installation ============ Coming soon? Development Environment Installation ==================================== Begin by creating a directory to contain Calendar and Contacts Server and all its dependencies: mkdir ~/CalendarServer cd CalendarServer Next, check out the source code from the GIT repository. To check out the latest code: git clone https://github.com/apple/ccs-calendarserver.git Note: if you have two-factor authentication activated on GitHub, you'll need to use a personal access token instead of your password. You can generate personal access tokens at <https://github.com/settings/tokens> [Pip](https://pip.pypa.io/en/stable/installing/) is used to retrieve the python dependencies and stage them for use by virtualenv, however if your system does not have pip (and virtualenv), install it by running: > python -m ensurepip If this yields a permission denied error, you are likely using a system-wide installation of Python, so either retry with a user installation of Python or prefix the command with 'sudo'. The server requires various external libraries in order to operate. The bin/develop script in the sources will retrieve these dependencies and install them to the .develop directory. Since we have no practical tooling built up to package this in any other manner at this point, we intentionally do not use the system site libs of python and instead grab everything we can for the virtual environment the server runs inside. cd ccs-calendarserver ./bin/develop ____________________________________________________________ Using system version of libffi. ____________________________________________________________ Using system version of OpenLDAP. ____________________________________________________________ Using system version of SASL. ____________________________________________________________ ... Before you can run the server, you need to set up a configuration file for development. There is a provided test configuration that you can use to start with, conf/caldavd-test.plist, which can be copied to conf/caldavd-dev.plist (the default config file used by the bin/run script). If conf/caldavd-dev.plist is not present when the server starts, you should copy it from conf/caldavd-test.plist. You will need to choose a directory service to use to populate your server's principals (users, groups, resources, and locations). A directory service provides the Calendar and Contacts Server with information about these principals. The directory services supported by Calendar and Contacts Server are: - XMLDirectoryService: this service is configurable via an XML file that contains principal information. The file conf/auth/accounts.xml provides an example principals configuration. - OpenDirectoryService: this service uses Apple's OpenDirectory client, the bulk of the configuration for which is handled external to Calendar and Contacts Server (e.g. System Preferences --\> Users & Groups --\> Login Options --\> Network Account Server). - LdapDirectoryService: a highly flexible LDAP client that can leverage existing LDAP servers. See [twistedcaldav/stdconfig.py](https://github.com/apple/ccs-calendarserver/blob/master/twistedcaldav/stdconfig.py) for the available LdapDirectoryService options and their defaults. The caldavd-test.plist configuration uses XMLDirectoryService by default, set up to use conf/auth/accounts-test.xml. This is a generally useful configuration for development and testing. This file contains a user principal, named admin, with password admin, which is set up (in caldavd-test.plist) to have administrative permissions on the server. Start the server using the bin/run script: bin/run Using /Users/andre/CalendarServer/ccs-calendarserver/.develop/roots/py_modules/bin/python as Python Starting server... The server should then start up and bind to port 8008 for HTTP and 8443 for HTTPS. You should then be able to connect to the server using your web browser (eg. Safari, Firefox) or with a CalDAV client (eg. Calendar). Automated Test Setup ==================== Coming Soon?