CardDAV Server 설정

CardDAVServer

Synology의 CardDAV Server는 Apple의 Calendar and Contacts Server를 패키징한 것으로 UI상으로 노출은 안했지만 CalDAV 역시 잘 지원한다.

CardDAV Server를 설치한 다음 /var/packages/CardDAVServer/target/etc/syno_caldavd.plist 파일을 수정해준다.

21줄을 수정하는 이유는 LDAP 사용자의 경우 username@your-domain.com@example.com 으로 저장되는 것을 막기 위해서이다. 로컬 사용자만 사용한다면 your-domain.com으로 설정하면 된다.

213줄과 287줄의 주석을 제거하고 DirectoryService를 자신의 LDAP에 맞추어 설정해주면 LDAP를 공용 주소록으로 접근할 수 있게된다. 매핑해줄 것이 많아 생략.

다음으로 iMIP를 위한 계정을 설정해준다. 미팅 주관자가 일정을 생성하면 참석자들에게 메일로 참석 확인 요청이 메일로 전달된다. GMail에서 해당 메일을 열면 다음처럼 편한 UI를 보여준다.
ical_invitation
미팅의 통보와 참석여부 회신 모두 SMTP를 통해서 이뤄지기 때문에 이를 위한 계정이 필요하다. carddav 또는 ical과 같은 계정을 하나 생성해준 후 iMIP 정보를 기입해준다. 일정을 생성하면 미팅 통보의 발송자는 사용자이름<carddav@your-domain.com>으로 발송되고 회신 주소가 carddav+xxx-yyy-…zzz@your-domain.com와 같이 미팅을 구분하는 토큰이 iMIP 계정명 뒤에 붙게된다. 이 주소로 회신을 해주면 미팅의 참석 또는 불참 여부가 CalDAV Server에 업데이트 된다. CardDAV Server가 inbox를 계속 확인하여 비워버리니 iMIP용 계정은 실제로 사용하지 않는 메일 전용 계정을 하나 생성해서 사용하면 된다.

이제 CardDAV 서버를 재시작 한다.
iOS의 경우 설정에서 CardDAV와 CalDAV 계정을 각각 추가해주고 서버 주소는 your-domain.com:8443 (또는 :8008)로 하고 계정명과 비밀번호를 입력해주면 알아서 설정된다. 설정 후에는 필요에 따라 fetch 시간을 적절하게 변경해준다. Mac mini를 팔고 나니 push가 무척 그립다. LDAP 사용자는 username@your-domain.com 과 같이 도메인을 포함하여 계정명을 사용해야 한다.

추가로 iMIP를 설정하였고 Synology의 Mail Server package를 사용하는 경우 회신 메일을 정상적으로 수신하기 위해 /var/packages/MailServer/target/etc/template/main.template 파일을 수정한 후 Mail Server를 재시작해준다.

잘 설정되었다면 캘린더 앱에서 일정을 하나 생성 후 참석자를 추가해주면, 참석자의 응답에 따라서 캘린더 앱에서 다음과 같이 참석 여부를 확인할 수 있다.
calendar