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.

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 (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_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" 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:

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:

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.

Setting Example Value Description
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
IMIP_AGENT_GROUP lmtp
INSTALL_DIR /var/lib/imip-agent 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.

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.

Setting Example Value Description
MESSAGE_SENDER "calendar@example.com" 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

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 management interface.

The settings for the different policies are described in the preferences guide.


2018-06-02 23:30