[ Contents | << Previous | Next >> ]


Apache Setup

There are a variety of ways to install the Kalendus files with Apache. I will describe what is probably the most common and easiest way.

Assumuption

You have an Apache web server running, and you have write access to a CGI script directory and a web directory to install files in.

Kalendus is reported to run with other servers, such as Microsoft IIS. Configuration is left as an exercise for the reader. Tip: you may have to change some of the directory paths from / to \ in the Perl scripts.

Install CGI Scripts

Move the files in the Kalendus cgi-bin directory to an Apache CGI script directory. On my system, this is /home/httpd/cgi-bin:

	/home/httpd/cgi-bin/calendar/month.pl

The URL to access the calendar is based on the URL for the Apache CGI script directory. On my system, this is simply /cgi-bin:

	http://www.example.com/cgi-bin/calendar/month.pl

(Note: This directory can be called something other than "cgi-bin", such as "scripts". It should be ScriptAliased and have the ExecCGI option. In all my examples I refer to it as cgi-bin.)

Install Static Files

Move the files in the Kalendus html directory to an Apache web directory. On my system, this is /home/httpd/html:

	/home/httpd/html/calendar/style.css

The URL prefix (relative to the server root) for this directory must be stored in the cgi-bin/calendar/KalendusConfig.pm file.

	$webroot = '/calendar/';

Setup Security

If you want security for viewing the calendar, setup Apache users for the cgi-bin/calendar/ directory.

If you want security for adding and editing events, setup Apache users for the cgi-bin/calendar/auth/ directory.

[system admin]

Your system administrator can setup security, using code similar to this in the Apache configuration file. I recommend using the Apache::AuthDBI module for storing users and groups in a database, rather than the flatfiles shown below.

	<Directory /home/httpd/cgi-bin/calendar/auth>
		AuthName        "calendar"
		AuthType        basic
		AuthUserFile    /etc/apache/passwd
		AuthGroupFile   /etc/apache/group
		Require group   calendar
	</Directory>