1 imip-agent
2 ==========
3
4 This software implements an agent that can interpret e-mail messages
5 containing calendar information, maintain availability records for scheduling
6 participants, act on behalf of resources and other entities that need to
7 participate in scheduling, and support user interfaces for end-users whose
8 e-mail programs do not understand calendar data.
9
10 Getting Started
11 ===============
12
13 Eventually, this information should be incorporated into packages for various
14 operating system distributions, and these instructions should be largely
15 superfluous for most users.
16
17 System User and Filesystem Access
18 ---------------------------------
19
20 A system user needs to be created and to belong to certain groups in order to
21 deliver messages to mail stores and to publish resources on the Web:
22
23 useradd -d /var/lib/imip-agent -m -U -G lmtp,www-data -r imip-agent
24
25 If the lmtp group does not exist, it should be created and be employed for
26 LMTP delivery to systems like Cyrus and Dovecot.
27
28 Store details and published resources need to be accessible by the imip-agent
29 and www-data users:
30
31 mkdir /var/lib/imip-agent/store /var/www/imip-agent/static
32 chown imip-agent /var/lib/imip-agent/store /var/www/imip-agent/static
33 chgrp www-data /var/lib/imip-agent/store /var/www/imip-agent/static
34 chmod g+s /var/lib/imip-agent/store /var/www/imip-agent/static
35
36 Here, the setgid flag should ensure that new files and directories have the
37 appropriate group associated with them.
38
39 Fixing ownership can be done as follows:
40
41 chown -R imip-agent /var/lib/imip-agent
42 chgrp -R imip-agent /var/lib/imip-agent
43 chown -R imip-agent /var/lib/imip-agent/store /var/www/imip-agent/static
44 chgrp -R www-data /var/lib/imip-agent/store /var/www/imip-agent/static
45 chmod -R g+w /var/lib/imip-agent/store /var/www/imip-agent/static
46
47 Installing the Software
48 -----------------------
49
50 The tools/install.sh script should install the software in appropriate
51 locations.
52
53 Configuring Other Software
54 --------------------------
55
56 The conf directory contains subdirectories for different systems:
57
58 apache Apache 2 site configuration for publishing resources
59 exim Exim 4 routing and transport configuration
60 postfix Postfix routing and transport configuration
61
62 Either Exim or Postfix can be chosen as a mail system supporting the agent.
63
64 Configuring Mail Systems for the Agent
65 --------------------------------------
66
67 The essential aspect of mail system configuration involves mail transports and
68 the integration of agent programs into the mail processing pipeline. Thus, the
69 following files are of particular interest:
70
71 For Exim...
72
73 conf/exim/30_exim4-config_people Integration of agent programs
74 conf/exim/30_exim4-config_people_outgoing ...
75 conf/exim/30_exim4-config_resources ...
76
77 For Postfix...
78
79 conf/postfix/master.cf.items Integration of agent programs (for
80 inclusion in master.cf)
81 conf/postfix/transport Configuration of agent transports
82 conf/postfix/virtual Configuration of outgoing mail routing
83
84 Such files need adjusting for the deployment environment so that, for example,
85 the example.com domain would be replaced with a suitable value.
86
87 Where $lmtp_socket is employed, a suitable filesystem path is required; see
88 below for a discussion of LMTP and mail delivery.
89
90 Configuring Mail Systems for Mail Recipients
91 --------------------------------------------
92
93 The software should operate independently of the way mail recipients are
94 identified in any given mail system, and thus does not dictate things such as
95 routing or account querying. However, example configuration files are provided
96 that demonstrate the use of LDAP to identify mail recipients:
97
98 For Exim...
99
100 conf/exim/010_exim4-config_people_outgoing Defines recipients and
101 outgoing mail routing
102 conf/exim/890_exim4-config_ldap_people ...
103 conf/exim/890_exim4-config_ldap_resources ...
104
105 For Postfix...
106
107 conf/postfix/local_recipient_maps.cf Defines local virtual
108 recipients
109 conf/postfix/main.cf.example Defines recipients and outgoing
110 mail routing (for inclusion in
111 main.cf)
112 conf/postfix/virtual_alias_maps_people.cf
113 conf/postfix/virtual_alias_maps_people_outgoing.cf
114 conf/postfix/virtual_alias_maps_resources.cf
115
116 With the exception of the sender_bcc_maps setting in Postfix's main.cf, the
117 above recipient identification configuration examples can be disregarded in
118 favour of other ways of defining mail recipients, subject to the needs of any
119 given environment.
120
121 Configuring Mail Systems for Mail Delivery
122 ------------------------------------------
123
124 The agent software assumes that delivery of mail to recipients may be
125 performed using LMTP to a suitable mailbox provider. This is largely beyond
126 the scope of this document, but systems such as Cyrus and Dovecot can be
127 configured to provide a Unix domain socket offering support for LMTP
128 connections.
129
130 Prerequisites
131 -------------
132
133 Depending on the mail transport agent (MTA) chosen, the following packages are
134 required for this software to work on Debian systems:
135
136 Exim: exim4-daemon-heavy
137 Postfix: postfix postfix-ldap