Kalender Server mit Debian

In der heutigen Zeit, in der Informationen jederzeit und überall zur Verfügung stehen müssen, ist ein öffentlich verfügbarer Kalender Server fast schon unerlässlich.

Hier möchte ich die Installation und Konfiguration von calendarserver (Apple's Calendar Server) beschreiben, und später auch dokumentieren, was man alles cooles damit machen kann ;-)

calendarserver ist ein Daemon, der Kalender via CalDAV bereitstellt. Darüber hinaus beherrscht er auch die Freigabe von Kontakten via CardDAV. Die Dokumentation dazu findet man hier: http://trac.calendarserver.org/

Installation

Wie bereits unter Debian bekannt, wird das Paket mit apt installiert:

apt-get install calendar-server

Vorbereitung

calendarserver verwendet die extended File Attributes. Daher muss das Filesystem, auf dem der Daemon seine Daten ablegt (/var/spool/caldavd/ per Default) diese auch unterstützen, bzw. wir müssen sie aktivieren.

ext3

Für ext3 muss man die Attributes in der /etc/fastab erst aktivieren:

# vorher
/dev/sdb1  /var/spool/caldavd/  ext3  defaults,errors=remount-ro  0  0
# nachher
/dev/sdb1  /var/spool/caldavd/  ext3  defaults,user_xattr,errors=remount-ro  0  0

Da während der Installation keinerlei Daten unter /var/spool/caldavd/ abgelegt werden, muss anschließend auch nichts kopiert werden. Allerdings sollten die Rechte des Ordners /var/spool/caldavd/ geprüft werden. Sowohl als User, als auch bei der Gruppe, sollte caldavd gesetzt sein.

XFS

XFS hat die extended File Attributes bereits aktiviert.

Konfiguration

Das zentrale Verzeichnis mit den Konfigurationen befindet sich in /etc/caldavd/:

  • accounts.xml - wie der Name schon sagt, beherbergt diese Datei die Nutzerinformationen: Username, Password, Mailadressen, Zugehörigkeiten, …
  • caldavd.plist - die Konfigurations-Datei zur Administration des Dienstes
  • sudoers.plist - Ist mir nicht so ganz klar, die (schlechte) Dokumentation gibt auch nicht wirklich Auskunft darüber, die Datei scheint aber unter Linux auch nicht ihren Zweck zu vollführen…

In der accounts.xml sollten sämtliche Vorkomnisse von Nutzernamen und Passwort durch eigene Angaben ersetzt werden. Meine accounts.xml sieht dann so aus (zu Testzwecken habe ich das Passwort gleich dem Nutzernamen gesetzt):

accounts.xml
<?xml version="1.0" encoding="utf-8"?>
 
<!--
Copyright (c) 2006-2007 Apple Inc. All rights reserved.
 
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
 
    http://www.apache.org/licenses/LICENSE-2.0
 
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
 -->
 
<!DOCTYPE accounts SYSTEM "accounts.dtd">
 
<accounts realm="Test Realm">
  <user>
    <uid>admin</uid>
    <password>admin</password>
    <name>Super User</name>
  </user>
  <user>
    <uid>daniel</uid>
    <password>daniel</password>
    <name>Daniel Graf</name>
    <cuaddr>mailto:daniel@debian-hell.org</cuaddr>
  </user>
  <group>
    <uid>users</uid>
    <password>users</password>
    <name>Users Group</name>
    <members>
      <member type="users">daniel</member>
    </members>
  </group>
  <location>
    <uid>mercury</uid>
    <password>mercury</password>
    <name>Mecury Conference Room, Building 1, 2nd Floor</name>
    <auto-schedule/>
    <proxies>
      <member type="users">daniel</member>
    </proxies>
  </location>
</accounts>

Die sudoers.plist habe ich so gelassen, wie sie war.

Für Debian typisch gibt es ein Daemon-Start-File - /etc/default/calendarserver :

# uncomment to start calendarserver on system startup
start_calendarserver=yes

Einfach die Variable start_calendarserver zu yes ändern, damit der Dienst auch beim Systemstart mit hoch kommt.

Test des Kalender Servers

Nach der Konfiguration kann man sich, z.B. mit dem CLI-Tool cadaver (apt-get install cadaver) verbinden:

daniel@dag:~/Desktop/Dienstplan$ cadaver http://127.0.0.1:8008/calendars/users/daniel/calendar/
Authentication required for Test Realm on server `127.0.0.1':
Username: daniel
Password: 
dav:/calendars/users/daniel/calendar/>

Die oben angegebene Adresse http://127.0.0.1:8008/calendars/users/daniel/calendar/ muss natürlich für jeden User angepasst werden. Statt daniel muss der entsprechende User eingetragen werden, mit dem man sich verbinden möchte, außer es wurde die Berechtigung dafür vergeben.

howtos/kalender.server.mit.debian.txt · Last modified: 2011/11/14 16:12 by daniel
 
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki