Difference between revisions of "AppSuite:Parallel UISupport OX6 AppSuite RHEL 6 CentOS 6"

(Created page with "TODO: * verify the version numbers: 6.22.2 for OX6 and 7.0.2 of OX App Suite * Add some disclaimer that plugins require dedicated versions for OX6 and App Suite in the requir...")
 
m (Configure services: changed logfile path)
 
(11 intermediate revisions by 2 users not shown)
Line 1: Line 1:
TODO:
 
 
* verify the version numbers: 6.22.2 for OX6 and 7.0.2 of OX App Suite
 
* Add some disclaimer that plugins require dedicated versions for OX6 and App Suite in the requirements section?
 
* verify repo locationhttp://software.open-xchange.com/OX6/6.22/frontend/RHEL6/ ? Or OX6/stable? or something else?
 
* I was unable to get one single unanimous answer on how to correctly write the product name of the product with the code name OX7. I used OX App Suite in this document. Please search/replace if this is not correct.
 
* verify this logging adjustment for apache. in my centos box the syntax ${APACHE_LOG_DIR}/error.log works not. however, it is not from me, it is from install guide in wiki
 
 
 
= Add OX6 UI to an OX App Suite Installation =
 
= Add OX6 UI to an OX App Suite Installation =
 
This document outlines the steps required to add an OX6 UI to an OX App Suite installation.
 
This document outlines the steps required to add an OX6 UI to an OX App Suite installation.
  
 
= Supported OX Versions =
 
= Supported OX Versions =
Running parallel UIs (OX6 and OX App Suite) is supported beginning with OX6 version 6.22.2 (backend version 7.0.2) and OX App Suite version 7.0.2.
+
Running parallel UIs (OX6 and OX App Suite) is supported beginning with OX6 version 6.22.2 (backend version 7.0.2) and OX App Suite version 7.0.1.
  
 
= Requirements =
 
= Requirements =
* An OX App Suite installation v7.0.2 or later. This update guide is valid for a system installed through our [[AppSuite:Open-Xchange_Installation_Guide_for_RHEL6|Download and Installation Guide for RedHat Enterprise Linux 6]]
+
* An OX App Suite installation v7.0.2 or later. This update guide is valid for a system installed through our [[AppSuite:Open-Xchange_Installation_Guide_for_RHEL6|OX App Suite Download and Installation Guide for RedHat Enterprise Linux 6]]. It applies also to installations on 100% compatible RHEL clones such as CentOS.
 +
* If you have custom plugins written by yourself which depends on an specific Open-Xchange Server, Open-Xchange can't guarantee that the plugins will work with the parallel setup.
 
* As for every modification of the installation we strongly recommend that you make a backup of your system(s) before you proceed.
 
* As for every modification of the installation we strongly recommend that you make a backup of your system(s) before you proceed.
  
 
= Add Open-Xchange Repository =
 
= Add Open-Xchange Repository =
We start by adding some OX6 frontend repos to our yum repos.
+
We start by adding some OX6 frontend repos to our yum repos. Note: the <code>.../RHEL6</code> repo also is valid for CentOS 6.
  
 
  # /etc/yum.repos.d/ox.repo
 
  # /etc/yum.repos.d/ox.repo
Line 30: Line 23:
  
 
= Updating repositories and install packages =
 
= Updating repositories and install packages =
 
It should not be necessary to import the Open-Xchange build key since you probably have done so during the OX App Suite installation. Otherwise please follow this quick guide: [[Importing_OX_Buildkey#Importing_key_into_apt_based_systems|Importing OX Buildkey]]
 
 
It is highly recommended to import the Open-Xchange build key to your package systems trusted keyring in order to make sure only Open-Xchange packages with valid signing are installed on the system. Otherwise you'll encounter warnings about untrusted package sources.
 
 
Reload the package index. This will download the package descriptions available at the software repositories and will enable the Open-Xchange repository as a valid source for signed packages:
 
 
$ apt-get update
 
  
 
Install the OX6 frontend packages.
 
Install the OX6 frontend packages.
  
  $ apt-get install open-xchange-gui
+
  $ yum install open-xchange-gui
  
 
This will install the OX6 fronted packages. (OX App Suite frontend package names start with <code>open-xchange-appsuite</code>.)
 
This will install the OX6 fronted packages. (OX App Suite frontend package names start with <code>open-xchange-appsuite</code>.)
Line 47: Line 32:
 
= Configure services =
 
= Configure services =
  
Since we are only adding a frontend, there is nothing to change in the configuration of the backend servers, the database, mail, or such. It is only required to adjust the apache web server configuration in the file <code>/etc/apache2/sites-available/default</code>.
+
Since we are only adding a frontend, there is nothing to change in the configuration of the backend servers, the database, mail, or such. It is only required to adjust the apache web server configuration in the file <code>/etc/httpd/conf.d/ox.conf</code>.
  
Basically we need to merge the  [[AppSuite:Open-Xchange_Installation_Guide_for_Debian_6.0#Configure_services|OX App Suite]] and [[Open-Xchange_Installation_Guide_for_Debian_6.0_622#Configure_services|OX6]] versions of this file. A sample is given in the following.
+
Basically we need to merge the  [[AppSuite:Open-Xchange_Installation_Guide_for_RHEL6#Configure_services|OX App Suite]] and [[Open-Xchange_Installation_Guide_for_RHEL6_622#Configure_services|OX6]] versions of this file. A sample is given in the following.
  
  # /etc/apache2/sites-available/default
+
  # /etc/httpd/conf.d/ox.conf
 
  <VirtualHost *:80>
 
  <VirtualHost *:80>
        ServerAdmin webmaster@localhost
+
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>
 
    
 
    
        DocumentRoot /var/www/
+
        ErrorLog /var/log/httpd/error.log
 
+
        <Directory /var/www/>
+
        # Possible values include: debug, info, notice, warn, error, crit,
                Options Indexes FollowSymLinks MultiViews
+
        # alert, emerg.
                AllowOverride None
+
        LogLevel warn
                Order allow,deny
+
                allow from all
+
        CustomLog /var/log/httpd/access.log combined
                RedirectMatch ^/$ /appsuite/
+
        </Directory>
+
        # deflate
 
+
        AddOutputFilterByType DEFLATE text/html text/plain text/javascript application/javascript text/css text/xml application/xml text/x-js application/x-javascript
        <Directory /var/www/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
+
# pre-compressed files
        AddType text/javascript .jsz
+
AddType text/javascript .jsz
        AddType text/css .cssz
+
AddType text/css .cssz
        AddType text/xml .xmlz
+
AddType text/xml .xmlz
        AddType text/plain .po
+
        AddType text/plain .po
 
+
        AddEncoding gzip .jsz .cssz .xmlz
+
AddEncoding gzip .jsz .cssz .xmlz
        SetEnvIf Request_URI "\.(jsz|cssz|xmlz)$" no-gzip
+
SetEnvIf Request_URI "\.(jsz|cssz|xmlz)$" no-gzip
 
+
        ExpiresActive On
+
ExpiresActive On
 
+
        <Location /ox6>
+
<Location /ox6>
                # Expires (via ExpiresByType to override global settings)
+
        # Expires (via ExpiresByType to override global settings)
                ExpiresByType image/gif "access plus 6 months"
+
        ExpiresByType image/gif "access plus 6 months"
                ExpiresByType image/png "access plus 6 months"
+
        ExpiresByType image/png "access plus 6 months"
                ExpiresByType image/jpg "access plus 6 months"
+
        ExpiresByType image/jpg "access plus 6 months"
                ExpiresByType image/jpeg "access plus 6 months"
+
        ExpiresByType image/jpeg "access plus 6 months"
                ExpiresByType text/css "access plus 6 months"
+
        ExpiresByType text/css "access plus 6 months"
                ExpiresByType text/html "access plus 6 months"
+
        ExpiresByType text/html "access plus 6 months"
                ExpiresByType text/xml "access plus 6 months"
+
        ExpiresByType text/xml "access plus 6 months"
                ExpiresByType text/javascript "access plus 6 months"
+
        ExpiresByType text/javascript "access plus 6 months"
                ExpiresByType text/x-js "access plus 6 months"
+
        ExpiresByType text/x-js "access plus 6 months"
                ExpiresByType application/x-javascript "access plus 6 months"
+
        ExpiresByType application/x-javascript "access plus 6 months"
                ExpiresDefault "access plus 6 months"
+
        ExpiresDefault "access plus 6 months"
                Header append Cache-Control "private"
+
        Header append Cache-Control "private"
                Header unset Last-Modified
+
        Header unset Last-Modified
                Header unset Vary
+
        Header unset Vary
                # Strip version
+
        # Strip version
                RewriteEngine On
+
        RewriteEngine On
                RewriteRule v=\w+/(.+) $1 [L]
+
        RewriteRule v=\w+/(.+) $1 [L]
                # Turn off ETag
+
        # Turn off ETag
                Header unset ETag
+
        Header unset ETag
                FileETag None
+
        FileETag None
        </Location>
+
</Location>
 
+
        <Location /ox6/ox.html>
+
<Location /ox6/ox.html>
                ExpiresByType text/html "now"
+
        ExpiresByType text/html "now"
                ExpiresDefault "now"
+
        ExpiresDefault "now"
                Header unset Last-Modified
+
        Header unset Last-Modified
                Header set Cache-Control "no-store, no-cache, must-revalidate, post-check=0, pre-check=0"
+
        Header set Cache-Control "no-store, no-cache, must-revalidate, post-check=0, pre-check=0"
                # Turn off ETag
+
        # Turn off ETag
                Header unset ETag
+
        Header unset ETag
                FileETag None
+
        FileETag None
        </Location>
+
</Location>
 
+
        <Location /ox6/index.html>
+
<Location /ox6/index.html>
                ExpiresByType text/html "now"
+
        ExpiresByType text/html "now"
                ExpiresDefault "now"
+
        ExpiresDefault "now"
                Header unset Last-Modified
+
        Header unset Last-Modified
                Header set Cache-Control "no-store, no-cache, must-revalidate, post-check=0, pre-check=0"
+
        Header set Cache-Control "no-store, no-cache, must-revalidate, post-check=0, pre-check=0"
                # Turn off ETag
+
        # Turn off ETag
                Header unset ETag
+
        Header unset ETag
                FileETag None
+
        FileETag None
        </Location>
+
</Location>
 
 
 
  </VirtualHost>
 
  </VirtualHost>
 +
 +
Restart the web server:
 +
 +
$ /etc/init.d/httpd restart
  
 
That's it. It should now be able to access the OX6 frontend using the location <code>/ox6/</code> in the request.
 
That's it. It should now be able to access the OX6 frontend using the location <code>/ox6/</code> in the request.

Latest revision as of 08:40, 23 May 2013

Add OX6 UI to an OX App Suite Installation

This document outlines the steps required to add an OX6 UI to an OX App Suite installation.

Supported OX Versions

Running parallel UIs (OX6 and OX App Suite) is supported beginning with OX6 version 6.22.2 (backend version 7.0.2) and OX App Suite version 7.0.1.

Requirements

  • An OX App Suite installation v7.0.2 or later. This update guide is valid for a system installed through our OX App Suite Download and Installation Guide for RedHat Enterprise Linux 6. It applies also to installations on 100% compatible RHEL clones such as CentOS.
  • If you have custom plugins written by yourself which depends on an specific Open-Xchange Server, Open-Xchange can't guarantee that the plugins will work with the parallel setup.
  • As for every modification of the installation we strongly recommend that you make a backup of your system(s) before you proceed.

Add Open-Xchange Repository

We start by adding some OX6 frontend repos to our yum repos. Note: the .../RHEL6 repo also is valid for CentOS 6.

# /etc/yum.repos.d/ox.repo
[ox-frontend]
name=Open-Xchange-frontend
baseurl=http://software.open-xchange.com/OX6/6.22/frontend/RHEL6/
gpgkey=http://software.open-xchange.com/oxbuildkey.pub
enabled=1
gpgcheck=1
metadata_expire=0m

Updating repositories and install packages

Install the OX6 frontend packages.

$ yum install open-xchange-gui

This will install the OX6 fronted packages. (OX App Suite frontend package names start with open-xchange-appsuite.)

Configure services

Since we are only adding a frontend, there is nothing to change in the configuration of the backend servers, the database, mail, or such. It is only required to adjust the apache web server configuration in the file /etc/httpd/conf.d/ox.conf.

Basically we need to merge the OX App Suite and OX6 versions of this file. A sample is given in the following.

# /etc/httpd/conf.d/ox.conf
<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 /var/log/httpd/error.log

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

        CustomLog /var/log/httpd/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>

Restart the web server:

$ /etc/init.d/httpd restart

That's it. It should now be able to access the OX6 frontend using the location /ox6/ in the request.