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.
|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 (local SMTP) or LMTP (LMTP) mechanisms|
|MAILBOX_DELIVERY_LMTP_GROUP||no||Whether a special lmtp group will be used even with local SMTP, as discussed in the 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 local SMTP documentation.|
|USER_DATABASE||Simple||How the database of calendar users is managed, either using Simple (simple) or LDAP (LDAP) mechanisms|
|LDAP-specific choices (for when calendar users are managed using LDAP)|
|LDAP_SCHEME||ldap||LDAP access mechanism, either using ldap or ldaps|
|LDAP_HOST||localhost||LDAP server connection details, with the port being omitted unless a non-standard port has been chosen|
|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"||Credentials for the identity employed by imip-agent to connect to the LDAP server|
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
The config files are by default installed into the /etc/imip-agent directory and they can be changed in that location once the system is installed. User preferences can be configured directly in the filesystem or can be edited in the management interface by each user.
System-Level and Tool Configuration
The config.sh file must indicate choices in the following areas:
The data store type to be employed
The 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.
|IMIP_AGENT_USER||imip-agent||Indicates the system user and group identity that is used to run the software and access resources, decided when choosing a strategy for system users and groups|
|INSTALL_DIR||/var/lib/imip-agent||Installation locations for data, Web resources and configuration respectively|
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.
The syntax of config.txt is the same as Python, but only simple value assignments can be defined, along with comments. Strings must appear within quotes and thus numbers, boolean values and strings can be expressed. The following examples employ necessary quoting.
|MESSAGE_SENDER||"firstname.lastname@example.org"||The address from which messages sent by the agent originate|
|LOCAL_PREFIX||"local"||The prefix employed by the mail system to identify local recipients|
|OUTGOING_PREFIX||"people-outgoing"||The prefix employed by the mail system to identify local recipients being the senders of outgoing messages|
|STORE_TYPE||"file"||The store and journal type|
|STORE_DIR||"/var/lib/imip-agent/store"||The location of the stored calendar information, defined in a form appropriate to the selected STORE_TYPE|
|PUBLISH_DIR||"/var/www/imip-agent/static"||The location of published static free/busy information, which if given as None will cause any such publishing to be disabled|
|PREFERENCES_DIR||"/var/lib/imip-agent/preferences"||The location of user preferences information|
|JOURNAL_DIR||"/var/lib/imip-agent/journal"||The location of quota-related journal information|
|DEFAULT_PERMISSIONS||0660||The octal permission flags for files accessed by Web users and the agent programs|
|DEFAULT_DIR_PERMISSIONS||02770||The octal permission flags for directories, intended to preserve group ownership|
|LOCALE_DIR||"/usr/share/locale"||The location of message translations on the system|
|TRANS_DOMAIN||"imip-agent"||The name of the application used to find message translations|
|MANAGER_INTERFACE||True||Advertise the Web management interface in mails sent to calendar users|
|MANAGER_PATH||"/imip-manager"||The server-relative path at which the management interface is deployed in the Web server environment|
|MANAGER_URL||None||The full URL of the manager application excluding the above path, used to provide specific hostname details instead of those deduced from the environment (when set to None)|
|MANAGER_URL_SCHEME||"http://"||The protocol scheme used if constructing URLs|
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 management interface.
The settings for the different policies are described in the preferences guide.