# HG changeset patch # User Paul Boddie # Date 1414712019 -3600 # Node ID 7960e22f96a7966756656d5d5cdcf8be929541b6 # Parent 3b5a364f382ea29d39254548006f988bad528830 Added some documentation and a simple installation script. diff -r 3b5a364f382e -r 7960e22f96a7 README.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/README.txt Fri Oct 31 00:33:39 2014 +0100 @@ -0,0 +1,63 @@ +imip-agent +========== + +This software implements an agent that can interpret e-mail messages +containing calendar information, maintain availability records for scheduling +participants, act on behalf of resources and other entities that need to +participate in scheduling, and support user interfaces for end-users whose +e-mail programs do not understand calendar data. + +Getting Started +=============== + +Eventually, this information should be incorporated into packages for various +operating system distributions, and these instructions should be largely +superfluous for most users. + +System User and Filesystem Access +--------------------------------- + +A system user needs to be created and to belong to certain groups in order to +deliver messages to mail stores and to publish resources on the Web: + + useradd -d /var/lib/imip-agent -m -U -G lmtp,www-data -r imip-agent + +If the lmtp group does not exist, it should be created and be employed for +LMTP delivery to systems like Cyrus and Dovecot. + +Store details and published resources need to be accessible by the imip-agent +and www-data users: + + mkdir /var/lib/imip-agent/store /var/www/imip-agent/static + chown imip-agent /var/lib/imip-agent/store /var/www/imip-agent/static + chgrp www-data /var/lib/imip-agent/store /var/www/imip-agent/static + chmod g+s /var/lib/imip-agent/store /var/www/imip-agent/static + +Here, the setgid flag should ensure that new files and directories have the +appropriate group associated with them. + +Fixing ownership can be done as follows: + + chown -R imip-agent /var/lib/imip-agent + chgrp -R imip-agent /var/lib/imip-agent + chown -R imip-agent /var/lib/imip-agent/store /var/www/imip-agent/static + chgrp -R www-data /var/lib/imip-agent/store /var/www/imip-agent/static + chmod -R g+w /var/lib/imip-agent/store /var/www/imip-agent/static + +Installing the Software +----------------------- + +The tools/install.sh script should install the software in appropriate +locations. + +Configuring Other Software +-------------------------- + +The conf directory contains subdirectories for different systems: + + apache Apache 2 site configuration for publishing resources + exim Exim 4 routing and transport configuration + postfix Postfix routing and transport configuration + +Either Exim or Postfix can be chosen as a mail system supporting the agent. +Both of these currently make use of LDAP to access user information. diff -r 3b5a364f382e -r 7960e22f96a7 tools/install.sh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tools/install.sh Fri Oct 31 00:33:39 2014 +0100 @@ -0,0 +1,23 @@ +#!/bin/sh + +AGENTS="imip_person.py imip_person_outgoing.py imip_resource.py" +MODULES="markup.py imip_store.py vCalendar.py vContent.py vRecurrence.py" +INSTALL_DIR=/var/lib/imip-agent +WEB_INSTALL_DIR=/var/www/imip-agent + +if [ ! -e "$INSTALL_DIR" ]; then + mkdir -p "$INSTALL_DIR" +fi + +cp $AGENTS "$INSTALL_DIR" +cp $MODULES "$INSTALL_DIR" +mkdir "$INSTALL_DIR"/imiptools +mkdir "$INSTALL_DIR"/imiptools/handlers +cp imiptools/*.py "$INSTALL_DIR"/imiptools/ +cp imiptools/handlers/*.py "$INSTALL_DIR"/imiptools/handlers/ + +if [ ! -e "$WEB_INSTALL_DIR" ]; then + mkdir -p "$WEB_INSTALL_DIR" +fi + +cp imip_manager.py "$WEB_INSTALL_DIR"