Руководство для провайдеров CalDAV

Обзор

Раздел содержит сведения о настройке CalDAV для подключения SuiteCRM к календарным серверам, совместимым с CalDAV. Используйте это описание в качестве основного справочника по настройке CalDAV и устранению неполадок, специфичных для конкретного поставщика.

Общие инструкции по настройке учётной записи календаря описаны в Руководстве пользователя.

Что такое CalDAV

CalDAV (Calendar Distributed Authoring and Versioning) — это открытый стандартный протокол, обеспечивающий доступ к календарям и их синхронизацию через сеть. Он основан на WebDAV и HTTP, что делает его широко поддерживаемым и совместимым решением для управления календарями.

Структура URL-адресов CalDAV

URL-адреса CalDAV имеют определенную структуру, указывающую непосредственно на ресурс календаря на сервере. Понимание структуры URL-адресов поможет в создании корректных URL-адресов и устранении проблем с подключением.

Структура URL

Типичный URL для подключения к CalDAV содержит следующие компоненты:

https://server.example.com/dav-path/username/calendar-name/

где:
  • Протокол: Всегда https:// (http:// не рекомендуется, в крайнем случае может быть использован для локального тестирования)

  • Сервер: Имя хоста или IP-адрес сервера CalDAV

  • DAV Path: Путь к конечной точке службы CalDAV (зависит от реализации)

  • Username: Имя пользователя учётной записи CalDAV

  • Calendar Name: Идентификатор календаря

  • Конечный прямой слеш: Требуется в большинстве реализаций CalDAV

Наличие конечного слеша

Большинство серверов CalDAV требуют, чтобы URL заканчивался слешем (/). Без него можно столкнуться с ошибками типа Календарь не найден или Неверный URL.

Правильно:

https://caldav.example.com/dav/calendars/john/personal/

Неправильно:

https://caldav.example.com/dav/calendars/john/personal

Всегда добавляйте слеш в конце адреса, если в документации конкретного поставщика CalDAV явно не указано иное.

Номера портов

Некоторые серверы CalDAV работают на нестандартных портах. При необходимости указывайте номер порта в URL:

http://localhost:5232/username/calendar/

Для указания правильного порта ознакомьтесь с документацией конкретного сервера CalDAV.

Распространенный шаблон URL

Адреса популярных поставщиков CalDAV могут выглядеть следующим образом:

https://caldav.example.com/dav/calendars/user/EMAIL/CALENDAR_ID/

где EMAIL — это полный адрес электронной почты (например, user@example.com)

Замените остальные части адреса своими фактическими значениями.

Этот шаблон является отправной точкой. Всегда уточняйте формат URL в документации или у администратора провайдера CalDAV.

Как узнать свой URL CalDAV

Инструкции по поиску URL CalDAV могут различаться в зависимости от поставщика сервиса.

Пример

Ниже представлен вариант получения URL CalDAV на примере Яндекс Календаря:

  1. Откройте Яндекс Календарь под своей учётной записью

  2. В левой панели наведите курсор на название нужного календаря и откройте его настройки (значок шестерёнки)

  3. Перейдите на вкладку Экспорт и скопируйте адрес из поля CalDAV

    Пример:

    https://caldav.yandex.ru/calendars/likh0b0ry%40yandex.ru/events-12345678/

    Учётные данные:
    • Имя пользователя: Ваш полный адрес электронной почты (например, john@example.com)

    • Пароль: Пароль поставщика услуг или пароль приложения (рекомендуется последнее)

Учётная запись CalDAV

Другие поставщики CalDAV

Если структура URL поставщика CalDAV не соответствует указанному выше примеру, выполните следующие шаги:

  1. Проверьте документацию поставщика: Большинство серверов CalDAV описывают структуру своего URL-адреса в руководствах по настройке.

  2. Обратитесь к администратору: Если используется корпоративный сервер CalDAV, обратитесь в свой ИТ-отдел за правильным URL-адресом.

  3. Используйте клиент CalDAV: Настройте клиент CalDAV (Thunderbird Lightning, macOS Calendar и т. д.) и проверьте параметры подключения.

  4. Попробуйте автоматическое обнаружение CalDAV: Некоторые серверы поддерживают автоматическое обнаружение URL через добавления .well-known/caldav к адресу сервера; попробуйте использовать https://your-server/.well-known/caldav

Устранение неполадок

Сбои проверки подключения

«Календарь не найден» или «Неверный URL»
Причины:
  • Неправильная структура URL

  • Отсутствует завершающий слеш

  • Неправильное название или идентификатор календаря

  • Календарь был удалён или переименован

Решение:
  • Убедитесь, что URL заканчивается косой чертой: https://server/path/calendar/

  • Убедитесь, что имя календаря точно совпадает (в некоторых реализациях регистр имеет значение)

  • Войдите в веб-интерфейс CalDAV и подтвердите существование календаря

  • Скопируйте URL со страницы настроек поставщика CalDAV

«Сбой аутентификации» или «Неверные учётные данные»
Причины:
  • Неверное имя пользователя или пароль

  • Несоответствие формата имени пользователя

  • Пароль содержит специальные символы, которые не закодированы должным образом

  • Учётная запись заблокирована или отключена на сервере CalDAV

  • Двухфакторная аутентификация включена без пароля приложения

Решение:
  • Проверьте формат имени пользователя (некоторые провайдеры требуют полный адрес электронной почты)

  • Для тестового провайдера создайте пароль приложения в настройках безопасности

  • Проверьте, активна ли учётная запись CalDAV и не заблокирована ли она

  • Временно отключите двухфакторную аутентификацию для тестирования, затем используйте пароли приложения

«Проблема с SSL-сертификатом» или «Проверка сертификата не удалась»
Причины:
  • Самоподписанный сертификат на сервере CalDAV

  • Истёк срок действия SSL-сертификата

  • В сертификате неверно указано имя хоста

  • Отсутствуют промежуточные сертификаты

Решение:
  • Для самоподписанных сертификатов добавьте сертификат в список доверенных сертификатов на сервере с установленным SuiteCRM

  • Убедитесь, что SSL-сертификат сервера CalDAV действителен и не просрочен

  • Убедитесь, что имя хоста, указанное в сертификате, соответствует используемому вами URL-адресу

  • Только для тестирования: отключите проверку SSL в SuiteCRM (не рекомендуется для рабочей среды)

«Тайм-аут соединения» или «Не удалось подключиться»
Причины:
  • Сервер CalDAV недоступен с сервера SuiteCRM

  • Брандмауэр блокирует исходящие соединения

  • Неверный номер порта

  • Сервер недоступен или отключён

Решение:
  • Проверьте подключение с сервера SuiteCRM командой
    curl -X PROPFIND -u "USERNAME:PASSWORD" https://your-caldav-server/

  • Убедитесь, что сервер CalDAV запущен и доступен

  • Проверьте, разрешают ли правила брандмауэра исходящие HTTPS-соединения

  • Убедитесь, что номер порта указан правильно (5232, 443 и т. д.)

  • Если используется локальная сеть, убедитесь, что сервер SuiteCRM может получить доступ к внутреннему имени хоста/IP-адресу

Проблемы, специфичные для провайдера

«Требуется аутентификация», несмотря на правильные учётные данные
Причина:
  • Провайдер требует, чтобы имя пользователя было полным адресом электронной почты.

Решение:
  • Используйте полный адрес электронной почты в качестве имени пользователя: john@example.com (а не просто john)

  • Убедитесь, что адрес электронной почты указан правильно в настройках учётной записи календаря

«Список календарей пуст»
Причина:
  • В учётной записи поставщика услуг отсутствуют календари, или проблема с правами доступа.

Решение:
  • Войдите в веб-интерфейс поставщика услуг и создайте календарь

  • Убедитесь, что календарь не скрыт и не заархивирован

Общие советы по отладке

Включите ведение журнала SuiteCRM

  1. В панели администратора откройте раздел Настройки конфигурации

  2. В подразделе Параметры журнала установите Уровень детализации на Info или Debug

  3. Воспроизведите проблему с подключением

  4. Просмотрите файл suitecrm.log на наличие записей с префиксами [CalendarSync] или [CalDAV]

Проверьте доступ к CalDAV

Используйте curl с сервера SuiteCRM для проверки подключения к CalDAV:

# Проверьте подключение к CalDAV методом PROPFIND (замените USERNAME и PASSWORD на реальные значения)
curl -X PROPFIND -u "USERNAME:PASSWORD" https://your-caldav-server/path/to/calendar/

# и с заголовком "Depth: 1" для отображения содержимого календаря
curl -X PROPFIND -u "USERNAME:PASSWORD" -H "Depth: 1" https://your-caldav-server/path/to/calendar/

# Для серверов с самоподписанными сертификатами добавьте флаг -k
curl -k -X PROPFIND -u "USERNAME:PASSWORD" https://your-caldav-server/path/to/calendar/

Возможные ответы:

  • 207 Multi-Status - Успех, CalDAV работает

  • 401 Unauthorized - Неверные учётные данные

  • 404 Not Found - Неверный путь URL

Проверьте URL на десктопном клиенте

Настройте тот же URL CalDAV на десктопном календарном клиенте (Thunderbird, macOS Calendar, GNOME Evolution):

  1. Если десктопный клиент подключается успешно, URL-адрес правильный.

  2. Если десктопный клиент не подключается, проблема связана с сервером CalDAV или URL-адресом.

  3. Сравните формат URL-адреса, используемый десктопным клиентом, с настройкой, указанной в SuiteCRM.

Рекомендации по безопасности

Используйте пароли приложений

Если это возможно, всегда используйте пароли приложений, а не пароль учётной записи.

Пароли приложений обеспечивают:

  • Ограниченную область действия (доступ только к календарю)

  • Простое аннулирование пароля без изменения пароля основной учётной записи

  • Улучшенный аудит безопасности

Используйте HTTPS

Всегда используйте HTTPS для подключений CalDAV для передачи учётных данных и данных календаря в зашифрованном виде:

  • В рабочей среде: HTTPS обязателен для защиты токенов и учётных данных

  • При разработке/тестировании: Используйте HTTP только в локальной сети

  • При размещении календаря на своём сервере: Используйте Let’s Encrypt для создания бесплатных SSL-сертификатов

Ограничьте права доступа пользователей CalDAV

Предоставляйте учётным записям CalDAV только необходимые права:

  • Только доступ на чтение/запись к календарям

  • Ограничьте доступ к панели администратора и к файлам

  • По возможности ограничите перечень используемых календарей

Проверяйте учётные записи календаря

Регулярно проверяйте учётные записи календаря в SuiteCRM:

  • Проверяйте Дату последней синхронизации на наличие необычной активности

  • Периодически проверяйте статус синхронизации учётной записи календаря, а именно параметр Тест успешно пройден

  • Проводите аудит учётных записей календаря и удаляйте неиспользуемые записи

Дальнейшие шаги

При необходимости ознакомьтесь с другими разделами документации:

Если вы сталкиваетесь с проблемами при использовании CalDAV, не описанными в этом руководстве, обратитесь к документации поставщика CalDAV или свяжитесь со службой поддержки поставщика CalDAV для получения необходимой помощи.

Content is available under GNU Free Documentation License 1.3 or later unless otherwise noted.