The fusion of technology, business, and life

Archive for March, 2008

Shared Calendars with Outlook 2007 and WebDAV

Sharing a calendar between two or more people should be fairly cheap, and reasonably simple to accomplish; however, most of the time it isn't. Google provides an excellent calendar service that meets my needs, but some people absolutely require the ability to do their calendaring in Outlook. Previously, that meant a lot of headaches — either from using Exchange or trying to figure out a way not to use it. Fortunately, Outlook 2007 provides the ability to publish calendar files in .ics format to a WebDAV server, and subscribe to similarly published calendars.

Additionally, Apache2 makes it easy to get WebDAV working, by providing mod_dav and mod_dav_fs (I recommend using auth_digest as well for enhanced security over basic authentication). In Apache 2.x on Debian, enabling modules is as simple as running a2enmod. After enabling the required modules, insert the following into /etc/apache2/httpd.conf:

<Directory /var/www/calendar>
DAV On
AuthType Digest
AuthName "webdav"
AuthUserFile /etc/apache2/passwd.dav
Require valid-user
</Directory>

Next, you'll need to configure the auth_digest permissions for the directory by running htdigest -c /etc/apache2/passwd.dav webdav . It will ask you to setup a password for the username you specified — this will be how you access the calendar file. Reload the Apache2 configuration by running /etc/init.d/apache2 force-reload so it will recognize your changes.

In Outlook 2007, go to Calendar and right click on the calendar name. Then go to Publish to Internet -> Publish to WebDAV server. You'll want to use the directory you just setup on your web server — something like http://www.domain.com/calendar/, if you used the /var/www/calendar/ path from my example. You'll need to use the username and password you setup with auth_digest access earlier. One nice feature is that Outlook allows you to publish calendars with varying levels of detail, ranging from full details to only showing availability. Also, you can limit published calendars to only show working hours, and even define what those hours are.

So for easy calendar sharing, it would be easy enough for each person to publish their calendar to a server and have the other members of the group subscribe to it. That wasn't too painful was it?

1 comment

Virtualization: VServer and Xen on Debian Etch

I've experimented with a wide variety of virtualization software in the past, but have recently settled on two. VMWare, VirtualPC, and others may have their uses, but I've found VServer and Xen to be my new favorites. Not only are they both free, but they also offer near-native performance. VServer makes it incredibly easy and fast to set up new guest systems, but also can meet more complex requirements with some additional minor configuration. The only feature that VServer can't provide is the ability to run Windows, but Xen will on any processor that can do hardware virtualization, or HVM (Intel's VT or AMD-V will).

Since VServer is easier to use and faster to setup for general Linux virtualization, and Xen can run Windows, the need to use both quickly becomes apparent. They both require kernel patches to work, but a well-oiled Debian setup makes that as easy as running apt-get install. One thing I would suggest is to use LVM – it makes giving guest machines disk space easier. Assuming you have a box already set up running Debian Etch, just apt-get install the following packages and you're well on your way to virtualization with Xen and VServer:

libc6-xen xen-hypervisor-3.0.3-1-i386-pae xen-ioemu-3.0.3-1 xen-linux-system-2.6.18-4-xen-vserver-686 xen-tools xen-utils-3.0.3-1 xen-utils-common bridge-utils linux-headers-2.6-xen-vserver-686 linux-image-2.6-xen-vserver-686 util-vserver vserver-debiantools vncserver vnc-common

For more information, check out:

Note: The first two links describe installing Xen and VServer separately — the only change required to use both is to grab the -xen-vserver kernel packages instead of only -xen or -vserver alone.

No comments