[Kolab-devel] Outline of a setup procedure

Jeroen van Meeuwen (Kolab Systems) vanmeeuwen at kolabsys.com
Wed Apr 13 20:25:56 CEST 2011


Hello all,

I have the following high-level outline in mind, for a (future) setup 
procedure:

From a list of Kolab components, choose the components to install on this 
machine:

1) imap
2) ldap
3) webclient
4) mta
5) webadmin

In case of 1), imap;

  - install cyrus-imapd and the kolab daemon using the native package manager,
  - if not also 2), ldap has been selected, and if no kolab.conf exists 
already, ask for the ldap uri and read-write bind credentials to bootstrap the 
installation with some configuration.

Further questions could include whether or not this Cyrus IMAP server is part 
of a murder, what type of murder that would be exactly, and in case of a 
discrete murder, whether the system's role is to be a frontend, backend or 
master update server.

In case of 2), ldap and no kolab.conf exists already;

Question: Ask whether a new ldap environment must be set up (by Kolab) or 
whether an existing ldap environment should be used.

In case of a new environment, install openldap-servers using the native 
package manager, bootstrap OpenLDAP, done.

In case of an existing environment, prompt for:

  - whether or not the schema extensions have been loaded,
  - the uri,
  - the uri for write operations (default to uri specified above),
  - the read-write bind dn,
  - the read-write bind password (for once, this should not be echoed back to 
the user),

  (attempt to bind)

  - the read-only bind dn for read-only actions,
  - the read-only bind password (also, do not echo this back to the user),

  (attempt to bind with these too)

  - an existing calendaring user, if any (we'll call this one resource 
scheduling service account or something),
  - if no existing calendaring user is supplied, the dn for a new calendaring 
user, along with the password.

Obviously, write out the configuration.

In case of 3), webserver;

  - present the available options, if more then one, to allow the user to 
choose between different interfaces (e.g. Horde / RoundCube),
  - install whatever the user said he/she wanted using the native package 
manager,
  - if not also 2), ldap, has been selected, and if no kolab.conf exists 
already, ask for sufficient connection details to bootstrap the installation 
with some configuration.

In case of 4), mta;

  - remove exim4 (Debian), install postfix and remove sendmail (Fedora), using 
the native package manager,
  - if not also 2), ldap, has been selected, and if no kolab.conf exists 
already, ask for sufficient connection details to bootstrap the installation 
with some configuration.

Additional questions could include whether this mta is supposed to do content-
filtering, and whether additional sources should be queried for recipient 
address checking.

In case of 5), webadmin;

  - install kolab-webadmin using the native packager manager,
  - if not also 2), ldap, has been selected, and if no kolab.conf exists 
already, ask for sufficient connection details to bootstrap the installation 
with some configuration.

I'll start work on implementing this tonight, in Python in fact, so your early 
feedback is much appreciated!

Kind regards,

Jeroen van Meeuwen

-- 
Senior Engineer, Kolab Systems AG

e: vanmeeuwen at kolabsys.com
t: +44 144 340 9500
w: http://www.kolabsys.com

pgp: 9342 BF08
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kolab.org/pipermail/devel/attachments/20110413/fb7e3493/attachment.html>


More information about the devel mailing list