1 = Web Server Integration = 2 3 Although imip-agent is mostly concerned with e-mail messaging, it can 4 integrate with a Web server for the following purposes: 5 6 * To [[../FreeBusyPublishing|publish free/busy information]] for calendar users 7 * To provide a [[../CalendarManager|management interface]] for calendar users 8 9 Currently, imip-agent provides configuration files for Apache, but other Web 10 servers may also be supported. 11 12 == Authentication and Access Control in Apache == 13 14 Apache supports a range of mechanisms for protecting resources and 15 authenticating users. Most usefully for imip-agent given the 16 [[../MailIntegration|e-mail integration]] requirements, modules supporting 17 [[http://httpd.apache.org/docs/2.4/mod/mod_authnz_ldap.html|LDAP]] and 18 [[http://httpd.apache.org/docs/2.4/mod/mod_auth_basic.html|text-based lists]] 19 of users are available for such purposes. 20 21 == Configuring Web Servers for Free/Busy Publishing == 22 23 Each user may request the [[../FreeBusyPublishing|publishing]] of their 24 free/busy information by configuring certain settings. The 25 `conf/apache/imip-agent.conf` file provides a configuration file for 26 deployment with the Apache Web server software that exposes a directory for 27 Web publishing containing the published free/busy information. 28 29 On Debian, to enable the serving of free/busy data, copy the configuration 30 file to the Apache configuration and enable it as follows 31 32 {{{ 33 cp conf/apache/imip-agent.conf /etc/apache2/sites-available/ 34 a2ensite imip-agent 35 }}} 36 37 Access to free/busy information may not be moderated, but Web server 38 directives can be introduced to impose access controls. Mail programs that 39 wish to consult the free/busy information may have problems in dealing with 40 authentication mechanisms, however, and it may be regarded as acceptable in 41 certain environments to expose such information publicly or with 42 network-specific access constraints. 43 44 == Configuring Web Servers for the Calendar Management Interface == 45 46 A [[../CalendarManager|calendar management interface]] is provided to allow 47 users to view and interact with their calendars through the Web. The 48 `conf/apache/imip-manager.conf` file provides a configuration file for 49 deployment with the Apache Web server software that enables this interface. 50 51 On Debian, to enable the management interface, copy the configuration file to 52 the Apache configuration and enable it as follows: 53 54 {{{ 55 cp conf/apache/imip-manager.conf /etc/apache2/sites-available/ 56 a2ensite imip-manager 57 }}} 58 59 The management interface is deployed as a CGI program, meaning that a suitable 60 module must be enabled in the Apache configuration. On Debian, this is done as 61 follows: 62 63 {{{ 64 a2enmod cgi 65 }}} 66 67 Since such access to calendars should only be performed by identified 68 users, access controls are suggested in the configuration file. Modules 69 providing additional authentication support may need to be enabled. For 70 example, on Debian, the LDAP authentication/authorisation support is enabled 71 as follows: 72 73 {{{ 74 a2enmod authnz_ldap 75 }}}