File: Configuration

package info (click to toggle)
imip-agent 0.3-2
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 2,056 kB
  • sloc: python: 9,888; sh: 4,480; sql: 144; makefile: 8
file content (149 lines) | stat: -rw-r--r-- 5,655 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
= Configuration =

When deploying imip-agent, configuration of the way it integrates with
other software components must be performed. Once this has been done,
certain details are then carried forward into the configuration of imip-agent
itself.

== Configuring the Integration ==

The `conf` directory provides a selection of template configuration files
for different software components that may integrate with imip-agent. To
simplify the process of customising these files, a helper tool is provided
to apply configuration choices and to generate configuration files that may
then be deployed within the configuration of these other components.

Taking an example set of choices, the tool is run as follows:

{{{
conf/tools/configure.sh conf/configure.example outconf
}}}

This will generate parameterised versions of several files within `conf`
and place them in a similar directory structure within the newly-created
directory `outconf`, using the settings found in `conf/configure.example`.

It is recommended that the example definitions file be copied and edited,
and that each definition or choice in the new definitions file be adjusted
according to the specific needs of the deployment. A summary of the choices
are given below.

{{{#!table
'''Choice''' || '''Example Value''' || '''Description'''
==
`MAIL_DOMAIN` || `example.com`
|| The mail domain for which imip-agent will be handling messages
==
`MAILBOX_DELIVERY` || `LocalSMTP`
|| How messages are delivered to mailboxes, either using `LocalSMTP`
.. ([[../MailIntegration/LocalSMTP|local SMTP]]) or `LMTP`
.. ([[../MailIntegration/LMTP|LMTP]]) mechanisms
==
`MAILBOX_DELIVERY_LMTP_GROUP` || `no`
|| Whether a special lmtp group will be used even with local SMTP,
.. as discussed in the [[../SystemUsers|system users and groups]]
.. documentation
==
`LMTP_SOCKET` || `/var/run/cyrus/socket/lmtp`
|| The location of the LMTP socket used to communicate with a mail
.. storage solution (if LMTP is employed)
==
`LOCAL_SYSTEM_USERS` || `no`
|| Whether local system users are supported, as described in the
.. [[../MailIntegration/LocalSMTP|local SMTP]] documentation.
==
`USER_DATABASE` || `Simple`
|| How the database of calendar users is managed, either using `Simple`
.. ([[../MailIntegration/Simple|simple]]) or `LDAP`
.. ([[../MailIntegration/LDAP|LDAP]]) mechanisms
==
<colspan="3"> ''LDAP-specific choices (for when calendar users are managed
using [[../MailIntegration/LDAP|LDAP]])''
==
`LDAP_SCHEME` || `ldap`
|| LDAP access mechanism, either using `ldap` or `ldaps`
==
`LDAP_HOST` || `localhost`
||<rowspan="2"> LDAP server connection details, with the port being omitted
.. unless a non-standard port has been chosen
==
`LDAP_PORT` ||
==
`LDAP_BASE_DN` || `"dc=example,dc=com"`
|| Search criteria used in the selection of calendar users
==
`LDAP_SERVICE_BIND_DN` || `"uid=imip-agent,ou=Special Users,dc=example,dc=com"`
||<rowspan="2"> Credentials for the identity employed by imip-agent to connect
.. to the LDAP server
==
`LDAP_SERVICE_PASSWORD` ||
}}}

The eventual destination of each of the customised files obviously depends on
the nature of the component such files will be configuring.

== Configuring the Software Itself ==

There are three levels of configuration in imip-agent:

 * `config.sh` provides system-level and tool configuration
 * `config.txt` provides the configuration of the software itself
 * User preferences reside as files in separate user-specific directories

These files are by default installed into the `/etc/imip-agent` directory
and they can be changed in that location once the system is installed.

=== System-Level and Tool Configuration ===

The `config.sh` file must indicate choices in the following areas:

 * The [[../DataStore|data store]] type to be employed

 * The [[../SystemUsers|system users and groups]] involved with running the
 software and storing data

Since the `tools/install.sh` script depends on this configuration, changes
must be made to the file in the `tools/config.sh` location before installation
can occur.

{{{#!table
'''Setting''' || '''Example Value''' || '''Description'''
==
`IMIP_AGENT_USER` || `imip-agent`
||<rowspan="2"> Indicates the system user and group identity that is used
.. to run the software and access resources, decided when choosing a
.. strategy for [[../SystemUsers|system users and groups]]
==
`IMIP_AGENT_GROUP` || `lmtp`
==
`INSTALL_DIR` || `/var/lib/imip-agent`
||<rowspan="3"> Installation locations for data, Web resources and
.. configuration respectively
==
`WEB_INSTALL_DIR` || `/var/www/imip-agent`
==
`CONFIG_DIR` || `/etc/imip-agent`
}}}

=== Software Configuration ===

Any changes to filesystem locations may need to be incorporated into the
`config.txt` file, which is found in the `imiptools/config.txt` location of
the distribution. There is, however, no urgency in changing this file
before installation, and it can be edited in its installed location to
achieve the same effects.

The agent system configuration dictates how the software behaves, and the
`config.txt` file provides system-level settings (filesystem locations
and file permissions), service-level settings (e-mail address and Web site
choices), and default policies for users of the software.

=== User Preferences ===

Although the software configuration in `config.txt` provides default policies,
users can choose to override these defaults by editing their own preferences.
The most convenient way of doing this is to use the profile page provided by
the [[../CalendarManager|management interface]].

The settings for the different policies are described in the
[[../Preferences|preferences guide]].