OX HE Tutorial 100K: Difference between revisions

From Open-Xchange
No edit summary
No edit summary
Line 1: Line 1:
= Tutorial: High Available OX HE Deployment for up to 100.000 users =
= Tutorial: High Available OX HE Setup for up to 100.000 users =


'''This article describes what you need for a typical OX HE Setup for up to 100.000 Users, which is fully clustered and high available.'''
'''This article describes what you need for a typical OX HE Setup for up to 100.000 Users, which is fully clustered and high available.'''
Line 52: Line 52:
== Mandatory Steps ==
== Mandatory Steps ==


The following steps need to be done in every case to get OX up and running:
'''The following steps need to be done in every case to get OX up and running:'''


=== Initialize and configure MySQL database on both servers ===
=== Initialize and configure MySQL database on both servers ===
Line 59: Line 59:
If one machine fails, the other machine will take over all functionality.
If one machine fails, the other machine will take over all functionality.


LINK_TO_DOCU
LINK_TO_DOCUMENTATION


=== Install and configure OX on both servers ===
=== Install and configure OX on both servers ===
Line 67: Line 67:
The NFS server will be mounted and registered as filestore.
The NFS server will be mounted and registered as filestore.


LINK_TO_DOCU
LINK_TO_DOCUMENTATION
 
You also may should install and configure the OXtender for Business Mobility
 
LINK_TO_DOCUMENTATION




== Steps depending on your environment ==
== Steps depending on your environment ==


The following components need to be implemented in your environment.
'''The following components need to be implemented in your environment.'''




Line 79: Line 83:
A load balancer in front of the OX servers is optional, but recommended. (In small environments, DNS Round Robin may be sufficient).
A load balancer in front of the OX servers is optional, but recommended. (In small environments, DNS Round Robin may be sufficient).


If you do not have a load balancing solution already in place, we recommend to use [[http://www.keepalived.org/]] as reliable and cost effective solution.
If you do not have a load balancing solution already in place, we recommend to use [http://www.keepalived.org/ Keepalived] as reliable and cost effective solution.


Read more about [[Keepalived]]
Read more about configuring [[Keepalived | Keepalived for Open-Xchange]]




=== Connect Control Panel ===
=== Connect Control Panel ===


You need a Control Panel to create and edit users. OX is designed to integrate into every solution you may already have in place and into existing solutions, like the Parallels Control Panels
'''You need a Control Panel to create and edit users.'''
 
OX is designed to integrate into every solution you may already have in place and into existing solutions, like the Parallels Control Panels
 


==== Integrate your own Control Panel ====
==== Integrate your own Control Panel ====


If you want to integrate OX with your own control panel, it is recommended to use the SOAP provisioning Interface for that purpose.
If you already have an Control Panel in production, you should integrate OX with it. It is recommended to use the SOAP provisioning Interface for that purpose.


Read more about: {{DocLink|docpath=SOAP/admin/OX-Admin-SOAP.html|name=Provisioning using SOAP}}
Read more about: {{DocLink|docpath=SOAP/admin/OX-Admin-SOAP.html|name=Provisioning using SOAP}}
Line 97: Line 104:


Read more about: {{DocLink|docpath=OX6-Provisioning/|name=Open-Xchange CLT}}
Read more about: {{DocLink|docpath=OX6-Provisioning/|name=Open-Xchange CLT}}


==== Integrate with Parallels Automation (POA) ====
==== Integrate with Parallels Automation (POA) ====


If you want to use POA to manage your users, there is an APS package available to integrate OX into the POA system.
If you want to use Parallels Automation (POA) to manage your users, there is an [http://www.apsstandard.org/app/#search=open-xchange APS package] available to integrate OX into the POA system.


Read more in the: [[POAIntegrationGuide]]
Read more in the: [[POAIntegrationGuide]]


==== Integrate with Plesk Panel ====
==== Integrate with Plesk Panel ====
Line 113: Line 122:


=== Connect Email System ===
=== Connect Email System ===
Every email system providing IMAP and SMTP works as backend to OX. Best experiences are made with the widespread Linux based IMAP servers [http://dovecot.org/ Dovecot],  [http://www.cyrusimap.org/ Cyrus] or [http://www.courier-mta.org/imap/ Courier].
Other IMAP servers need to be tested thoroughly before going into production.
There are several possibilities to implement the Email system:
# You already have an email system available: Nothing needs to be done, it just needs to be configured
# You use Parallels Automation (POA): Nothing special needs to be done, everything you need is contained in the APS package
# You use Plesk Panel: Nothing special needs to be done, everything you need is contained in the OXtender for Plesk
# You want to setup a new Email system: It is recommended to use Dovecot, as this is very stable, fast, feature rich and easy to scale
==== Dovecot Setup ====
If you want to setup a new Email system, based on Dovecot, it is recommended to use NFS as storage backend and to install at least two Dovecot servers, accessing this storage. With that setup you have best scalability and high availability with a minimum of complexity and hardware.
WOHIN_VERLINKEN_WIR_HIER_AM_BESTEN






== Recommended Optional Next Steps ==
= Recommended Optional Next Steps =


You will find plenty of additional documentation for customization of OX.
You will find plenty of additional documentation for customization of OX in our knowledgebase [http://oxpedia.org]


When the main setup is completed, we recommend to start with the following articles to enhance your system and to become more attractive for your users.
When the main setup is completed, we recommend to start with the following articles to enhance your system and to become more attractive for your users.




=== Automated Frontend Tests ===
== Automated Frontend Tests ==


It is a good idea, to verify the functionality of your freshly set up and integrated system. Our QA department does that with tests, running automatically on the web frontend. We release this tests with every release and recommend you to use them to verify your environment with every update.
It is a good idea, to verify the functionality of your freshly set up and integrated system. Our QA department does that with tests, running automatically on the web frontend. We release this tests with every release and recommend you to use them to verify your environment with every update.
Line 129: Line 155:
Read more about [[Automated_GUI_Tests]]
Read more about [[Automated_GUI_Tests]]


=== Upsell Plugin ===


== Monitoring ==
It is recommended to implement at least a minimal monitoring solution to get an overview of the systems health. If you have a support contract with Open-Xchange, it is very helpfull, when support can access the monitoring graphs. There are example scripts for a basic monitoring with [[http://munin-monitoring.org/ Munin]] available.
Read more about installing and configuring [[OX_munin_scripts|Munin scripts for Open-Xchange]]
== Upsell Plugin / Webmail Replacement ==
If you want to use your OX based Webmail system to upsell premium functions like full groupware functionality or like push to mobile phones, it is strongly recommended to use the in-app sales process.
Read more about [[Upsell]]
== Mobile Autoconfiguration ==
If you have the OXtender for Business Mobility installed, it is recommended also to install the autoconfiguration plugin, to allow your users to configure their iPhones and Windows Mobile devices directly from within the OX webfrontend. All you need is to adapt the SMS interface to send autoprovisioning SMS.
Read more about WO_IST_DAS_DOKUMENTIERT


=== Mobile Autoconfiguration ===


== Automatic FailOver ==


=== Automatic FailOver ===
DA_BIN_ICH_BLANK  - Heartbeat??




=== Branding ===
== Branding ==


If you want OX to look more like your own Corporate Identity, including your logo, product name and maybe your colors, this can be easily achieved by changing the logos and stylesheets.
If you want OX to look more like your own Corporate Identity, including your logo, product name and maybe your colors, this can be easily achieved by changing the logos and stylesheets.

Revision as of 07:26, 26 January 2011

Tutorial: High Available OX HE Setup for up to 100.000 users

This article describes what you need for a typical OX HE Setup for up to 100.000 Users, which is fully clustered and high available.

It contains everything you need to:

  • Understand the design of the OX HE setup including additional services
  • Install the whole system based on the relevant articles
  • Find pointers to the next steps of integration


System Design

SaaS-100k-1.jpg

The system is designed, to provide maximum functionality and availability with a minimum of necessary hardware. If the services on one server fail, it is enough to take over the IP address to the other machine and service will stay up and running.

Core Components for OX HE

  • Two basic configured Open-Xchange HE servers (HW recommendation: 16GB RAM / 4 cores each)
  • MySQL installed directly on these server
  • NFS Server to store documents and files

Infrastructure Components not delivered by OX

  • An email system providing IMAP and SMTP
  • A control panel for creation and administration of users
  • A Load Balancer in front of the OX servers (optional, recommended)

Overview Installation Steps

To deploy the described OX setup, the following steps need to be done.

Mandatory Steps

  1. Initialize and configure MySQL database on both servers
  2. Install and configure OX on both servers

Steps depending on your environment

  1. Implement Load Balancer
  2. Connect Control Panel
  3. Connect Email System

Recommended Optional Next Steps

  1. Automated Frontend Tests
  2. Upsell Plugin
  3. Mobile Autoconfiguration
  4. Automatic FailOver
  5. Branding


Installation Steps - Instructions & Recommendations

Mandatory Steps

The following steps need to be done in every case to get OX up and running:

Initialize and configure MySQL database on both servers

MySQL will run on both servers. MySQL will be configured as Master-Master configuration to ensure data consistency on both servers. If one machine fails, the other machine will take over all functionality.

LINK_TO_DOCUMENTATION

Install and configure OX on both servers

OX will be installed on both servers. It will be configured to write to the first MySQL database and to read from the second MySQL database. This will distribute the load during normal operation as smooth as possible.

The NFS server will be mounted and registered as filestore.

LINK_TO_DOCUMENTATION

You also may should install and configure the OXtender for Business Mobility

LINK_TO_DOCUMENTATION


Steps depending on your environment

The following components need to be implemented in your environment.


Implement Load Balancer

A load balancer in front of the OX servers is optional, but recommended. (In small environments, DNS Round Robin may be sufficient).

If you do not have a load balancing solution already in place, we recommend to use Keepalived as reliable and cost effective solution.

Read more about configuring Keepalived for Open-Xchange


Connect Control Panel

You need a Control Panel to create and edit users.

OX is designed to integrate into every solution you may already have in place and into existing solutions, like the Parallels Control Panels


Integrate your own Control Panel

If you already have an Control Panel in production, you should integrate OX with it. It is recommended to use the SOAP provisioning Interface for that purpose.

Read more about: Provisioning using SOAP

A good start to test and to understand the necessary commands are the Command Line Tools. They have exactly the same calls like the SOAP API.

Read more about: Open-Xchange CLT


Integrate with Parallels Automation (POA)

If you want to use Parallels Automation (POA) to manage your users, there is an APS package available to integrate OX into the POA system.

Read more in the: POAIntegrationGuide


Integrate with Plesk Panel

If you want to use Plesk Panel to manage your users, there is an OXtender available to integrate OX into the Plesk Panel.

Read more about the: Plesk_Oxtender


Connect Email System

Every email system providing IMAP and SMTP works as backend to OX. Best experiences are made with the widespread Linux based IMAP servers Dovecot, Cyrus or Courier.

Other IMAP servers need to be tested thoroughly before going into production.

There are several possibilities to implement the Email system:

  1. You already have an email system available: Nothing needs to be done, it just needs to be configured
  2. You use Parallels Automation (POA): Nothing special needs to be done, everything you need is contained in the APS package
  3. You use Plesk Panel: Nothing special needs to be done, everything you need is contained in the OXtender for Plesk
  4. You want to setup a new Email system: It is recommended to use Dovecot, as this is very stable, fast, feature rich and easy to scale

Dovecot Setup

If you want to setup a new Email system, based on Dovecot, it is recommended to use NFS as storage backend and to install at least two Dovecot servers, accessing this storage. With that setup you have best scalability and high availability with a minimum of complexity and hardware.

WOHIN_VERLINKEN_WIR_HIER_AM_BESTEN


Recommended Optional Next Steps

You will find plenty of additional documentation for customization of OX in our knowledgebase [1]

When the main setup is completed, we recommend to start with the following articles to enhance your system and to become more attractive for your users.


Automated Frontend Tests

It is a good idea, to verify the functionality of your freshly set up and integrated system. Our QA department does that with tests, running automatically on the web frontend. We release this tests with every release and recommend you to use them to verify your environment with every update.

Read more about Automated_GUI_Tests


Monitoring

It is recommended to implement at least a minimal monitoring solution to get an overview of the systems health. If you have a support contract with Open-Xchange, it is very helpfull, when support can access the monitoring graphs. There are example scripts for a basic monitoring with [Munin] available.

Read more about installing and configuring Munin scripts for Open-Xchange


Upsell Plugin / Webmail Replacement

If you want to use your OX based Webmail system to upsell premium functions like full groupware functionality or like push to mobile phones, it is strongly recommended to use the in-app sales process.

Read more about Upsell


Mobile Autoconfiguration

If you have the OXtender for Business Mobility installed, it is recommended also to install the autoconfiguration plugin, to allow your users to configure their iPhones and Windows Mobile devices directly from within the OX webfrontend. All you need is to adapt the SMS interface to send autoprovisioning SMS.

Read more about WO_IST_DAS_DOKUMENTIERT


Automatic FailOver

DA_BIN_ICH_BLANK - Heartbeat??


Branding

If you want OX to look more like your own Corporate Identity, including your logo, product name and maybe your colors, this can be easily achieved by changing the logos and stylesheets.

Read more about: Gui_Theming_Description

Read more about: Gui Branding Plugins