Set up a groupware server using open xchange
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)
- download java 1.5: download from http://rapidshare.com/files/154938149/java-1.5.0-sun.tar.bz2.html
- open a console as root and go to the location of the downloaded file (~/Desktop)
- unzip the java package:
<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>
- now connect to https://127.0.0.1 with the user testuser and the password secret