29.06.2011
Hier finden Sie die längeren Befehlszeilen des Praxis-Artikels zu DAViCal aus c't 15/11, S. 140 zum guttenbergen.
Die Datei /etc/apt/sources.list ergänzen um folgende Zeile:
deb http://debian.mcmillan.net.nz/debian lenny awm
Den PGP-Key von Andrew McMillan als vertrauenswürdig in der Paketverwaltung verankern:
apt-key advanced --keyserver pgp.net.nz --recv-keys F6E0FA5CF0307507BB23A512EAFCFEBF8FEB8EBF
Die PostgreSQL-Konfiguration anpassen und in /etc/postgresql/8.4/main/pg_hba.conf folgende Zeile ergänzen:
local davical davical_app trust
local davical davical_dba trust
PostgreSQL-Datenbank für DAViCal erstellen:
su postgres -c /usr/share/davical/dba/create-database.sh
Definition des vhost für Apache. Als /etc/apache2/sites-available/davical anlegen:
<VirtualHost *:8443>
DocumentRoot /usr/share/davical/htdocs
SSLEngine on
SSLCertificateFile /etc/ssl/certs/caldav2.cert
SSLCertificateKeyFile /etc/ssl/certs/caldav2.key
DirectoryIndex index.php index.html
ServerName cal.example.com
Alias /images/ /usr/share/davical/htdocs/images/
CustomLog /var/log/apache2/davical_access.log combined
<Directory /usr/share/davical/htdocs/>
AllowOverride None
Order allow,deny
Allow from all
</Directory>
AcceptPathInfo On
php_value include_path /usr/share/awl/inc
php_value magic_quotes_gpc 0
php_value register_globals 0
php_value error_reporting "E_ALL & ~E_NOTICE"
php_value default_charset "utf-8"
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/$
RewriteCond %{REQUEST_URI} !\.(php|css|js|png|gif|jpg)
RewriteRule ^(/principals/users.*)$ /caldav.php$1 [NC,L]
</VirtualHost>
Selbstsignierte Zertifikate anlegen:
openssl genrsa -out certs/caldav2.key 2048
openssl req -new -key certs/caldav2.key -out private/caldav2.csr
openssl x509 -req -days 3650 -in private/caldav2.csr -signkey certs/caldav2.key -out certs/caldav2.cert
Konfigurationsdatei für DAViCal erstellen:
<?php
$c->domain_name = 'cal.example.com';
$c->sysabbr = 'cal';
$c->system_name = 'DAViCal CalDAV Server';
$c->admin_email = 'admin@example.com';
$c->pg_connect[] = 'dbname=davical user=davical_app';
$c->readonly_webdav_collections = false;
Passwort für admin ermitteln:
su postgres
psql davical -c 'select username, password from usr;'
Importieren von ICS-Dateien in bestehende Kalender (eine Zeile/ein Befehl):
curl --insecure --basic --request PUT --header "Content-Type: text/calendar; charset=utf-8" --user admin:password --data-binary @peter_privat.ics https://cal.example.com:8443/caldav.php/hein/home/?mode=append
Skript zum Sichern der Kalender als ICS-Dateien:
#!/bin/bash
BACKUP_FOLDER=/var/backups/ics
ADMINUSER=admin
ADMINPASSWORD=xxxx
HOST="https://example.com:8443"
WGETOPTS="--no-check-certificate --quiet"
CALENDAR_LIST=`psql davical -qAt -c \
"SELECT dav_name FROM collection WHERE is_calendar"`
for CALENDAR in $CALENDAR_LIST
do
USERNAME=`psql -qAt -c \
"SELECT usr.username || '_' || collection.collection_id \
FROM collection, usr \
WHERE collection.dav_name='$CALENDAR' AND \
collection.user_no=usr.user_no" davical`
/usr/bin/wget $WGETOPTS \
--user=$ADMINUSER --password=$ADMINPASSWORD \
-O $BACKUP_FOLDER/$USERNAME.ics \
$HOST/caldav.php/$CALENDAR
done
Version zum Drucken | Per E-Mail versenden | Heft bestellen
Permalink: http://heise.de/-1270316
Das aktuelle Heft ist jetzt im Handel erhältlich.
Ältere Artikel können Sie über unser Zeitschriften-Archiv bestellen.
Mehr zum Thema Cloud Computing