imip-agent

Annotated docs/wiki/GettingStarted

1122:2003934ef901
2016-04-19 Paul Boddie Support replies from attendees that refer to specific recurrences before the organiser does so, thus allowing attendees to selectively accept and decline recurrences. Allowed the test handler to refer to recurrences that have not been explicitly separated from their parent objects. Added a docstring for the Object initialiser as a reminder of how to use it. freebusy-collections
paul@955 1
= Getting Started =
paul@955 2
paul@955 3
To get imip-agent running on your own system you will need the following:
paul@955 4
paul@955 5
 * The ability to install software and to configure the system
paul@955 6
 * A working mail configuration
paul@955 7
paul@955 8
It is possible to [[../Testing|test the agent programs]] without these
paul@955 9
abilities, but any difficulties in getting the software to work will be
paul@955 10
compounded by any problem or deficiency in either of these areas.
paul@955 11
paul@1006 12
<<TableOfContents(2,2)>>
paul@1006 13
paul@1006 14
== Obtaining the Software ==
paul@1006 15
paul@1006 16
To get started, the imip-agent software must be [[../Downloads|downloaded]]
paul@1006 17
and any [[../Prerequisites|prerequisites]] installed, the latter being
paul@1006 18
software that imip-agent needs to work with. The choice of prerequisites
paul@1006 19
will influence some of the activities described below.
paul@1006 20
paul@955 21
== Configuring System Users ==
paul@955 22
paul@955 23
The [[../SystemUsers|system users guide]] indicates the requirements for
paul@955 24
system user and group configuration.
paul@955 25
paul@955 26
If you are comfortable configuring your mail system, you may decide to
paul@955 27
choose the [[../MailIntegration/LocalSMTP|local SMTP delivery]] approach.
paul@955 28
paul@955 29
If you already use mail storage solutions that employ LMTP, you may decide
paul@955 30
to choose the [[../MailIntegration/LMTP|LMTP delivery]] approach.
paul@955 31
paul@1112 32
Once you have decided which approach is the most preferable, you will be
paul@1112 33
able to use this choice to influence the configuration process mentioned
paul@1112 34
below.
paul@1112 35
paul@955 36
== Installing the Software ==
paul@955 37
paul@955 38
Ideally, an operating system distribution package should be used to
paul@955 39
install the software. As a result, the software should already be suitably
paul@955 40
integrated and configured and guidance will be available to get everything
paul@955 41
working.
paul@955 42
paul@955 43
 1. In the absence of a suitable system package, the installation locations
paul@955 44
 and system user details must first be configured, as described above.
paul@955 45
paul@955 46
 1. Then, the `tools/install.sh` script should install the software in
paul@955 47
 appropriate locations. You may need to be `root` or use `sudo` to
paul@955 48
 successfully use this script.
paul@955 49
paul@961 50
{{{
paul@961 51
tools/install.sh
paul@961 52
}}}
paul@961 53
paul@955 54
See the [[../Prerequisites|prerequisites]] for other software that will be
paul@955 55
required for the software to function. 
paul@955 56
paul@955 57
== Initialising the Software ==
paul@955 58
paul@955 59
Once a suitable system user has been chosen, stored and published data is then
paul@955 60
initialised using the `tools/init.sh` script. The script employs the setgid
paul@955 61
flag on the directories initialised for stored and published data so that new
paul@955 62
files and directories have the appropriate group associated with them.
paul@955 63
paul@955 64
It should be possible to omit all arguments to the `init.sh` script, but it is
paul@955 65
also worth reading the help message:
paul@955 66
paul@955 67
{{{
paul@955 68
tools/init.sh --help
paul@955 69
}}}
paul@955 70
paul@1006 71
Fixing ownership can be done using the `tools/fix.sh` script, as described in
paul@1006 72
the [[../Administration|administration guide]] in case some form of modification
paul@1006 73
has altered the ownership or membership of the created files and directories.
paul@955 74
paul@1006 75
== Integrating with Other Software ==
paul@955 76
paul@1006 77
The `conf` directory in the imip-agent source code distribution contains
paul@1006 78
subdirectories for different systems:
paul@955 79
paul@961 80
{{{#!table
paul@961 81
'''Directory''' || '''Description''' || '''Guide'''
paul@961 82
==
paul@961 83
`apache`
paul@961 84
|| Apache 2 site configuration for publishing resources
paul@961 85
|| [[../WebServerIntegration|Web Server Integration]]
paul@961 86
==
paul@961 87
`cron`
paul@961 88
|| Cron command scheduling for free/busy updates
paul@961 89
|| [[../CronIntegration|Cron Task Scheduler Integration]]
paul@961 90
==
paul@961 91
`exim`
paul@961 92
|| Exim 4 routing and transport configuration
paul@988 93
|| [[../MailIntegration|E-Mail Integration]] and
paul@988 94
.. [[../MailboxIntegration|Mailbox Integration]]
paul@961 95
==
paul@961 96
`ldap`
paul@961 97
|| Some LDAP-related resources
paul@961 98
||
paul@961 99
==
paul@961 100
`postfix`
paul@961 101
|| Postfix routing and transport configuration
paul@988 102
|| [[../MailIntegration|E-Mail Integration]] and
paul@988 103
.. [[../MailboxIntegration|Mailbox Integration]]
paul@1089 104
==
paul@1089 105
`postgresql`
paul@1089 106
|| PostgreSQL configuration
paul@1089 107
|| [[../DatabaseStore|Database Store]]
paul@961 108
}}}
paul@955 109
paul@1112 110
In addition, a `tools` directory provides a configuration helper tool
paul@1112 111
that can be used to quickly customise the above resources and produce
paul@1112 112
files that, after review, may be deployed.
paul@1112 113
paul@1112 114
{{{
paul@1112 115
conf/tools/configure.sh --help
paul@1112 116
}}}
paul@1112 117
paul@1112 118
Use of this tool is covered in the [[../Configuration|configuration guide]].
paul@1112 119
paul@961 120
== Configuring the Software ==
paul@955 121
paul@961 122
The behaviour of the imip-agent software itself can be configured using
paul@961 123
mechanisms described in the [[../Configuration|configuration guide]].
paul@988 124
paul@1006 125
== Administering the Software ==
paul@1006 126
paul@1006 127
With the basic configuration performed, all that remains is to perform
paul@1006 128
any necessary [[../Administration|administration tasks]] to set the
paul@1006 129
software up for certain kinds of users or participants.
paul@1006 130
paul@988 131
== Using the Software ==
paul@988 132
paul@1006 133
With configuration and administration performed, it should be possible
paul@1006 134
to get started using the software. See the [[../Usage|usage guide]]
paul@1006 135
for details.