LowCal is a relatively featureful web calendar designed for apache and mod_perl - and nothing else. No PHP, no database engines, nothing. Module installation ------------------- These instructions assume you have root access to the machine you're installing on. If you don't, you're not likely to be able to install new apache modules without help (and permission) from a system administrator. First, you need to actually install the code to the appropriate directories. Running install.pl in the directory where you unpacked the tarball will do this. By default, the LowCal module itself will install under /usr/local/lib/site_perl and command-line utilities will be installed in /usr/local/bin. If these locations are not appropriate for your system, edit the values of $module_dir and/or $util_dir near the top of the script before running it. Next, you need to tell apache to load the LowCal module. If this is your first perl module, you should edit apache's httpd.conf and make sure that mod_perl is being loaded with LoadModule perl_module /path/to/mod_perl.so unless mod_perl is statically linked to your build of apache. You'll also probably want to add PerlFreshRestart On Include conf/perl.conf You can omit the "Include conf/perl.conf" if you'd rather just put your perl settings into the main httpd.conf, but I prefer to separate them out. Easier to find them that way. Now that apache knows how to deal with perl, we finally get to point a URI at LowCal. Make yourself a perl.conf in apache's conf directory that says SetHandler perl-script PerlHandler Apache::LowCal::LowCal PerlSetVar EventPath /tmp If you want to use the web-based administration pages, you will also need to add SetHandler perl-script PerlHandler Apache::LowCal::Admin PerlSetVar EventPath /tmp Order Deny,Allow Deny From All Allow From localhost (Add these Location blocks to httpd.conf if you chose to omit the Include line above.) Note that LowCal does not currently handle its own security for the admin interface. If you wish to secure the admin pages (which would be a wise thing to do), you will need to use apache's standard access control mechanisms to do so. In the example above, the admin pages are accessible only to requests originating from the server itself, which may or may not be appropriate to your situation. Save it, restart apache with `apachectl graceful`, and point a browser at http://localhost/lowcal. If you see a blank calendar for the current month, congratulations! It works! If you don't get a blank calendar, send mail to lowcal-users@sherohman.org and we'll see what can be done to get you up and running. Adding events manually ---------------------- Event data files are essentially HTML body fragments with a couple special META tags in them. To create a dummy event for testing, go to the directory that you set as the EventPath (/tmp in the example above) and create a file named 20001231-nye containing the text: ---

The 20th Century Ends...

We celebrated having lots of zeros last year, now to celebrate the new millennium! --- Save it and point your broswer at http://localhost/lowcal?month=12&year=2000. You should see "New Millennium Party!" listed on December 31. Click on it, and you'll get the rest of the information you entered above. Creating recurring events manually ---------------------------------- Now create a file named /tmp/evt-work containing ---

It's a weekday... Go to work! --- Save it and run `lowcal-update.pl /tmp 200012`. Take a look in /tmp and you should see a bunch of symlinks with names like 20001201-work - lowcal-update.pl just created links for your recurring event back to the event definition file based on that tag. Point your browser back at http://localhost/lowcal?month=12&year=2000 and all the weekdays should have "Go to work" listed. But I bet you have Christmas off, don't you? Just delete 20001225-work, refresh the page in your browser, and you'll be safe. Web-based administration ------------------------ The web-based admin interface is currently pretty crude. If you want to try it out, set up the block as described above and copy the included admin_options file to your event directory. The event directory will also need to be writable by the user and/or group that apache runs as. (This is a potential security risk, as an attacker who manages to compromise apache, LowCal, or any other module may be able to deposit malicious code or data in your event directory. You have been warned.) You'll still have to set up the meta tags manually, but at least you won't need to worry about creating your files in the right place with the right names. Hopefully, the admin pages will be readily comprehensible, but I have no delusions of greatness for them. If you have any suggestions for improving them, please send them to the LowCal mailing list (lowcal-users@sherohman.org) or to me directly (dave@sherohman.org). There is one thing on the admin pages which I know requires explanation: In the daily lists of events, the "U/L" column indicates whether an event is [U]nique (a normal file) or a [L]ink to another file. Additional information ---------------------- The first place to look is the Args, Templates, and Tokens files in the directory where you unpacked LowCal. They should at least be enough to get you started with LowCal and perhaps even fix some minor problems. If you have trouble beyond what they can help you with, you can check for relevant bug reports at http://sherohman.org/lowcal-bugs. If there isn't anything useful there, send mail to lowcal-users@sherohman.org. I read the list and will do what I can to help you out. There isn't a FAQ yet, but I'll put one together as soon as I start getting questions. Good luck, and have fun!