Задача: создать собственный сервер синхронизации контактов и календарей для телефонов(Android) и почтовых клиентов(Thunderbird). На компе редактирование карточек контактов осуществлять с помощью почтового клиента.
Решение: На сервере FreeBSD с настроенным хостингом добавляем порт Baikal. На компе почтовый клиент Thunderbird с дополнениями. На телефоне CardDav отвечает за синхронизацию контактов и календарей с сервера на телефон и обратно. Выборка происходит по наименованию Группы контактов.
1. Установить Baikal.
cd /usr/ports/www/baikal make install clean
2. После установки на сервере появляется каталог для сайта синхронизации, пропишем права пользователя www на него. От имени этого пользователя на сервере Апач трудится.
chown -R www:www /usr/local/www/baikal mv /usr/local/www/baikal /usr/local/www/apache24/data/.
3. Настройка Апач для веб сервера Байкал. Для Апача добавляем в конфигурационный файл запись о новом сайте. ServerName ставим свой:
vi /usr/local/etc/apache24/extra/httpd-vhost.conf
<VirtualHost *:80> DocumentRoot /usr/local/www/baikal/html ServerName xxx.xxxxxxxxx.xxx <Directory "/usr/local/www/baikal/html"> Require all granted </Directory> </VirtualHost>
4. Перезагружаем Апач
apachectl restart
5. Сайт Байкала должен заработать:
6. Придумываем пароль админа. Настраиваем БД и пр., добавляем первого пользователя адресной книги, от имени него в дальнейшем будем логиниться для синхронизации из почтового клиента и с телефонов.
7. Настраиваем почтовый клиент ThunderBird, добавляя в него следующие дополнения:
- CardBook — это дополнение служит для управления контактами в соответствии со стандартом vCard).
- TbSync— это пользовательский интерфейс для управления облачными учетными записями и синхронизации данных контактов, задач и календаря с Thunderbird.
-
Provider for CalDAV & CardDAV — добавляет в TbSync поддержку базирующегося на http/https протокола синхронизации для учетных записей CalDAV & CardDAV (контакты, задачи и календари).
Запускаем TbSync и добавляем подключение к нашему серверу:
Адреса для подключения к серверу Baikal:
календарь:
http://[IP-адрес или имя хоста]/cal.php/calendars/[имя пользователя]/default/
адресная книга:
http://[IP-адрес или имя хоста]/card.php/addressbooks/[имя пользователя]/default/
На компе готово, группа контактов Coworkers из адресной книги почтового клиента(предварительно я заполнил vCard телефонами, датами рождения и т.п.) улетела на сервер.
8. Осталось загрузить контакты с сервера на телефон. Устанавливаем приложение DAVx5(через каталог свободных приложений F-Droid ) или CardDAV-Sync и добавляем учётку от нашего сервера(адрес тот же http://[IP-адрес или имя хоста]/card.php/addressbooks/[имя пользователя]/default/):
Вуаля, можно других сотрудников подключать и контакты приводить в порядок.
Источник: https://joepaetzel.com/2014/12/10/baikal-server-your-very-own-carddav-caldav-server/