Difference between revisions of "AppSuite:Parallel UISupport OX6 AppSuite SLES 11"

(Updating repositories and install packages)
(Configure services)
Line 33: Line 33:
 
= 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/httpd/conf.d/ox.conf</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>vi /etc/apache2/vhosts.d/ox.conf</code>.
  
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.
+
Basically we need to merge the  [[AppSuite:Open-Xchange_Installation_Guide_for_SLES11#Configure_services|OX App Suite]] and [[Open-Xchange_Installation_Guide_for_SLES11_622#Configure_services|OX6]] versions of this file. A sample is given in the following.
  
  # /etc/httpd/conf.d/ox.conf
+
  # /etc/apache2/vhosts.d/ox.conf
 
  <VirtualHost *:80>
 
  <VirtualHost *:80>
ServerAdmin webmaster@localhost
+
        ServerAdmin webmaster@localhost
 
   
 
   
DocumentRoot /var/www/html
+
        DocumentRoot /srv/www/htdocs/
 +
        <Directory /srv/www/htdocs/>
 +
                Options Indexes FollowSymLinks MultiViews
 +
                AllowOverride None
 +
                Order allow,deny
 +
                allow from all
 +
                RedirectMatch ^/$ /appsuite/
 +
        </Directory>
 +
 
 +
        <Directory /srv/www/htdocs//appsuite>
 +
                Options None +SymLinksIfOwnerMatch
 +
                AllowOverride Indexes FileInfo
 +
        </Directory>
 
   
 
   
        <Directory /var/www/html>
+
        ErrorLog ${APACHE_LOG_DIR}/error.log
                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,
+
        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
+
        # alert, emerg.
        LogLevel warn
+
        LogLevel warn
 
   
 
   
        CustomLog ${APACHE_LOG_DIR}/access.log combined
+
        CustomLog ${APACHE_LOG_DIR}/access.log combined
 
   
 
   
        # deflate
+
        # deflate
        AddOutputFilterByType DEFLATE text/html text/plain text/javascript application/javascript text/css text/xml application/xml text/x-js application/x-javascript
+
      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
Line 121: Line 120:
 
          FileETag None
 
          FileETag None
 
  </Location>
 
  </Location>
 +
 
  </VirtualHost>
 
  </VirtualHost>
  
 
Restart the web server:
 
Restart the web server:
  
  $ /etc/init.d/httpd restart
+
  $ service apache2 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.

Revision as of 20:54, 7 March 2013

TODO:

  • verify this logging adjustment for apache. in my sles box the syntax ${APACHE_LOG_DIR}/error.log works not. this stems from install guide in wiki

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 Download and Installation Guide for SUSE Linux Enterprise Server 11.
  • 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 zypper repos.

$ zypper ar http://software.open-xchange.com/OX6/6.22/frontend/SLES11/ ox-frontend

If you have a valid maintenance subscription, also add the update repo:

$ zypper ar http://LDBACCOUNT:LDBPASSWORD@software.open-xchange.com/OX6/6.22/updates/frontend/SLES11/ ox-updates-frontend

Updating repositories and install packages

Install the OX6 frontend packages.

$ zypper 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 vi /etc/apache2/vhosts.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/apache2/vhosts.d/ox.conf
<VirtualHost *:80>
       ServerAdmin webmaster@localhost

       DocumentRoot /srv/www/htdocs/
       <Directory /srv/www/htdocs/>
               Options Indexes FollowSymLinks MultiViews
               AllowOverride None
               Order allow,deny
               allow from all
               RedirectMatch ^/$ /appsuite/
       </Directory>
 
       <Directory /srv/www/htdocs//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>

Restart the web server:

$ service apache2 restart

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