หลังจากใช้ iPhone และ Mac มาสองปีหาวิธี sync calendar มาก็มากมายทั้ง Google calendar, Yahoo calendar หรือแม้แต่ Mobile ME สุดท้ายพบว่า [Calendar Server](http://trac.calendarserver.org/) ของ Apple นี่แหละเจ๋งสุดและถ้าไม่ได้ใช้กับระบบอื่นนะ เพราะสามารถ Attach file ลง event หรือให้ event แสดงใน calendar ของคนอื่นในระบบได้เลย โดยจะแจ้งเตือนใน iCal แถมติดตั้งก็ไม่ยากใน debian ข้อเสียอย่างเดียวที่มีคือ เพิ่ม User ลำบากและต้องอ่านวิธีตั้งค่าพอสมควร (ซึ่งก็ไม่ค่อยมีเอกสารบอก)
ติดตั้ง
#aptitude install calendarserver
หลังจากติดตั้งเสร็จก็เพิ่ม account ที่สามารถเข้ามาใช้งานได้
#cp /usr/share/doc/calendarserver/examples/accounts.xml /etc/caldavd/ #cp /usr/share/doc/calendarserver/examples/sudoers.plist /etc/caldavd/
หลังจาก copy เสร็จก็แก้ไฟล์ accounts.xml ตามที่ต้องการว่าจะใช้ username อะไร password อะไรที่สำคัญคือ tag cuaddr ต้องใส่ email address ที่จะใช้ invite คนอื่นเข้ามาใน events เช่น
<user> <uid>myusername</uid> <password>mypassword</password> <name>ชื่อที่จะแสดงเวลาคนอื่น invite เราไปใน เหตุการณ์</name> <cuaddr>อีเมล์ที่ใช้สำหรับ invite</cuaddr> </user>
แก้ไข accounts เสร็จก็ตามด้วย /etc/caldavd/caldavd.plist เพื่อกำหนด port ที่จะใช้ต่อเข้ามา ขนาดไฟล์ attachments และก็ quota รวมทั้งถ้าไม่อยากใช้ไฟล์ accounts.xml ก็สามารถแก้ให้ใช้ ldap ได้
แก้ไข caldavd.plist เสร็จก็ start calendar server ด้วยการเอา comment ในไฟล์ /etc/default/calendarserver ออกก่อน
#vi /etc/default/calendarserver start_calendarserver=yes
จากนั้น start service ผ่านคำสั่ง
/etc/init.d/calendarserver start
จากนั้นก็เปิด iCal ใน OSX เพื่อเพิ่ม account CalDAV
- เข้าไปที่ iCal -> Preferences -> Accounts
- เลือก + เพื่อเพิ่ม Account
- เปลี่ยน Account Type เป็น CalDAV และใส่ข้อมูล Account กับ Server ลงไป
- เลือก Create เพื่อเพิ่มอาจจะเจอข้อความเตือนบอกว่า Server ไม่มี Cert นะอาจไม่ปลอดภัยก็บอก Continue ไป
- จากนั้นจะมีกล่องมาเตือนอีกรอบ ก็ Continue ไปอีกรอบ
-
จากนั้นจะกลับมาที่หน้าต่าง Account พร้อมรายละเอียดที่พึ่งเพิ่มเข้าไป
- ปิดหน้าต่างนี้รอซักพัก ก็จะได้อะไรประมาณนี้ออกมา
- สามารถสร้าง Event พร้อมแนบ Attachment และ Invites รอให้อีกคนตอบกลับและแสดงสถานะได้
สำหรับ iPhone จะเพิ่มคล้าย ๆ เมล์
- โดยไปที่ Settings -> Mail, Contacts, Calendars -> Add Account…
- เลือก Other จากนั้นเลือก Add CalDAV account
- ใส่รายละเอียด server และ description ส่วน username/password ใส่ที่ผิดไปก่อน (เพราะต้องแก้ port ที่ caldav ใช้หากเปลี่ยน port ให้แตกต่างจากค่า default)
- จะมี warning มาบอกก่อนเลยว่าไม่ได้ทำงานผ่านเว็บที่มี SSL นะ ก็ OK ผ่านไป
- จากนั้นจะเจอ error ว่าไม่สามารถ verify account ได้(แน่นอนเพราะใส่ข้อมูลปลอมไป)
- ตอบ OK ออกมาจะเห็นว่ามี Advance Settings โผล่ขึ้นมา เลือกเข้าไปเพื่อเปลี่ยน Port
- เปลี่ยน port เสร็จก็ย้อนกลับมาหน้าหลักเลือก Save เป็นอันเสร็จ
ตอนนี้ถ้าเข้าไปที่หน้าหลักของ Calendar server จะเห็นว่าออกรุ่นสองแล้ว แต่ถ้าจะลงใน debian ตอนนี้อยู่ใน repo ของ squeeze ซึ่งยังไม่อยากอัพเดทตาม ไว้ถ้าขยันแล้วเห็นว่ามันมีอะไรต่างอย่างเห็นได้ชัด ค่อยอัพเดทอีกที แต่รุ่นสามน่าสนตรงที่จะมี CardDAV server ไว้เก็บ contact ด้วย ไว้ release เมื่อไหร่แล้วจะเอามาลองรันใน VM บนเครื่องดูอีกที