diff --git a/source/index.rst b/source/index.rst index 833d4602..43470ca5 100644 --- a/source/index.rst +++ b/source/index.rst @@ -1,132 +1,136 @@ ===================== About Kolab Groupware ===================== Kolab Groupware is a Free Software groupware solution for Email communications, Events & Appointments, Contacts and more. It supports *mixed client environments* because of an *open storage format*, and the use of well-established, standard protocols such as IMAP and SMTP. For the full Kolab experience, you need a Kolab server, and one or more Kolab clients. What makes Kolab a unique groupware solution is its focus on security, scalability, data ownership (aka privacy) and the use of proven components and protocols. +Read more in our :ref:`introduction`. + .. rubric:: Planning Your Kolab Groupware Deployment .. toctree:: :maxdepth: 1 deployment-guide/index .. rubric:: Administrator Guides .. toctree:: :maxdepth: 1 installation-guide/index configuration-guide/index upgrade-guide/index administrator-guide/index .. rubric:: End-User Guides .. toctree:: :maxdepth: 1 webmail-user-guide/index client-configuration/index .. rubric:: Developer Guides .. toctree:: :maxdepth: 1 architecture-and-design/index developer-guide/index .. These are still here, but may be ignored for the docs' index. .. rubric:: Extras .. toctree:: :maxdepth: 1 docker/index puppet/index .. rubric:: HOWTOs The following HOWTOs have been contributed by fellow community members .. toctree:: :maxdepth: 1 howtos/multi-domain howtos/secure-kolab-server howtos/nginx-webserver howtos/build-kolab-from-source howtos/deploy-kolab-with-glusterfs-for-imap howtos/use-seafile-with-chwala howtos/kolab-webadmin-create-user .. The following HOWTOs are empty :/ howtos/nginx-imap-proxy howtos/deploy-high-available-and-load-balanced-ldap .. .. rubric:: Articles .. toctree:: :maxdepth: 1 :glob: articles/*/index .. The following are placeholders for documentation that is not to be included in the toctree, for it is otherwise referred to. .. toctree:: :glob: :hidden: architecture-and-design/ldap-intro architecture-and-design/bonnie-api architecture-and-design/bonnie-extra architecture-and-design/bonnie-orm articles/*/index articles/what-goes-in-to-a-document-root-and-what-does-not-belong-there/example-drupal-configuration authors client-configuration/settings developer-guide/packaging/obs-for-kolab/why-private-obs developer-guide/packaging/obs-for-kolab/packages/* developer-guide/packaging/obs-for-kolab/product/* - installation-guide/centos - installation-guide/rhel puppet/module/kolab/why-multiple-parameterized-classes webmail-user-guide/roundcubemail/en_US/index .. The following are placeholders for documentation that is yet to be included. .. toctree:: :hidden: architecture-and-design/bonnie architecture-and-design/calendaring architecture-and-design/environment-management desktop-clients/index howtos/dnssec howtos/freeipa-integration howtos/kerberos-authentication howtos/logstash-and-elasticsearch howtos/split-domains-multiple-groupware-deployments + installation-guide/first-login + installation-guide/kolab-3.3/index + installation-guide/kolab-3.4/index + installation-guide/setup-kolab introduction/index kolab-enterprise-13 kolab-enterprise-14 reference-implementation-architecture/index diff --git a/source/introduction/do-it-yourself-or-kolab.rst b/source/introduction/do-it-yourself-or-kolab.rst new file mode 100644 index 00000000..c56f4ba1 --- /dev/null +++ b/source/introduction/do-it-yourself-or-kolab.rst @@ -0,0 +1,89 @@ +.. _introduction-do-it-yourself-or-kolab: + +========================= +Do It Yourself, or Kolab? +========================= + +.. NOTE:: + + While we put an emphasis on the benefits of using Kolab Groupware + rather than you DIY groupware server, please do not feel + discouraged to pursue a DIY groupware server on your own -- we + believe that once you have, you may appreciate Kolab Groupware more, + rather than less. + +Should you choose to DIY a groupware server, you would typically start +with choosing a series of components that are available to you that +could be made to provide you with the set of features you desire. A +suggested set of such components might include: + +* A Mail Transfer Agent (MTA) such as **Postfix**, + +* An IMAP server such as **Cyrus IMAP**, + +* A web client such as **Roundcube**, + +* An LDAP server such as **389 Directory Server**. + +You would be able to hook up Postfix to Cyrus IMAP, hook up Postfix to +LDAP for recipient email address verification and authentication, hook +up Cyrus IMAP to LDAP for authentication and authorization, and hook up +the web client to Postfix, Cyrus IMAP and LDAP, providing you with a +basic infrastructure to exchange emails. + +Even just the initial setup can appear quite daunting -- something as +seemingly straight-forward as SMTP turns out to become quite complex +when you keep security and integrity in mind, but you want to enable +your users to send using an envelope sender address that is not their +authorization ID (i.e. their login username). + +Additional configuration could be applied to provide the web client +with a Global Address Book for auto-completion and distribution groups, +and probably also a few other features of the software. However it +could not be set up to include additional user identities, alias sender +email addresses, delegation nor managed shared folders. + +This may leave some items to be desired, but perhaps not all of them are +equally important to you personally; + +In the category of **automation**: + +* The initial setup may lead you to read many, very many HOWTOs and + more (or less) detailed documentation spread across the web, to see + what components to use/prefer/choose for the set of functionality + you desire, and how to configure the individual components in such + a way they function together. + +* After you create a user in LDAP, you may still need to create a + mailbox. + +* When you change a user's name or email address, those changes may + still need to be reflected elsewhere, such as access control lists + on IMAP folders, the user's INBOX path, the user's web client + profile name, etc. + +* You may have to update your configuration each time you add a new + domain. + +* When you're done, you may still only have a mail server and not a + groupware server. + +As such, a DIY groupware server might benefit from a little **glue** to +tie together the various components -- Kolab Groupware is that glue. + +In the category of **features**: + +* You may wish to be able to provide calendaring, address books, task + lists, and other such nifty groupware features to your users, + +* You may then also wish to be able to provide this content to + various desktop clients, that may speak IMAP, CardDAV and/or + CalDAV, + +* You may desire mobile device synchronization, such as your phone, + phablet or tablet. + +As such, to wrangle a full-featured groupware server yourself could +become cumbersome. An enjoyable learning experience perhaps, but +cumbersome nonetheless. Kolab Groupware provides these features, among +many others, out of the box. diff --git a/source/introduction/index.rst b/source/introduction/index.rst new file mode 100644 index 00000000..c6c19835 --- /dev/null +++ b/source/introduction/index.rst @@ -0,0 +1,21 @@ +.. _introduction: + +=============================== +Introduction to Kolab Groupware +=============================== + +Welcome to Kolab Groupware! + +The community appreciates your interest in Kolab, since the Kolab +community in turn has an interest in you -- but not in a stalker-like +way of course. + +I expect you are reading this article to learn about Kolab Groupware, +so please dive right in. + +.. toctree:: + :maxdepth: 1 + + what-is-kolab-groupware + do-it-yourself-or-kolab + what-is-the-recommended-distribution diff --git a/source/introduction/what-is-kolab-groupware.rst b/source/introduction/what-is-kolab-groupware.rst new file mode 100644 index 00000000..34c26dd6 --- /dev/null +++ b/source/introduction/what-is-kolab-groupware.rst @@ -0,0 +1,32 @@ +======================== +What is Kolab Groupware? +======================== + +Kolab Groupware is a secure, scalable, reliable, flexible, full-featured +collaboration suite. + +Kolab is entirely **Free and Open Source Software** (a.k.a. FOSS), and +uses **Open Standards**. We'll get to why this is important to us, and +hope that it is important to you thereafter. + +The Kolab Groupware community has been around for well over a decade, +and is a vibrant mixture of people from all breeds of life -- including +technical, artistic, political, medical, legal, logistical, military and +what-have-you. + +Kolab Groupware is the glue between the various pieces of software you +would choose to Do-It-Yourself (*DIY*) your own mail server, and adds +to that collaboration capabilities, mobile phone synchronization, +native integration in to desktop operating system platforms such as Mac +OS X, Linux and Windows -- in a ready-to-go, integrated offering with a +uniquely uniform look and feel. + +This is built from the ground up with **security**, **privacy** and +**user control** in mind, reusing the best of Free Software where +already available. As such, Kolab Groupware is unique in that it +is both secure and completely Free Software. Our community motto is +therefore to *"Do it right or not at all"*. + +Please feel free to continue with +:ref:`introduction-do-it-yourself-or-kolab`, dive right in to it with +the :ref:`installation-guide`, or go back to the :ref:`introduction`. diff --git a/source/introduction/what-is-the-recommended-distribution.rst b/source/introduction/what-is-the-recommended-distribution.rst new file mode 100644 index 00000000..cc66fffe --- /dev/null +++ b/source/introduction/what-is-the-recommended-distribution.rst @@ -0,0 +1,97 @@ +===================================== +What is the Recommended Distribution? +===================================== + +When people first come around looking for Kolab, and they get in touch, +we often receive questions along the lines of; + + *What distribution can you recommend for Kolab?* + +Our answer is always a sound; + + *Enterprise Linux 7.* + +In our book, this means CentOS or Red Hat Enterprise Linux. + +This may sound like a very narrow recommendation, and Kolab has been, +currently is, will soon, and will continue to be available to wide +variety of future versions of many more (GNU/)Linux distributions. + +Why it is the Recommended Distribution +====================================== + +There are several reasons for an upstream project like Kolab to choose a +reference implementation -- these are, to a larger or a lesser extent; + +* It functions as the minimum bar for the product to work on, before + development is considered principally feature-complete [#]_, + +* It allows continued focus on the existing facilities of the chosen + reference implementation, allowing for quick repetition of tasks + such as deployment (for development, quality assurance, etc.), + +* A reference implementation increases contributors' familiarity with + the platform, which includes the versions of Python, PHP, MySQL, + GCC, cmake, Qt, Postfix, Cyrus IMAP, OpenSSL, 389 Directory Server, + httpd, and the many other languages, build requirements and + components included with a Kolab Groupware deployment and its + development, + +* A common default implementation allows contributors to ultimately + work (together) yet a little quicker, since all of them are looking + at very much the same thing, at the same file paths, with the same + default configuration, and all of them have gathered experience + over time, and all of them can help one another, + +* Packaging and release management can focus on achieving one thing + first, before scarse time is spent on all things at the same time, + +* Documentation can be unified around a single primary platform, with + all others becoming exceptions to the rule. This includes but is not + limited to; + + #. names of software packages, + #. paths to configuration files, + #. payload locations such as an IMAP spool or MariaDB database. + +That said, this is naturally subject to lacking automated deployment and +quality assurance -- which could then be extended and repeated on other +platforms, or continuous integration with functional testing, but still +a build error on a platform that is not the reference implementation +could be considered a *bug* rather than a *release blocker*. + +As to why Enterprise Linux specifically is the distribution of choice; + +* The majority of Kolab Systems employees is, and has been for a long + time, intimately familiar with the Fedora Project in participatory + fashion, and at leadership levels. + +* The majority of system engineers employed by Kolab Systems is RHCE + certified. + +* The support cycle for the distribution is a predictable decade. + +* With running Fedora on our workstations, we become intimately + familiar with the next generation of Enterprise Linux even before + its vendor, Red Hat, Inc., is aware of the scope of delivery of + their next generation of Enterprise Linux. + +* There's both a freely accessible version of it (CentOS), and a + proper version under support (Red Hat Enterprise Linux). Both the + community at large, businesses and individuals included, as well as + organizations meaning serious business have a choice without the + two distributions causing head-ache. + +* The platform has a very predictable life-cycle. + +* The subscription model does not lock you in with a particular + version. + +* The platform has a very predictable release cycle. + +.. rubric:: Footnotes + +.. [#] + + For a development cycle to be *feature-complete* is not to say the + product is *bug-free* or *portable*.