AppSuite:Upgrade from 6.22 for CentOS6: Difference between revisions

From Open-Xchange
(Created page with "= Update of Open-Xchange Server v6.22 to OX App Suite 7.0 on CentOS 6. = This example describes updating an OX 6 Server installation to OX App Suite 7. = Supported update pat...")
 
(Switchet Repo by Text to Repo by Template; Added LDB-Credentials for the Update paths)
 
(15 intermediate revisions by 5 users not shown)
Line 1: Line 1:
= Update of Open-Xchange Server v6.22 to OX App Suite 7.0 on CentOS 6. =
{{AppSuiteUpgradeIntroduction|distroname=CentOS 6|distro=CentOS6|distronameshort=CentOS 6}}
This example describes updating an OX 6 Server installation to OX App Suite 7.


= Supported update path =
= Update the software =
Updates from an OX6 installation to App Suite are only possible from 6.22 to 7.0. If you have an earlier version of Open-Xchange Server 6 installed, please update to the latest release of v6.22 before attempting an update to OX Appsuite 7. See [[Open-Xchange_620_622_Update_Guide_for_CentOS6|Open-Xchange 6.20 to 6.22 Update Guide for CentOS 6]] for instructions regarding that update.


= Requirements =
== Update Open-Xchange Repositories ==
* An Open-Xchange Server installation v6.22.0 or later. This update guide is valid for a system installed through our [[Open-Xchange_Installation_Guide_for_CentOS_6_622|Download and Installation Guide for CentOS 6]]
* If you have custom packages done by Open-Xchange, please discuss with your Open-Xchange contact when these packages are available for OX Appsuite 7. Do not attempt the update earlier.
* Custom packages built for 6.22.1 or earlier might not work with OX Appsuite 7.0.
* As for every update we strongly recommend that you make a backup of your system(s) before you proceed.


= Update Open-Xchange Repositories =
If not already configured, we make the latest OX6 repos available by ajdusting the file <code>/etc/yum.repos.d/ox.repo</code>:
We start by adding some Appsuite repos to our yum repos. Edit the file <code>/etc/yum.repos.d/ox.repo</code>


<code>
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=OX6/6.22|pc2n=rhelname|pc2v=RHEL6|frontend|backend|usm}}
# adjust this to some final repo location
[appsuite-frontend]
name=Appsuite-frontend
baseurl=http://buildservice.oxoe.int/repos/frontend-release-7.0.1/RHEL6/
gpgkey=http://software.open-xchange.com/oxbuildkey.pub
enabled=1
gpgcheck=1
metadata_expire=0m


# adjust this to some final repo location
if you have a valid maintenance subscription, please uncomment the
[appsuite-backend]
following and add the ldb account data to the url so that the most recent
name=Appsuite-backend
packages get installed
baseurl=http://buildservice.oxoe.int/repos/backend-release-7.0.1/RHEL6/
gpgkey=http://software.open-xchange.com/oxbuildkey.pub
enabled=1
gpgcheck=1
metadata_expire=0m


# if you have a valid maintenance subscription, please uncomment the
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=OX6/6.22|pc2n=rhelname|pc2v=RHEL6|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|updates/frontend|updates/backend|updates/usm}}
# following and add the ldb account data to the urls so that the most recent
# packages get installed
# TODO: insert Update Repo Lines here
</code>


Verify the repos:
Verify the repos:
Line 49: Line 25:
to make your new repos appear.
to make your new repos appear.


= Updating repositories and update packages =
== Update packages ==


Download and update all installed packages:  
Download and update all installed packages:  
Line 57: Line 33:
This will install new config files of some packages as <code>.rpmnew</code> files. Check those files to identlfy files where you want to keep the existing version, put the new version in place, or merge them.
This will install new config files of some packages as <code>.rpmnew</code> files. Check those files to identlfy files where you want to keep the existing version, put the new version in place, or merge them.


One configuration setting is to be made manually:
=== Replace AJP with Grizzly ===


# vi /opt/open-xchange/etc/cluster.properties
You need to decide whether whether you want to replace AJP by Grizzly now, or later. AJP is deprecated with OX App Suite 7.4 / OX6 v6.22.4 released in September 2013 and will be discontinued with OX App Suite 7.6 in April 2014. For more information, see [[AppSuite:Grizzly]].
com.openexchange.cluster.name=oxcluster


= Restart Open-Xchange =
{{AppSuiteUpgradeChangesByVersion}}


To restart Open-Xchange Server after the update, run
{{AppSuiteUpgradeRestartOpenXchange}}


$ /etc/init.d/open-xchange restart
= Add the App Suite UI =


You might  want to check with
== Install the packages ==


$ ps aux | grep open-xchange
Add App Suite repositories to your sources.list:


that there is exactly one newly spawned process running Open-Xchange Server.
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=rhelname|pc2v=RHEL6|appsuiteui}}


Now the backend has been upgraded to 7.0.X. The v6.22 frontend should still work with this new backend. You should verify this at this moment. Upon the first connection after the backend update, you will ge tthe message <code>Error: updating database, try later</code>. The second try should succeed.
if you have a valid maintenance subscription, please uncomment the
following and add the ldb account data to the url so that the most recent
packages get installed


= Add the Appsuite GUI =
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=rhelname|pc2v=updates/RHEL6|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|appsuiteui}}


# yum install open-xchange-appsuite open-xchange-appsuite-backend open-xchange-appsuite-manifest
Since the OX App Suite backend is the same as the OX6 backend, there is no need to add the backend repository here. But, on the other hand, you may add it here, and remove the backend repository from the OX6 repository list.
 
It them remains to adjust apache's default.conf as well as proxy_ajp.conf.
 
Basically you need to merge the OX6 and Appsuite versions of those files. This leaves enough room to screw things up.
 
For the apache config file <code>/etc/httpd/conf.d/ox.conf</code>, replace the element <code><Directory /var/www/html> ... </Directory></code> with the following:


<code>
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=rhelname|pc2v=RHEL6|backend|usm}}
      <Directory /var/www/html>
              Options Indexes FollowSymLinks MultiViews
              AllowOverride None
              Order allow,deny
              allow from all
              RedirectMatch ^/$ /appsuite/
      </Directory>
   
   
      <Directory /var/www/html/appsuite>
if you have a valid maintenance subscription, please uncomment the
              Options None +SymLinksIfOwnerMatch
following and add the ldb account data to the url so that the most recent
              AllowOverride Indexes FileInfo
packages get installed
      </Directory>


      ErrorLog ${APACHE_LOG_DIR}/error.log
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=rhelname|pc2v=updates/RHEL6|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|backend|usm}}


      # Possible values include: debug, info, notice, warn, error, crit,
Then, install packages:
      # alert, emerg.
      LogLevel warn


      CustomLog ${APACHE_LOG_DIR}/access.log combined
  # yum install open-xchange-appsuite open-xchange-appsuite-backend open-xchange-appsuite-manifest
</code>
 
For the <code>/etc/httpd/conf.d/proxy_ajp.conf</code>, you need to add an element before the element <code><Proxy /ajax> ...  </Proxy></code>:
 
<code>
  # OX AppSuite frontend
  <Proxy /appsuite/api>
      ProxyPass balancer://oxcluster/ajax
  </Proxy>
</code>
 
Full sample versions of those files are given in the following.
 
<code>
# /etc/apache2/sites-available/default
<VirtualHost *:80>
ServerAdmin webmaster@localhost
 
DocumentRoot /var/www/html
 
      <Directory /var/www/html>
              Options Indexes FollowSymLinks MultiViews
              AllowOverride None
              Order allow,deny
              allow from all
              RedirectMatch ^/$ /appsuite/
      </Directory>
      <Directory /var/www/html/appsuite>
              Options None +SymLinksIfOwnerMatch
              AllowOverride Indexes FileInfo
      </Directory>
 
      ErrorLog ${APACHE_LOG_DIR}/error.log
 
      # Possible values include: debug, info, notice, warn, error, crit,
      # alert, emerg.
      LogLevel warn
 
      CustomLog ${APACHE_LOG_DIR}/access.log combined
 
      # deflate
      AddOutputFilterByType DEFLATE text/html text/plain text/javascript application/javascript text/css text/xml application/xml text/x-js application/x-javascript
 
# pre-compressed files
AddType text/javascript .jsz
AddType text/css .cssz
AddType text/xml .xmlz
        AddType text/plain .po
AddEncoding gzip .jsz .cssz .xmlz
SetEnvIf Request_URI "\.(jsz|cssz|xmlz)$" no-gzip
ExpiresActive On
<Location /ox6>
        # Expires (via ExpiresByType to override global settings)
        ExpiresByType image/gif "access plus 6 months"
        ExpiresByType image/png "access plus 6 months"
        ExpiresByType image/jpg "access plus 6 months"
        ExpiresByType image/jpeg "access plus 6 months"
        ExpiresByType text/css "access plus 6 months"
        ExpiresByType text/html "access plus 6 months"
        ExpiresByType text/xml "access plus 6 months"
        ExpiresByType text/javascript "access plus 6 months"
        ExpiresByType text/x-js "access plus 6 months"
        ExpiresByType application/x-javascript "access plus 6 months"
        ExpiresDefault "access plus 6 months"
        Header append Cache-Control "private"
        Header unset Last-Modified
        Header unset Vary
        # Strip version
        RewriteEngine On
        RewriteRule v=\w+/(.+) $1 [L]
        # Turn off ETag
        Header unset ETag
        FileETag None
</Location>
<Location /ox6/ox.html>
        ExpiresByType text/html "now"
        ExpiresDefault "now"
        Header unset Last-Modified
        Header set Cache-Control "no-store, no-cache, must-revalidate, post-check=0, pre-check=0"
        # Turn off ETag
        Header unset ETag
        FileETag None
</Location>
<Location /ox6/index.html>
        ExpiresByType text/html "now"
        ExpiresDefault "now"
        Header unset Last-Modified
        Header set Cache-Control "no-store, no-cache, must-revalidate, post-check=0, pre-check=0"
        # Turn off ETag
        Header unset ETag
        FileETag None
</Location>
</VirtualHost>
</code>
 
<code>
# /etc/apache2/conf.d/proxy_ajp.conf
# Please note that the servlet path to the soap API has changed:
<Location /webservices>
    # restrict access to the soap provisioning API
    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1
    # you might add more ip addresses / networks here
    # Allow from 192.168 10 172.16
</Location>
# the old path is kept for compatibility reasons
 
<Location /servlet/axis2/services>
    # restrict access to the soap provisioning API
    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1
    # you might add more ip addresses / networks here
    # Allow from 192.168 10 172.16
</Location>
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
 
<IfModule mod_proxy_ajp.c>
  ProxyRequests Off
  <Proxy balancer://oxcluster>
      Order deny,allow
      Allow from all
      # multiple server setups need to have the hostname inserted instead localhost
      BalancerMember ajp://localhost:8009 timeout=100 smax=0 ttl=60 retry=60 loadfactor=50 route=OX1
      # Enable and maybe add additional hosts running OX here
      # BalancerMember ajp://oxhost2:8009 timeout=100  smax=0 ttl=60 retry=60 loadfactor=50 route=OX2
      ProxySet stickysession=JSESSIONID
  </Proxy>
 
  # OX AppSuite frontend
  <Proxy /appsuite/api>
      ProxyPass balancer://oxcluster/ajax
  </Proxy>
 
  <Proxy /ajax>
      ProxyPass balancer://oxcluster/ajax
  </Proxy>
  <Proxy /servlet>
      ProxyPass balancer://oxcluster/servlet
  </Proxy>
  <Proxy /infostore>
      ProxyPass balancer://oxcluster/infostore
  </Proxy>
  <Proxy /publications>
      ProxyPass balancer://oxcluster/publications
  </Proxy>
  <Proxy /Microsoft-Server-ActiveSync>
      ProxyPass balancer://oxcluster/Microsoft-Server-ActiveSync
  </Proxy>
  <Proxy /usm-json>
      ProxyPass balancer://oxcluster/usm-json
  </Proxy>
  <Proxy /webservices>
      ProxyPass balancer://oxcluster/webservices
  </Proxy>
</IfModule>
</code>
 
After this, stop and start the apache2 and open-xchange services. Then you should be able to use the Appsuite UI. You will again encounter a "Upgrading database, try again later" message on the first login attempt. Later login attempts should work.
 
= Remove the OX6 GUI =
 
This step is optional. You may just skip it and offer both GUIs, the OX6 GUI and the Appsuite GUI.
 
If you want to uninstall the OX6 GUI, this step consists of removing the OX6 GUI packages and and adjusting apache's configuration.
 
The packages to be removed can be identified by their version number in the output of <code>rpm -qa | grep open-x</code>. It will probably boil down to uninstall everything which starts with <code>open-xchange-gui</code>, as the names of the Appsuite GUI packages start with <code>open-xchange-appsuite</code>.
 
# yum remove open-xchange-gui*
 
Then adjust the <code>/etc/httpd/conf.d/ox.conf</code> file to remove obsolete stuff which was required for the OX6 GUI, but is not required by the Appsuite GUI. To do so, you may consult the [[AppSuite:Open-Xchange_Installation_Guide_for_Debian_6.0|Installation Guide for OX Appsuite]] to learn which sections of the file are required for an Appsuite GUI.


The file <code>/etc/apache2/conf.d/proxy_ajp.conf</code> will not require adjustments; the settings for Appsuite are a superset of the settings of the OX6 GUI.
{{AppSuiteUpgradeAdjustApacheConfig|filename=ox.conf|distro=RHEL6|apacheservice=httpd}}


= Leftover configuration files and runtime data =
{{AppSuiteUpgradeRemoveOX6GUI|listpackages=rpm -qa|uninstallpackages=yum remove|apacheconf=/etc/httpd/conf.d/ox.conf|distro=RHEL6}}


After the update you may see leftover configuration files and runtime data below <code>/opt/open-xchange/etc</code>.
== Leftover configuration files and runtime data ==


Finally, there may be backup files created by the package manager during earlier updates. Loook for files with .rpmsave endings or similar in the <code>/opt/open-xchange/etc</code> directory.
After the update you may see leftover configuration files and runtime data below <code>/opt/open-xchange/etc</code>. It is safe to remove all files ending in .rpmsave or .rpmnew once you are confident that your configuration is working after the update.

Latest revision as of 14:43, 12 January 2016

Update of Open-Xchange Server v6.22 to OX App Suite on CentOS 6

This document describes updating an OX 6 Server installation from version 6.22 to OX App Suite.

Supported update path

This document assumes you are running at least OX6 v6.22.0. If you are running on an older version of OX6, you need to update to v6.22.0 first, see Open-Xchange 6.20 to 6.22 Update Guide for CentOS 6. (This requires an intermediate upgrade to OX6 v6.20.7 if you are running a version older than that.)

Then, update your OX6 installation to the latest 6.22 version. Since OX App Suite and OX6 use the same backend (beginning with OX App Suite 7.0.2 / OX6 v6.22.2 released on 2013-04-04), this is basically upgrading your backend to the latest OX App Suite backend, while keeping the OX6 frontend functional.

Then, add the latest OX App Suite frontend to the system.

Then, the OX6 frontend can be removed, optionally.

Requirements

  • An Open-Xchange Server installation v6.22.0 or later. This update guide is valid for a system installed through our Download and Installation Guide for CentOS 6
  • If you have custom packages done by Open-Xchange, please discuss with your Open-Xchange contact when these packages are available for OX App Suite. Do not attempt the update earlier.
  • Custom packages built for 6.22.1 or earlier might not work with OX App Suite.
  • As for every update we strongly recommend that you make a backup of your system(s) before you proceed.

Update the software

Update Open-Xchange Repositories

If not already configured, we make the latest OX6 repos available by ajdusting the file /etc/yum.repos.d/ox.repo:

 [open-xchange-frontend]
name=Open-Xchange-frontend
baseurl=https://software.open-xchange.com/OX6/6.22/frontend/RHEL6/
gpgkey=https://software.open-xchange.com/oxbuildkey.pub
enabled=1
gpgcheck=1
metadata_expire=0m

[open-xchange-backend] name=Open-Xchange-backend baseurl=https://software.open-xchange.com/OX6/6.22/backend/RHEL6/ gpgkey=https://software.open-xchange.com/oxbuildkey.pub enabled=1 gpgcheck=1 metadata_expire=0m
[open-xchange-usm] name=Open-Xchange-usm baseurl=https://software.open-xchange.com/OX6/6.22/usm/RHEL6/ gpgkey=https://software.open-xchange.com/oxbuildkey.pub enabled=1 gpgcheck=1 metadata_expire=0m

if you have a valid maintenance subscription, please uncomment the following and add the ldb account data to the url so that the most recent packages get installed

 [open-xchange-updates-frontend]
name=Open-Xchange-updates-frontend
baseurl=https://LDBUSER:LDBPASSWORD@software.open-xchange.com/OX6/6.22/updates/frontend/RHEL6/
gpgkey=https://software.open-xchange.com/oxbuildkey.pub
enabled=1
gpgcheck=1
metadata_expire=0m

[open-xchange-updates-backend] name=Open-Xchange-updates-backend baseurl=https://LDBUSER:LDBPASSWORD@software.open-xchange.com/OX6/6.22/updates/backend/RHEL6/ gpgkey=https://software.open-xchange.com/oxbuildkey.pub enabled=1 gpgcheck=1 metadata_expire=0m
[open-xchange-updates-usm] name=Open-Xchange-updates-usm baseurl=https://LDBUSER:LDBPASSWORD@software.open-xchange.com/OX6/6.22/updates/usm/RHEL6/ gpgkey=https://software.open-xchange.com/oxbuildkey.pub enabled=1 gpgcheck=1 metadata_expire=0m

Verify the repos:

# yum repolist

It may be necessary to

# yum clean all

to make your new repos appear.

Update packages

Download and update all installed packages:

$ yum update

This will install new config files of some packages as .rpmnew files. Check those files to identlfy files where you want to keep the existing version, put the new version in place, or merge them.

Replace AJP with Grizzly

You need to decide whether whether you want to replace AJP by Grizzly now, or later. AJP is deprecated with OX App Suite 7.4 / OX6 v6.22.4 released in September 2013 and will be discontinued with OX App Suite 7.6 in April 2014. For more information, see AppSuite:Grizzly.

Review configuration files

We recommend that you read the release notes vor all versions newer than your version before you started the upgrade. The release notes contain all changes to the product together with the actions required by the admin to accommodate for those changes.

You can find the release notes here:

Some of the most prominent changes are summarized below.

Changes by version

6.22.1, 2012-11-14

Introduction of hazelcast as distributed session cache. Review Hazelcast configuration after the upgrade.

6.22.2, 2013-03-12

OX now offers Grizzly as alternative to AJP. (AJP is deprecated with 7.4 and will be discontinued with 7.6.) Either switch to Grizzly now, following AppSuite:Grizzly, or stick with AJP for now.

The whole cluster communication will now be done through Hazelcast. Please note that even in case of an update it is important to configure the new settings as required as this will not be done automatically. The configuration of the new system is described in http://oxpedia.org/wiki/index.php?title=AppSuite:Running_a_cluster

New config file 'cluster.properties'. Set reasonable cluster name there, same for all nodes in the cluster.

7.2.0, 2013-04-11

Features OX Text. OX Text requires OX Realtime. OX Realtime requires Grizzly. So switch to Grizzly now if you are using OX Text.

It is now possible to disable the OX builtin replication monitor for replicated database backends which work synchronously. (configdb.properties, com.openexchange.database.replicationMonitor)

Adjustment of apache configuration required: App Suite 7.2 introduces a new realtime/push framework for which a new namespace was added to OX URLs. Please add new proxy entries to the apache configuration to map the /realtime and /atmosphere paths to the backend. e.g.:

 <Proxy /atmosphere>
     ProxyPass balancer://oxcluster/atmosphere
 </Proxy>
 <Proxy /realtime>
     ProxyPass balancer://oxcluster/realtime
 </Proxy>

7.2.1, 2013-05-23

Internal OSGi events have been distributed in the cluster using the UDP push mechanism. This mechanism is now replaced using Hazelcast topics. Therefore the UDP push mechanism should be disabled. Several properties of the configuration file /opt/open-xchange/etc/push-udp.properties are configured to false by default and when upgrading the packages. This are the properties: - com.openexchange.push.udp.pushEnabled - com.openexchange.push.udp.registerDistributionEnabled - com.openexchange.push.udp.eventDistributionEnabled - com.openexchange.push.udp.multicastEnabled If your cluster requires push mechanisms to push changes to client devices, ensure to configure a proper working cluster setup. This is described here: AppSuite:Running_a_cluster

7.2.2, 2013-07-03

Reminder: AJP is deprecated, please switch to Grizzly. AppSuite:Grizzly

7.4.0, 2013-09-26

Support Debian 7 (Wheey) with OpenJDK 7 and MySQL 5.5.

Reminder: AJP is deprecated, please switch to Grizzly. AppSuite:Grizzly

Jolokia monitoring capabilities added. See: Jolokia

showruntimestats is deprecated and will be gone in Sep 2014.

Removed Sql.properties. Database Schema setup will no longer be performed by *.sql scripts but by OX internally (Java code).

Added tokenlogin. Should be more secure / robust than the former "config jump" feature.

Galera support (and possibly support for other MySQL replication mechanisms which rely on the presence of primary key in all tables) added. See server.properties / com.openexchange.server.fullPrimaryKeySupport.

Cluster discovery now handled by Hazelcast (both static and dynamic). See hazelcast.properties for configuration. Hazelcast now also listens by default only on localhost, please check.

Office capabilities configurable, see documents.properties.

Restart Open-Xchange

To restart Open-Xchange Server after the update, run

$ service open-xchange restart

You might want to check with

$ ps aux | grep open-xchange

that there is exactly one newly spawned process running Open-Xchange Server.

You should verify that login is possible. Upon the first connection after the backend update, you will get the message Error: updating database, try later. The second try should succeed.

Add the App Suite UI

Install the packages

Add App Suite repositories to your sources.list:

 [open-xchange-appsuiteui]
name=Open-Xchange-appsuiteui
baseurl=https://software.open-xchange.com/products/appsuite/stable/appsuiteui/RHEL6/
gpgkey=https://software.open-xchange.com/oxbuildkey.pub
enabled=1
gpgcheck=1
metadata_expire=0m

if you have a valid maintenance subscription, please uncomment the following and add the ldb account data to the url so that the most recent packages get installed

 [open-xchange-appsuiteui]
name=Open-Xchange-appsuiteui
baseurl=https://LDBUSER:LDBPASSWORD@software.open-xchange.com/products/appsuite/stable/appsuiteui/updates/RHEL6/
gpgkey=https://software.open-xchange.com/oxbuildkey.pub
enabled=1
gpgcheck=1
metadata_expire=0m

Since the OX App Suite backend is the same as the OX6 backend, there is no need to add the backend repository here. But, on the other hand, you may add it here, and remove the backend repository from the OX6 repository list.

 [open-xchange-backend]
name=Open-Xchange-backend
baseurl=https://software.open-xchange.com/products/appsuite/stable/backend/RHEL6/
gpgkey=https://software.open-xchange.com/oxbuildkey.pub
enabled=1
gpgcheck=1
metadata_expire=0m

[open-xchange-usm] name=Open-Xchange-usm baseurl=https://software.open-xchange.com/products/appsuite/stable/usm/RHEL6/ gpgkey=https://software.open-xchange.com/oxbuildkey.pub enabled=1 gpgcheck=1 metadata_expire=0m

if you have a valid maintenance subscription, please uncomment the following and add the ldb account data to the url so that the most recent packages get installed

 [open-xchange-backend]
name=Open-Xchange-backend
baseurl=https://LDBUSER:LDBPASSWORD@software.open-xchange.com/products/appsuite/stable/backend/updates/RHEL6/
gpgkey=https://software.open-xchange.com/oxbuildkey.pub
enabled=1
gpgcheck=1
metadata_expire=0m

[open-xchange-usm] name=Open-Xchange-usm baseurl=https://LDBUSER:LDBPASSWORD@software.open-xchange.com/products/appsuite/stable/usm/updates/RHEL6/ gpgkey=https://software.open-xchange.com/oxbuildkey.pub enabled=1 gpgcheck=1 metadata_expire=0m

Then, install packages:

# yum install open-xchange-appsuite open-xchange-appsuite-backend open-xchange-appsuite-manifest

Adjust Apache configuration

Apache's service configuration needs adjustments.

If you want to run both frontends later, you need to create a default.conf file with the contents from OX6 and OX App Suite merged. If you want to drop the OX6 frontend anyways, you can now just create a ox.conf file for OX App Suite. Consult the OX App Suite documentation for details about the ox.conf contents for OX App Suite.

Then you need to adjust the proxy_http.conf file. Basically the OX App Suite configuration is a superset of the OX6 configuraton, so you can use the configuration described in the OX App Suite documentation for the Grizzly configuration.

After this, stop and start the httpd and open-xchange services. Then you should be able to use the App Suite UI.

Remove the OX6 GUI

This step is optional. You may just skip it and offer both GUIs, the OX6 GUI and the App Suite GUI. (This is only supported with OX6 v6.22.2 and later.)

If you want to uninstall the OX6 GUI, this step consists of removing the OX6 GUI packages and adjusting Apache's configuration.

The packages to be removed can be identified by their version number in the output of rpm -qa | grep open-x. It will probably boil down to uninstall everything which starts with open-xchange-gui, as the names of the App Suite UI packages start with open-xchange-appsuite.

# yum remove open-xchange-gui*

After deinstallation of the OX6 GUI packages, adjust the /etc/httpd/conf.d/ox.conf file to remove obsolete stuff which was required for the OX6 GUI, but is not required by the App Suite UI. To do so, you may consult the Installation Guide for OX Appsuite to learn which sections of the file are required for an App Suite UI.

The Grizzly configuration will not require adjustments; the settings for App Suite are a superset of the settings of the OX6 GUI.

Leftover configuration files and runtime data

After the update you may see leftover configuration files and runtime data below /opt/open-xchange/etc. It is safe to remove all files ending in .rpmsave or .rpmnew once you are confident that your configuration is working after the update.