You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
153 lines
7.2 KiB
153 lines
7.2 KiB
9 years ago
|
---
|
||
|
title: WebDAV и syncevolution
|
||
|
tags: webdav
|
||
|
---
|
||
|
|
||
|
Понадобилось тут помочь с настройкой синхронизации контактов в телефоне, где нет поддержки webdav'а и его вариаций.
|
||
|
|
||
|
Ниже вы можете наблюдать развесистое дерево конфигов, необходимое для простой двухсторонней синхронизации типа "точка-точка". Всё это счастье располагается в ``~/.config/syncevolution/``
|
||
|
|
||
|
---
|
||
|
|
||
|
`syncevolution
|
||
|
├── owncloud
|
||
|
│ ├── peers
|
||
|
│ │ └── owncloud
|
||
|
│ │ ├── config.ini
|
||
|
│ │ └── sources
|
||
|
│ │ ├── addressbook
|
||
|
│ │ │ └── config.ini
|
||
|
│ │ ├── calendar
|
||
|
│ │ │ └── config.ini
|
||
|
│ │ ├── memo
|
||
|
│ │ │ └── config.ini
|
||
|
│ │ └── todo
|
||
|
│ │ └── config.ini
|
||
|
│ └── sources
|
||
|
│ ├── addressbook
|
||
|
│ │ └── config.ini
|
||
|
│ ├── calendar
|
||
|
│ │ └── config.ini
|
||
|
│ ├── memo
|
||
|
│ │ └── config.ini
|
||
|
│ └── todo
|
||
|
│ └── config.ini
|
||
|
└── owncloud-target
|
||
|
├── config.ini
|
||
|
├── peers
|
||
|
│ └── target-config
|
||
|
│ ├── config.ini
|
||
|
│ └── sources
|
||
|
│ ├── addressbook
|
||
|
│ │ └── config.ini
|
||
|
│ ├── calendar
|
||
|
│ │ └── config.ini
|
||
|
│ ├── memo
|
||
|
│ │ └── config.ini
|
||
|
│ └── todo
|
||
|
│ └── config.ini
|
||
|
└── sources
|
||
|
├── addressbook
|
||
|
│ └── config.ini
|
||
|
├── calendar
|
||
|
│ └── config.ini
|
||
|
├── memo
|
||
|
│ └── config.ini
|
||
|
└── todo
|
||
|
└── config.ini
|
||
|
|
||
|
27 directories, 19 files
|
||
|
|
||
|
Вводные:
|
||
|
|
||
|
* owncloud, это, внезапно, наш локальный источник данных
|
||
|
* owncloud-target - это удалённый источник
|
||
|
* memo и todo - не используется, поскольку локальный источник не может их выгружать, оставлены в листинге для примера.
|
||
|
* как я понял, конфиг не особо рассчитан на правку руками, и может быть переписан программой в любой момент
|
||
|
* предполагается, что под owncloud выделен отдельный hostname и включен https
|
||
|
|
||
|
Содержимое файлов, с комментариями. Все пути указываются относительно ``~/.config/``. Во все места, где используются переменные, должны быть вписаны нужные значения, сам syncevolution переменные не понимает!
|
||
|
|
||
|
######## Локальный источник
|
||
|
|
||
|
# ./syncevolution/owncloud/sources/addressbook/config.ini
|
||
|
# смотрите внимательно комментарии в конфиге выше этой директивы,
|
||
|
# при неверном выборе выдаётся крайне невразумительная диагностика
|
||
|
backend = addressbook
|
||
|
# смотреть через `syncevolution --print-databases`
|
||
|
database = qtcontacts:org.nemomobile.contacts.sqlite:
|
||
|
|
||
|
# ./syncevolution/owncloud/sources/calendar/config.ini
|
||
|
# аналогично пункту выше
|
||
|
backend = calendar
|
||
|
# смотреть через `syncevolution --print-databases`
|
||
|
database = uid:70f9eee1-866e-4606-912c-2b1c94c084d1
|
||
|
|
||
|
# ./syncevolution/owncloud/peers/owncloud/sources/addressbook/config.ini
|
||
|
# в первый раз - ставится merge, потом переключается на two-way
|
||
|
# merge никогда ничего не удаляет!
|
||
|
sync = two-way
|
||
|
|
||
|
# ./syncevolution/owncloud/peers/owncloud/sources/calendar/config.ini
|
||
|
# аналогично пункту выше
|
||
|
sync = two-way
|
||
|
|
||
|
# ./syncevolution/owncloud/peers/owncloud/sources/memo/config.ini
|
||
|
# важно - отключить, иначе выдаст ошибку синхронизации
|
||
|
# и засоряет лог
|
||
|
sync = disabled
|
||
|
|
||
|
# ./syncevolution/owncloud/peers/owncloud/sources/todo/config.ini
|
||
|
# аналогично пункту выше
|
||
|
sync = disabled
|
||
|
|
||
|
# ./syncevolution/owncloud/peers/owncloud/config.ini
|
||
|
# самый главный конфиг
|
||
|
syncURL = local://@owncloud-target
|
||
|
printChanges = 0
|
||
|
PeerIsClient = 1
|
||
|
# чисто косметическая настройка - название пира
|
||
|
PeerName = owncloud
|
||
|
# показывать ли этот источник в gui
|
||
|
ConsumerReady = 1
|
||
|
|
||
|
######## Удалённый источник
|
||
|
|
||
|
# ./syncevolution/owncloud-target/sources/addressbook/config.ini
|
||
|
# ВАЖНО! если указан просто addreddbook или что-то подобное
|
||
|
# оно таки пытается использовать сеть, из-за того, что указано http://*
|
||
|
# но ломится при этом на localhost!
|
||
|
# также, "ADDR" - название адресной книги owncloud'а, см вебинтерфейс
|
||
|
backend = CardDAV
|
||
|
database = https://$HOSTNAME/remote.php/carddav/addressbooks/$USER/$ADDR
|
||
|
|
||
|
# ./syncevolution/owncloud-target/sources/calendar/config.ini
|
||
|
# $CAL - то же самое, что и выше, см вебинтерфейс
|
||
|
backend = CalDAV
|
||
|
database = https://$HOSTNAME/remote.php/caldav/calendars/$USER/$CAL
|
||
|
|
||
|
# ./syncevolution/owncloud-target/peers/target-config/sources/addressbook/config.ini
|
||
|
# merge - в первый раз, two-way - второй и последующие
|
||
|
sync = two-way
|
||
|
|
||
|
# ./syncevolution/owncloud-target/peers/target-config/sources/calendar/config.ini
|
||
|
# аналогично
|
||
|
sync = two-way
|
||
|
|
||
|
# ./syncevolution/owncloud-target/peers/target-config/config.ini
|
||
|
syncURL = https://$HOSTNAME/remote.php/
|
||
|
username = $USER
|
||
|
password = $PASS # пароль от owncloud'а
|
||
|
printChanges = 0
|
||
|
dumpData = 0
|
||
|
useProxy = 0
|
||
|
PeerName = owncloud
|
||
|
SSLVerifyServer = 0 # выставить в случае самоподписного сертификата
|
||
|
SSLVerifyHost = 0
|
||
|
ConsumerReady = 0
|
||
|
peerType = WebDAV
|
||
|
|
||
|
# ./syncevolution/owncloud-target/config.ini
|
||
|
# должен выставится сам при первом запуске, не трогать
|
||
|
deviceId = syncevolution-6ed8351d-76bb-4ee9-9c25-063849780848
|