Calendar server

หลังจากใช้ 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 บนเครื่องดูอีกที

About llun

Just a programmer

,