paul@955 | 1 | = Configuration = |
paul@955 | 2 | |
paul@1112 | 3 | When deploying imip-agent, configuration of the way it integrates with |
paul@1112 | 4 | other software components must be performed. Once this has been done, |
paul@1112 | 5 | certain details are then carried forward into the configuration of imip-agent |
paul@1112 | 6 | itself. |
paul@1112 | 7 | |
paul@1112 | 8 | == Configuring the Integration == |
paul@1112 | 9 | |
paul@1112 | 10 | The `conf` directory provides a selection of template configuration files |
paul@1112 | 11 | for different software components that may integrate with imip-agent. To |
paul@1112 | 12 | simplify the process of customising these files, a helper tool is provided |
paul@1112 | 13 | to apply configuration choices and to generate configuration files that may |
paul@1112 | 14 | then be deployed within the configuration of these other components. |
paul@1112 | 15 | |
paul@1112 | 16 | Taking an example set of choices, the tool is run as follows: |
paul@1112 | 17 | |
paul@1112 | 18 | {{{ |
paul@1112 | 19 | conf/tools/configure.sh conf/configure.example outconf |
paul@1112 | 20 | }}} |
paul@1112 | 21 | |
paul@1112 | 22 | This will generate parameterised versions of several files within `conf` |
paul@1112 | 23 | and place them in a similar directory structure within the newly-created |
paul@1112 | 24 | directory `outconf`, using the settings found in `conf/configure.example`. |
paul@1112 | 25 | |
paul@1112 | 26 | It is recommended that the example definitions file be copied and edited, |
paul@1112 | 27 | and that each definition or choice in the new definitions file be adjusted |
paul@1112 | 28 | according to the specific needs of the deployment. A summary of the choices |
paul@1112 | 29 | are given below. |
paul@1112 | 30 | |
paul@1112 | 31 | {{{#!table |
paul@1112 | 32 | '''Choice''' || '''Example Value''' || '''Description''' |
paul@1112 | 33 | == |
paul@1112 | 34 | `MAIL_DOMAIN` || `example.com` |
paul@1112 | 35 | || The mail domain for which imip-agent will be handling messages |
paul@1112 | 36 | == |
paul@1112 | 37 | `MAILBOX_DELIVERY` || `LocalSMTP` |
paul@1112 | 38 | || How messages are delivered to mailboxes, either using `LocalSMTP` |
paul@1112 | 39 | .. ([[../MailIntegration/LocalSMTP|local SMTP]]) or `LMTP` |
paul@1112 | 40 | .. ([[../MailIntegration/LMTP|LMTP]]) mechanisms |
paul@1112 | 41 | == |
paul@1112 | 42 | `MAILBOX_DELIVERY_LMTP_GROUP` || `no` |
paul@1112 | 43 | || Whether a special lmtp group will be used even with local SMTP, |
paul@1112 | 44 | .. as discussed in the [[../SystemUsers|system users and groups]] |
paul@1112 | 45 | .. documentation |
paul@1112 | 46 | == |
paul@1112 | 47 | `LMTP_SOCKET` || `/var/run/cyrus/socket/lmtp` |
paul@1112 | 48 | || The location of the LMTP socket used to communicate with a mail |
paul@1112 | 49 | .. storage solution (if LMTP is employed) |
paul@1112 | 50 | == |
paul@1112 | 51 | `LOCAL_SYSTEM_USERS` || `no` |
paul@1112 | 52 | || Whether local system users are supported, as described in the |
paul@1112 | 53 | .. [[../MailIntegration/LocalSMTP|local SMTP]] documentation. |
paul@1112 | 54 | == |
paul@1112 | 55 | `USER_DATABASE` || `Simple` |
paul@1112 | 56 | || How the database of calendar users is managed, either using `Simple` |
paul@1112 | 57 | .. ([[../MailIntegration/Simple|simple]]) or `LDAP` |
paul@1112 | 58 | .. ([[../MailIntegration/LDAP|LDAP]]) mechanisms |
paul@1112 | 59 | == |
paul@1112 | 60 | <colspan="3"> ''LDAP-specific choices (for when calendar users are managed |
paul@1112 | 61 | using [[../MailIntegration/LDAP|LDAP]])'' |
paul@1112 | 62 | == |
paul@1112 | 63 | `LDAP_SCHEME` || `ldap` |
paul@1112 | 64 | || LDAP access mechanism, either using `ldap` or `ldaps` |
paul@1112 | 65 | == |
paul@1112 | 66 | `LDAP_HOST` || `localhost` |
paul@1112 | 67 | ||<rowspan="2"> LDAP server connection details, with the port being omitted |
paul@1112 | 68 | .. unless a non-standard port has been chosen |
paul@1112 | 69 | == |
paul@1112 | 70 | `LDAP_PORT` || |
paul@1112 | 71 | == |
paul@1112 | 72 | `LDAP_BASE_DN` || `"dc=example,dc=com"` |
paul@1112 | 73 | || Search criteria used in the selection of calendar users |
paul@1112 | 74 | == |
paul@1112 | 75 | `LDAP_SERVICE_BIND_DN` || `"uid=imip-agent,ou=Special Users,dc=example,dc=com"` |
paul@1112 | 76 | ||<rowspan="2"> Credentials for the identity employed by imip-agent to connect |
paul@1112 | 77 | .. to the LDAP server |
paul@1112 | 78 | == |
paul@1112 | 79 | `LDAP_SERVICE_PASSWORD` || |
paul@1112 | 80 | }}} |
paul@1112 | 81 | |
paul@1112 | 82 | The eventual destination of each of the customised files obviously depends on |
paul@1112 | 83 | the nature of the component such files will be configuring. |
paul@1112 | 84 | |
paul@1112 | 85 | == Configuring the Software Itself == |
paul@1112 | 86 | |
paul@961 | 87 | There are three levels of configuration in imip-agent: |
paul@955 | 88 | |
paul@955 | 89 | * `config.sh` provides system-level and tool configuration |
paul@1214 | 90 | * `config.txt` provides the configuration of the software itself |
paul@961 | 91 | * User preferences reside as files in separate user-specific directories |
paul@955 | 92 | |
paul@955 | 93 | These files are by default installed into the `/etc/imip-agent` directory |
paul@955 | 94 | and they can be changed in that location once the system is installed. |
paul@955 | 95 | |
paul@1112 | 96 | === System-Level and Tool Configuration === |
paul@999 | 97 | |
paul@1093 | 98 | The `config.sh` file must indicate choices in the following areas: |
paul@1093 | 99 | |
paul@1093 | 100 | * The [[../DataStore|data store]] type to be employed |
paul@1093 | 101 | |
paul@1093 | 102 | * The [[../SystemUsers|system users and groups]] involved with running the |
paul@1093 | 103 | software and storing data |
paul@1093 | 104 | |
paul@1093 | 105 | Since the `tools/install.sh` script depends on this configuration, changes |
paul@1093 | 106 | must be made to the file in the `tools/config.sh` location before installation |
paul@955 | 107 | can occur. |
paul@955 | 108 | |
paul@1112 | 109 | {{{#!table |
paul@1112 | 110 | '''Setting''' || '''Example Value''' || '''Description''' |
paul@1112 | 111 | == |
paul@1112 | 112 | `IMIP_AGENT_USER` || `imip-agent` |
paul@1112 | 113 | ||<rowspan="2"> Indicates the system user and group identity that is used |
paul@1112 | 114 | .. to run the software and access resources, decided when choosing a |
paul@1112 | 115 | .. strategy for [[../SystemUsers|system users and groups]] |
paul@1112 | 116 | == |
paul@1112 | 117 | `IMIP_AGENT_GROUP` || `lmtp` |
paul@1112 | 118 | == |
paul@1112 | 119 | `INSTALL_DIR` || `/var/lib/imip-agent` |
paul@1112 | 120 | ||<rowspan="3"> Installation locations for data, Web resources and |
paul@1112 | 121 | .. configuration respectively |
paul@1112 | 122 | == |
paul@1112 | 123 | `WEB_INSTALL_DIR` || `/var/www/imip-agent` |
paul@1112 | 124 | == |
paul@1112 | 125 | `CONFIG_DIR` || `/etc/imip-agent` |
paul@1112 | 126 | }}} |
paul@1112 | 127 | |
paul@1112 | 128 | === Software Configuration === |
paul@955 | 129 | |
paul@955 | 130 | Any changes to filesystem locations may need to be incorporated into the |
paul@1214 | 131 | `config.txt` file, which is found in the `imiptools/config.txt` location of |
paul@955 | 132 | the distribution. There is, however, no urgency in changing this file |
paul@955 | 133 | before installation, and it can be edited in its installed location to |
paul@955 | 134 | achieve the same effects. |
paul@955 | 135 | |
paul@955 | 136 | The agent system configuration dictates how the software behaves, and the |
paul@1214 | 137 | `config.txt` file provides system-level settings (filesystem locations |
paul@955 | 138 | and file permissions), service-level settings (e-mail address and Web site |
paul@955 | 139 | choices), and default policies for users of the software. |
paul@961 | 140 | |
paul@1112 | 141 | === User Preferences === |
paul@961 | 142 | |
paul@1214 | 143 | Although the software configuration in `config.txt` provides default policies, |
paul@961 | 144 | users can choose to override these defaults by editing their own preferences. |
paul@961 | 145 | The most convenient way of doing this is to use the profile page provided by |
paul@961 | 146 | the [[../CalendarManager|management interface]]. |
paul@961 | 147 | |
paul@961 | 148 | The settings for the different policies are described in the |
paul@961 | 149 | [[../Preferences|preferences guide]]. |