Set up a groupware server using open xchange

From Linuxintro

Please review this article, it has not yet been tested on a clean system.

You can set up a groupware server using kolab or openXchange. openXchange is described here, kolab is described there.

Setting up a Open Xchange server in CentOS 5.2:

(see also http://www.open-xchange.com/wiki/index.php?title=Quick_install_guide_for_CentOS5)

<source>

tar xvfj java-1.5.0-sun.tar.bz2

</source>

  • install the java package:

<source>

yum --nogpgcheck localinstall java-1.5.0-sun-1.5.0.15-1jpp.i586.rpm

</source>

  • edit /etc/yum.repos.d/ox.repo

<source> [ox] name=Open-Xchange baseurl=http://software.open-xchange.com/OX6/SP4/RHEL5/ enabled=1 gpgcheck=0 <source>

  • run

<source>

yum update

</source>

  • run

<source>

yum install mysql-server  open-xchange-admin-client open-xchange-admin-doc open-xchange-admin-plugin-hosting-doc open-xchange-admin-plugin-hosting open-xchange-admin open-xchange-authentication-database open-xchange-cache open-xchange-charset open-xchange-common open-xchange-configjump-generic open-xchange-configread open-xchange-control open-xchange-data-conversion-ical4j open-xchange-global open-xchange-group-managerequest open-xchange-gui open-xchange-i18n open-xchange-imap open-xchange-jcharset open-xchange-mailfilter open-xchange-management open-xchange-monitoring open-xchange-online-help-de open-xchange-online-help-en open-xchange-online-help-fr open-xchange-passwordchange-database open-xchange-passwordchange-servlet open-xchange-push-udp open-xchange-resource-managerequest open-xchange-server open-xchange-sessiond open-xchange-settings-extensions open-xchange-smtp open-xchange-spamhandler-default open-xchange

</source>

  • Start mysql

<source>

/etc/init.d/mysqld start

<source>

  • Initialize openXchange

<source>

/opt/open-xchange/sbin/initconfigdb --configdb-pass=db_password -a
/opt/open-xchange/sbin/oxinstaller --servername=oxserver --configdb-pass=db_password --master-pass=admin_master_password --ajp-bind-port=localhost
/etc/init.d/open-xchange-admin start

</source>

  • edit /etc/sysconfig/saslauthd
  • change the line "MECH" from "pam" to "shadow" (use local system login passwords to authenticate against SASL)
  • start your authentication daemon

<source>

/etc/init.d/saslauthd start

</source>

  • /opt/open-xchange/sbin/registerserver -n oxserver -A oxadminmaster -P admin_master_password
  • mkdir /var/opt/filestore
  • chown open-xchange:open-xchange /var/opt/filestore
  • /opt/open-xchange/sbin/registerfilestore -A oxadminmaster -P admin_master_password \

-t file:///var/opt/filestore

  • /opt/open-xchange/sbin/registerdatabase -A oxadminmaster -P admin_master_password \

-n oxdatabase -p db_password -m true

  • rm /etc/httpd/conf.d/welcome.conf
  • replace /etc/httpd/conf.d/proxy_ajp.conf with

<source> LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

<Proxy *> Order deny,allow allow from all </Proxy>

ProxyPass /axis2 ajp://127.0.0.1:8009/axis2 smax=0 ttl=60 retry=5 ProxyPass /ajax ajp://127.0.0.1:8009/ajax smax=0 ttl=60 retry=5 ProxyPass /servlet ajp://127.0.0.1:8009/servlet smax=0 ttl=60 retry=5 ProxyPass /infostore ajp://127.0.0.1:8009/infostore smax=0 ttl=60 retry=5

</source>

  • create a file /etc/httpd/conf.d/ox.conf

<source> NameVirtualHost * <VirtualHost *> ServerAdmin webmaster@localhost

DocumentRoot /var/www/html

<Directory /var/www/html> AllowOverride None Order allow,deny allow from all RedirectMatch ^/$ /ox6/ </Directory>

ExpiresActive On ExpiresByType image/gif "access plus 23 hours" ExpiresByType image/png "access plus 23 hours" ExpiresByType image/jpg "access plus 23 hours" ExpiresByType image/jpeg "access plus 23 hours" ExpiresByType text/javascript "access plus 23 hours" ExpiresByType text/css "access plus 23 hours" ExpiresByType text/html "access plus 23 hours" ExpiresByType application/x-javascript "access plus 23 hours" <Files ~ "\.(js|css|gif|jpe?g|png)$"> Header append Cache-Control "public" </Files>

DeflateFilterNote ratio AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/x-javascript application/javascript BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html Header append Vary User-Agent env=!dont-vary </VirtualHost> </source>

  • restart the relevant services persistently

<source>

/etc/init.d/httpd restart
/etc/init.d/open-xchange-groupware start
chkconfig --level 345 mysqld on
chkconfig --level 345 httpd on
chkconfig --level 345 saslauthd on
chkconfig --level 345 open-xchange-groupware on
chkconfig --level 345 open-xchange-admin on

</source>

  • create your users

<source>

/opt/open-xchange/sbin/createcontext -A oxadminmaster -P admin_master_password -c 1 -u oxadmin -d "Context Admin" -g Admin -s User -p secret -L defaultcontext -e oxadmin@example.com -q 1024 --access-combination-name=all
/opt/open-xchange/sbin/createuser -c 1 -A oxadmin -P secret -u testuser -d "Test User" -g Test -s User -p secret -e testuser@example.com --imaplogin testuser --imapserver 127.0.0.1 --smtpserver 127.0.0.1

</source>

See also