Denali/Mt. McKinley and Brown Bear Software logo
Calcium Documentation - Basic Installation Tips
Horizontal Line

The structure of a Calcium installation is not as complicated as you might think. There are basically two pieces:

  • the main script that your web server executes
  • a directory structure of supporting files the script needs.

This simplicity makes it easy to install Calcium, even on a virtually hosted web server. Basically, all you need to do is put the two pieces into the cgi-bin directory on the host. Just follow these steps:
  • Download and extract the Calcium .tar or .zip package on your local machine; this will produce a file called "", and a directory called "CalciumDir40" with five directories (or folders) in it: "Calendar", "Operation", "data", "upgrades", and "redist". Each directory will contain various subdirectories and files.

  • Copy the "" file to your web server's cgi-bin directory. ("cgi-bin" is the typical name; your web server may be configured differently.) Note: if you're using FTP, be sure to transfer all files in ASCII mode!

  • Copy the "CalciumDir40" directory to the same place you put the "" file (e.g., your "cgi-bin" dir), making sure to copy all its subdirectories as well.

  • Make sure the file system permissions on the host allow the user that the web server runs scripts as to:
    - READ everything
    - WRITE to everything in the "CalciumDir40/data" directory.
    - EXECUTE the main Calcium script ("")    (EXECUTE permission is needed only on unix servers.)

And that should do it! Just browse to the "" script to get started (something like

Tip: You can rename the main script to anything you'd like.

Note: some web servers will require that the main Calcium script have a special extension, like .cgi or .pl. If you see the contents of the script instead of the main Calcium page when you browse to it, try changing the filename extension.

Detailed list of installation

Please see the Installed Files page for details on how your installation should look.

Putting supporting directories elsewhere

If you like, you can put the supporting CalciumDir40 directory (and all its contents, of course) anywhere you like; it doesn't have to go in the cgi-bin dir. If you do move it, you just need to edit the script, and tell it where to find everything. For instance, if you want to rename the CalciumDir40 directory to "myCalcium" and move it into /home/stuff, edit the Calcium script, and change line 5 from this:

       BEGIN {$Defines::calendar_root = 'CalciumDir40';}
to this:
       BEGIN {$Defines::calendar_root = '/home/stuff/myCalcium';}

Tip: By default, the main Calcium script uses a relative path to specify the location of the rest of the files. Some web servers, particularly on hosting services, will only work with an absolute path. If you are having problems getting Calcium to run, try changing the path specified in the file (as described above) from 'CalciumDir40' to the full path to that directory on your server, e.g. something like '/home/my-site-dir/www/cgi-bin/CalciumDir40' or 'd:\my-site-dir\www\cgi-bin\CalciumDir40'