Difference between revisions of "Manual Installation"

From Scalix Wiki
Jump to: navigation, search
 
 
(249 intermediate revisions by 31 users not shown)
Line 1: Line 1:
 +
[[Scalix Wiki]] -> [[How-Tos]] -> '''Manual Install Debian 7(Wheezy), Ubuntu 12.04 and Ubuntu 13.04 '''
 +
 +
== Important Note ==
 +
''Please note that these manual installation instructions should only be used on unsupported platforms, such as debian. It is highly recommended to perform installation using the Scalix Installer on all supported platforms. If you manually install any version of Scalix, this may invalidate your ability to receive Scalix support for that software.  Thank you for your understanding and compliance.''
 +
 +
'''This document is under construction. Do not trust this document. '''
 +
 +
== Scalix Installer (Debian 7( Wheezy), Ubuntu 12.04 and 13.04) ==
 +
 +
'''LAST UPDATE OF THIS SECTION: January 2014. It's quite accurate!'''
 +
 +
There is a Scalix installer available at,
 +
 +
https://github.com/scalix/Debian-installer
 +
 +
The installer:
 +
* works for Scalix Version 12 and possibly earlier versions
 +
* is tested on Debian 7 and Ubuntu 12.04 and 13.04.
 +
* needs some more testing on various platforms.
 +
 +
'''END OF UP-TO-DATE SECTION'''
 +
 +
== Scalix Installer (Ubuntu 10.04 Lucid Lynx ) ==
 +
 +
look at [[Ubuntu Lucid]]
 +
 +
 +
== Applicable Environments ==
 +
 +
These Installation instructions have been tested with
 +
* Scalix CE 12.0.3
 +
 +
They might not apply unmodified to any other version of Scalix.
 +
 
== System Prerequisites ==
 
== System Prerequisites ==
  
 
=== Available Hardware Platforms ===
 
=== Available Hardware Platforms ===
Scalix Community Edition Raw software is currently available as a i386 build only. It will run on i386 and x86_64 Intel and AMD platforms.
+
Scalix Community Edition software is currently available as an i386 build only. It will run on i386 and x86_64 Intel and AMD platforms.
  
 
=== Minimum System Requirements ===
 
=== Minimum System Requirements ===
 
* Pentium 4 or better CPU
 
* Pentium 4 or better CPU
* 512 MB RAM
+
* 1 GB RAM
 
* 1 GB of free diskspace after OS Installation
 
* 1 GB of free diskspace after OS Installation
 
* Network Interface
 
* Network Interface
  
 
=== Linux Distributions ===
 
=== Linux Distributions ===
* Fedora Core 4
+
* Red Hat Enterprise Linux 5
 +
* Red Hat Enterprsie Linux 6
 +
* Fedora Core 19
 
* OpenSuSE Linux 10.0
 
* OpenSuSE Linux 10.0
* Debian Sarge i386 (stable)
+
* Debian 7 (Wheezy)
 +
* Ubuntu 12.04
 +
* Ubuntu 13.04
  
 
== System Preparation ==
 
== System Preparation ==
Line 20: Line 58:
 
=== Network Configuration ===
 
=== Network Configuration ===
 
* Make sure you have at least one properly configured network interface.
 
* Make sure you have at least one properly configured network interface.
* We recommend using a static IP address; running a Scalix server on a machine using DHCP is not recommended.
+
* It is best to use a static IP address; running a Scalix server on a machine using DHCP is not recommended.
* Correct hostname resolution/DNS setup is vital. We recommend the use of DNS in a Scalix/mail environment. File-based hostname resolution can be used (/etc/hosts). However, the following should always be true:
+
* Correct hostname resolution/DNS setup is vital. It is also best to use DNS in a Scalix/mail environment. File-based hostname resolution can be used (/etc/hosts). However, the following should always be true:
 
** Your system should have a fully-qualified hostname, i.e. scalixraw.company.com or myraw.home.local
 
** Your system should have a fully-qualified hostname, i.e. scalixraw.company.com or myraw.home.local
 
** The "hostname" command should return the short hostname, while the "hostname --fqdn" command should return the fully-qualified hostname
 
** The "hostname" command should return the short hostname, while the "hostname --fqdn" command should return the fully-qualified hostname
** Both the hostname and the fully-qualified hostname should resolve to the system's IP address (not the loopback 127.0.0.1 IP address)
+
** Both the hostname and the fully-qualified hostname should resolve to the system's IP address ('''not''' the loopback 127.0.0.1 IP address).<br>''Note: RedHat and Fedora default installations setup /etc/hosts incorrectly. This must be changed manually after installation.''
 
** The special name "localhost" should resolve to 127.0.0.1
 
** The special name "localhost" should resolve to 127.0.0.1
 
** The IP address of the system should reverse-resolve to the fully-qualified hostname (not the short hostname or localhost)
 
** The IP address of the system should reverse-resolve to the fully-qualified hostname (not the short hostname or localhost)
Line 30: Line 68:
 
=== Disk/File System Configuration ===
 
=== Disk/File System Configuration ===
 
* Scalix Software is installed in /opt. You need 200 MB in this directory
 
* Scalix Software is installed in /opt. You need 200 MB in this directory
* Scalix Data is kept in /var/opt/scalix. You need a minimum of 200 MB plus the size of any mailboxes. We recommend you make /var/opt/scalix a separate file system
+
* Scalix Data is kept in /var/opt/scalix. You need a minimum of 200 MB plus the size of any mailboxes. It is best to make /var/opt/scalix a separate file system
* We recommend you put /var/opt/scalix on an LVM logical volume for online backup (this needs Snapshot functionality) and size management
+
* It is recommended that you put /var/opt/scalix on an LVM logical volume for online backup (this needs Snapshot functionality) and size management
 
* Most Scalix systems are installed using an ext3 file system on Linux; however, most local file systems (XFS, Reiser) should work as well
 
* Most Scalix systems are installed using an ext3 file system on Linux; however, most local file systems (XFS, Reiser) should work as well
* For performance reasons (small, synchronous I/O operations), we do not recommend you run Scalix off an NFS file system
+
* For performance reasons (small, synchronous I/O operations), it is not recommended that you run Scalix off an NFS file system
  
 
=== Disabling Conflicting Services ===
 
=== Disabling Conflicting Services ===
Scalix comes with its own POP3, IMAP, LDAP and SMTP services; these might conflict with components already installed on the system.
+
Scalix comes with its own POP3, IMAP, LDAP and SMTP services. These might conflict with components already installed on the system.
* Check for processes listening on the POP3 and IMAP ports. Use the <pre>lsof -i :110</pre> and <pre>lsof -i :143</pre> commands for this. If you see any process/service running, shut it down and disable it from being started with system startup
+
* To check for processes listening on the POP3 and IMAP ports, use the <pre>lsof -i :110  or  netstat -anp|grep 110</pre> and <pre>lsof -i :143  or  netstat -anp|grep 143 </pre> commands. If you see any process/service running, shut it down and disable it from starting with system startup
* Check for processes listening on the standard LDAP port. Use the <pre>lsof -i :389</pre> command for this. If you see any process/service running, you will need to use an alternate port number for Scalix LDAP. Please see below for details.
+
* To check for processes listening on the standard LDAP port, use the <pre>lsof -i :389  or  netstat -anp|grep 389</pre> command. If you see any process/service running, use an alternate port number for Scalix LDAP. Please see below for details.
* Check for processes listening on the standard SMTP port. Use the <pre>lsof -i :25</pre> command for this. With Sendmail installed (required), it is normal that Sendmail listens on 127.0.0.1:25. However, it should not listen on your external IP address. If you see any process/service listening on the external IP address, reconfigure your MTA. If your current MTA is not Sendmail, retry after removing your current MTA and replacing it with Sendmail.
+
* To check for processes listening on the standard SMTP port, use the <pre>lsof -i :25  or netstat -anp|grep 25</pre> command. With Sendmail installed (required), it is normal that Sendmail listens on 127.0.0.1:25. However, it should not listen on your external IP address. If you see any process/service listening on the external IP address, reconfigure your MTA. If your current MTA is not Sendmail, retry after removing your current MTA and replacing it with Sendmail.
  
 
=== Software Selection ===
 
=== Software Selection ===
The following additional packages that come with the OS distribution are usually needed after base installation (all references to debian package names are from the Sarge stable release):
+
The following additional packages that come with the OS distribution are usually needed after base installation (all references to Debian package names are from the Sarge stable release; Ubuntu package search was based on the 12.04 wheezy release ).
 +
 
 +
''Note:'' On Ubuntu, you will have to add the '''multiverse''' repository and uncomment the '''universe''' repository  configuration in ''/etc/apt/sources.list'' and run the <pre>apt-get update</pre> command.
 +
 
 +
* Shortcuts
 +
** '''Ubuntu''' including Java <pre>apt-get install apache2 gawk krb5-config krb5-doc krb5-user libkadm55 libkrb53 libglib2.0-0 libstdc++2.10-glibc2.2 libxml2 sgml-base xml-core postgresql-8.1 libsasl2-modules libsasl2-modules-gssapi-mit sendmail elinks sun-java5-jre</pre>
 +
** '''Debian Sarge''', excluding Java <pre>apt-get install apache2 gawk krb5-config krb5-doc krb5-user libkadm55 libkrb53 libglib2.0-0  libstdc++2.10-glibc2.2 libxml2 sgml-base xml-core postgresql libsasl2-modules libsasl2-gssapi-mit sendmail elinks</pre>
 +
 
 
* Apache Webserver 2.x
 
* Apache Webserver 2.x
** on debian, this is the apache2 package
+
** on '''Debian''', '''SUSE '''and '''Ubuntu''', this is the ''apache2'' package
 +
** on '''RedHat''', this is the httpd package
 +
 
 
* Gnu AWK
 
* Gnu AWK
** on debian, this is the gawk package
+
** on '''Debian''', '''RedHat''', '''SUSE''' and '''Ubuntu''', this is the ''gawk'' package
 +
 
 
* Kerberos (MIT Kerberos 5)
 
* Kerberos (MIT Kerberos 5)
** on debian, these are the krb5-config, krb5-doc, krb5-user, libkadm55 and libkrb53 packages
+
** on '''Debian''' and '''Ubuntu''', these are the ''krb5-config'', ''krb5-doc'', ''krb5-user'', ''libkadm55'' and ''libkrb53'' packages
 +
** on '''SUSE''', these are the ''krb5'', ''krb5-apps-clients'', ''krb5-apps-servers'', ''krb5-client'', ''krb5-server'', and ''pam_krb5'' packages
 +
** on '''RedHat''', these are the krb5-libs and krb5-workstation packages
 +
 
 
* libglib2
 
* libglib2
** on debian, this is the libglib2.0-0 package
+
** on '''Debian''' and '''Ubuntu''', this is the ''libglib2.0-0'' package
 +
** on '''SUSE''', this is the ''glib2'' package
 +
** on '''RedHat''', this is the ''glib2'' package
 +
 
 
* libstdc++
 
* libstdc++
** on debian, this is the libstdc++2.10-glibc2.2 package
+
** on '''Debian''' and '''Ubuntu''', this is the ''libstdc++2.10-glibc2.2'' package
 +
** on '''Ubuntu''' the ''gcc-4.3-base'' and  ''libstdc++5'' packages are also required
 +
** on '''SUSE''', these are the ''libstdc++'' and ''compat'' packages
 +
** on '''RedHat''', this is the compat-libstdc++-296 package
 +
 
 
* libxml2
 
* libxml2
** on debian, these are the libxml2, sgml-base and xml-core packages
+
** on '''Debian''', '''RedHat''' and '''Ubuntu''', these are the ''libxml2'', ''sgml-base'' and ''xml-core'' packages
 +
** on '''SUSE''', these are the ''libxml2'', ''sgmltool'', and ''xml-commons'' packages
 +
 
 +
* Postgres
 +
** on '''Debian''', this is the ''postgresql'' package
 +
** on '''Ubuntu''', this is the ''postgresql-9.1'' package
 +
 
 
* SASL2 and modules for plain, crammd5 and gssapi (for MIT Kerberos)
 
* SASL2 and modules for plain, crammd5 and gssapi (for MIT Kerberos)
** on debian, these are the libsasl2-modules and libsasl2-gssapi-mit packages
+
** on '''Debian''' and '''Ubuntu''', these are the ''libsasl2-modules'' and ''libsasl2-gssapi-mit'' packages
 +
** on SUSE, these are the ''cyrus-sasl-plain'', ''cyrus-sasl-digestmd5'', ''cyrus-sasl'', ''cyrus-sasl-saslauthd'', ''cyrus-sasl-gssapi'', and ''cyrus-sasl-crammd5'' packages
 +
** on '''RedHat''', these are the cyrus-sasl, cyrus-sasl-md5, cyrus-sasl-plain and cyrus-sasl-gssapi packages
 +
 
 
* Sendmail (possibly replacing default-install Postfix or Exim)
 
* Sendmail (possibly replacing default-install Postfix or Exim)
** on debian, this is the sendmail package
+
** on '''Debian''', '''SUSE''', and '''RedHat''', this is the ''sendmail'' package
* W3M text-based web browser
+
 
** on debian, this is the w3m package
+
* text-based web browser
 +
** on '''Debian''', '''RedHat''' and '''Ubuntu''', this is the ''elinks'' package
 +
** on '''SUSE''', the default is ''w3m'', but you can use ''links'' if you like
 +
 
 +
* script-language
 +
** on '''Debian''', '''Ubuntu''', this is the ''gawk'' package
  
 
=== Required 3rd Party Software ===
 
=== Required 3rd Party Software ===
 
The following third party software is required to run a Scalix server:
 
The following third party software is required to run a Scalix server:
* '''Sun Java'''<br>Scalix requires a Sun Java JRE or JDK version 1.5.0_04 or higher patch revision. On RPM-based systems, an appropriate RPM is available from [http://java.sun.com/j2se/1.5.0/download.jsp Sun]. Sun currently does not provide .deb packages. Decent instructions on how to generate a .deb package from Sun's download can be found [http://www.us.debian.org/doc/manuals/debian-java-faq/ch11.html#s11.2 here]. It seems that the instructions provided for testing apply to Sarge stable; the control files mentioned were there. Note that if you use a JRE some of the commands will not be needed or look slightly different.
 
* '''Apache Tomcat'''<br>Scalix requires a Apache Tomcat Application server of version 5.0.28. This is available from the [http://tomcat.apache.org/download-55.cgi#5.0.28 Apache Tomcat project]. For installation, you should just untar this under /opt (as /opt/jakarta-tomcat-5.0.28). You should then create a symbolic link called /opt/scalix-tomcat. You will then need to make some modifications to the system as detailed below.<br>''Note:'' Scalix plans to provide customized Tomcat packages in both rpm and deb formats in the near future.
 
** Because we're using Java 1.5, you will need to remove one of the libary files that ship with Tomcat 5.0: <pre>rm /opt/scalix-tomcat/common/endorsed/xml-apis.jar</pre>
 
** Add the following lines to the beginning of your /opt/scalix-tomcat/bin/setclasspath.sh file: <pre>PATH=$PATH:/opt/scalix/bin</pre><pre>JAVA_HOME=/usr/local/lib/jre          # Make this /usr/local/lib/jdk when using a JDK</pre><pre>JAVA_OPTS="-server -Xms128m -Xmx128m"  # Make this 1/2 your RAM or 512 whichever is less</pre><pre>export JAVA_HOME JAVA_OPTS</pre>
 
** When using a JRE as opposed to a JDK, change the line reading <pre>if [ ! -x "$JAVA_HOME"/bin/java -o ! -x "$JAVA_HOME"/bin/jdb -o ! -x "$JAVA_HOME"/bin/javac ]</pre> to <pre>if [ ! -x "$JAVA_HOME"/bin/java]</pre>
 
** Integrate scalix-tomcat into your system startup. Create a /etc/init.d/scalix-tomcat script as per below, the execute the a <pre>update-rc.d scalix-tomcat defaults 22</pre> command.
 
  
#! /bin/sh
+
==== Apache requirements ====
#
+
For integration with Apache, either Apache 2.2 using mod_proxy_ajp or Apache 2.0 with mod_jk is required. A version of libapache2-mod-jk for debian Sarge stable is provided with the Scalix debian installation package.
+
set -e
+
+
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+
DESC="Scalix Tomcat"
+
NAME=scalix-tomcat
+
CATALINA_HOME=/opt/scalix-tomcat; export CATALINA_HOME
+
DAEMON=/opt/scalix-tomcat/bin/startup.sh
+
+
# Gracefully exit if the package has been removed.
+
test -x $DAEMON || exit 0
+
+
#
+
#      Function that starts the daemon/service.
+
#
+
d_start() {
+
        $CATALINA_HOME/bin/startup.sh
+
}
+
+
#
+
#      Function that stops the daemon/service.
+
#
+
d_stop() {
+
        $CATALINA_HOME/bin/shutdown.sh
+
}
+
+
case "$1" in
+
  start)
+
        echo -n "Starting $DESC: $NAME"
+
        d_start
+
        echo "."
+
        ;;
+
  stop)
+
        echo -n "Stopping $DESC: $NAME"
+
        d_stop
+
        echo "."
+
        ;;
+
  restart|force-reload)
+
        #
+
        #      If the "reload" option is implemented, move the "force-reload"
+
        #      option to the "reload" entry above. If not, "force-reload" is
+
        #      just the same as "restart".
+
        #
+
        echo -n "Restarting $DESC: $NAME"
+
        d_stop
+
        sleep 1
+
        d_start
+
        echo "."
+
        ;;
+
  *)
+
        echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
+
        exit 1
+
        ;;
+
esac
+
+
exit 0
+
  
 
=== Creating a Scalix Group and User (optional) ===
 
=== Creating a Scalix Group and User (optional) ===
Line 146: Line 156:
  
  
== Downloading and Installing the Scalix Raw Packages ==
+
== Downloading the Scalix Packages ==
The Scalix Raw packages can be downloaded [http://www.scalix.com/ceraw/download here]. You will need packages for the following modules appropriate for your platform:
+
The Scalix 12 packages can be downloaded from [downloads.scalix.com/scalix-12.0.3-GA-enterprise-suse-intel.bin]. You will need packages for the following modules appropriate for your platform:
  
 
* '''scalix-server-*''': the actual Scalix Server software
 
* '''scalix-server-*''': the actual Scalix Server software
 
* '''scalix-swa-*''': the Scalix Web Access webclient; this can be installed on the same machine as the Scalix server or on a separate webserver
 
* '''scalix-swa-*''': the Scalix Web Access webclient; this can be installed on the same machine as the Scalix server or on a separate webserver
* '''scalix-sac-*''': the Scalix Admin Server; if you want to use the Scalix Admin Console, this must be installed on the Scalix server machine
+
* '''scalix-sac-*''': the Scalix Management Services; if you want to use the Scalix Management Console, this must be installed on the Scalix server machine
* '''scalix-res-*''': the Scalix Remote Execution Service; this is the management agent used by the Scalix Admin Server. This is required on all systems that are managed by a Scalix Admin Server. As Scalix CE Raw is limited to single server configurations, this must be installed on the single Scalix server machine.
+
* '''scalix-res-*''': the Scalix Remote Execution Service; this is the management agent used by Scalix Management Services. This is required on all systems that are managed by a Scalix Admin Server. As Scalix CE is limited to single server configurations, this must be installed on the single Scalix server machine.
* '''libical''': this is a Scalix adaption/compile based on an OpenSource implementation of a RFC-compliant ical library available from the Free Association project. The projects homepage is on [http://sourceforge.net/projects/freeassociation/ SourceForge]. Scalix provides source and binary packages in .rpm and .deb format on the Scalix CE Raw download site.
+
* '''libical''': this is a Scalix adaption/compile based on an OpenSource implementation of a RFC-compliant ical library available from the Free Association project. The projects homepage is on [http://sourceforge.net/projects/freeassociation/ SourceForge]. Scalix provides source and binary packages in .rpm and .deb format within the respective Scalix tarballs.
 +
* '''scalix-mobile-*''': the Scalix Web Access Mobile webclient; this can be installed on the same machine as the Scalix server or on a separate server
 +
* '''scalix-platform-*''': the Scalix Messaging Services API platform; this can be installed on the same machine as the Scalix server or on a separate server, though the former is typical. It uses the Postgres database and is being used by both SWA and SWA Mobile.
 +
* '''scalix-sis-*''': the Scalix Search and Indexing Services - based on Apache Lucene, this provides full-text and attachment indexing for Scalix data
 +
* '''scalix-tomcat-*''': a customized version of Apache Tomcat adapted for Scalix use
 +
* '''scalix-postgres-*''': the Scalix database integration pacakge
  
Copy all the .rpm or .deb files to a temporary directory location on your server. Then, install the packages using the standard OS tools.
+
Copy all the .rpm or .deb files to a temporary directory location on your server.
* For rpm-based systems, use <pre>rpm -ivh *.rpm</pre>
+
 
* For deb-based systems, use <pre>dpkg -i *.deb</pre>
+
== Installing the Scalix Server package ==
 +
 
 +
Install the Scalix Server package.
 +
 
 +
Make sure you use the rpm's for your Linux distribution!
 +
* For rpm-based systems, use <pre>rpm -ivh scalix-server*.rpm</pre>
 +
* For deb-based systems, use <pre>dpkg -i scalix-server*.deb</pre>
  
 
In case of any missing dependencies or other errors, these should be resolved and the Scalix package installation retried before continuing.
 
In case of any missing dependencies or other errors, these should be resolved and the Scalix package installation retried before continuing.
  
 +
Please note that under some circumstances the (re)installation will fail when not all prerequisites were met.
 +
Before retrying the installation, please remove all scalix packages (run within the directory where all Scalix .deb-files are located)
 +
apt-get remove `ls |cut -d'_' -f1|xargs echo`
  
== Creating and configuring the initial Scalix Server Instance ==
+
== Creating and Configuring the Initial Scalix Server Instance ==
  
The following assumes that you have added /opt/scalix/bin to your PATH. Otherwise, you will need to use absolute pathnames for all the commands.
+
The following assumes you have added /opt/scalix/bin to your PATH. If not, you must use absolute pathnames for all commands.
  
 
=== Initialize the Scalix Message Store ===
 
=== Initialize the Scalix Message Store ===
To initialize the Scalix message store, use the <pre>ommakeom</pre> command. This creates an empty message store in /var/opt/scalix and also adds config file templates for all components into this directory tree. The process will take 3-15 minutes, depending on the speed of your system. Please check the screen output for any errors or problems during the process. A log of the message store creation can also be found in /var/opt/scalix/sys/install/log. In case of any error, correct the problem and restart message store creation by using the <pre>ompatchom</pre> command.<br><br>
+
On Debian and Ubuntu, before initialising the Scalix message store, you should install the '''libssl0.9.7''' package if it is available.  If it is not available, you can try sym-linking the '''libcrypto.so.0.9.8''' library to '''libcrypto.so.0.9.7''' instead.  Sym-linking is not recommended however as there are significant changes between the two versions of OpenSSL in question.
  
=== Set generation rules for display name, login name and Internet address ===
+
To initialize the Scalix message store, use the <pre>ommakeom</pre> command. This creates an empty message store in /var/opt/scalix and also adds config file templates for all components into this directory tree. The process takes 3-15 minutes, depending on the speed of your system. Please check the screen output for any errors or problems during the process. A log of the message store creation is located in /var/opt/scalix/sys/install/log. In case of error, correct the problem and restart message store creation by using the <pre>ompatchom</pre> command.<br><br>
Before creating any new user, default rules for generating the display name (shown in 'From' email headers and address book display), the login name (used to login to Scalix clients) and Internet address should be set.<br><br>The following is a list of user attributes that can be used in those rules:<br>'''G''' represents the given name in mixed/original casing<br>'''S''' represents the surname in mixed/original casing<br>'''I''' represents the middle initial(s) in mixed/original casing<br>'''C''' represents the common name/display name in mixed/original casing (this cannot be used in the display name generation)<br>'''g''', '''s''', '''i''' and '''c''' represent the first character of the given name/surname/initials/common name in lower case<br>'''f''' and '''l''' represent the full given name/last name in lowercase<br><br>
+
#* To setup generation rules for the display name, use the <pre>sxconfig --set -t general.usrl_cn_rule='<rule>'</pre> command, e.g. <pre>sxconfig --set -t general.usrl_cn_rule='S, G'</pre> to set the display name generation rule to Last, First.<br><br>
+
#* To setup generation rules for the login name, use the <pre>sxconfig --set -t general.usrl_authid_rule='<rule>'</pre> command, e.g. <pre>sxconfig --set -t general.usrl_authid_rule='gs@'</pre> to set the login name generation rule to use the initials of the user in lowercase. If you omit the '''@''' character from this rule, the fully-qualified domain name of the server will be appended to the login name. This is useful in multi-server environments (which are not supported for Scalix CE Raw). Please see the <pre>man omaddu</pre> for details.<br><br>
+
#* To setup generation rules for the internet address, use the <pre>sxconfig --set -t orniasys.name_part_<n>='<rule>' -t orniasys.domain_part_<n>='<domain>'</pre> command, e.g. <pre>sxconfig --set -t orniasys.name_part_1='"C" <G.S>' -t orniasys.domain_part_1='mycompany.com'</pre> to set the internet address generation rule to generate addresses in the form '''"Last, First" <First.Last@mycompany.com>''' (provided that the display name generation rule is Last, First, as '''C''' maps to the display name). Please see <pre>man omiam</pre> for details.<br><br>''Note:'' You can set up to 5 internet address generation rules for the system by specifying different values from 1 to 5 for <n>.<br><br>
+
  
=== Creating the default Mailnode ===
+
=== Set Generation Rules for Display Name, Login Name and Internet Address ===
The mailnode is a organizational unit grouping users. This becomes important in multi-server setups supported for Scalix Enterprise Edition. For single-server systems, creating a single, default mailnode is usually sufficient. It is recommended to use the organization name (without any 8-bit or special characters) as the mailnode name. To create the initial mailnode and make it the default, use the <pre>omaddmn -m <mailnode></pre> command, e.g. <pre>ommaddmn -m mycompany</pre>.<br>
+
Before creating any new user, set the default rules for generating the display name (shown in 'From' email headers and address book display), the login name (used to log in to Scalix clients) and the Internet address.<br><br>The following is a list of user attributes you can use in those rules:<br>'''G''' represents the given name in mixed/original casing<br>'''S''' represents the surname in mixed/original casing<br>'''I''' represents the middle initial(s) in mixed/original casing<br>'''C''' represents the common name/display name in mixed/original casing (this cannot be used in the display name generation)<br>'''g''', '''s''', '''i''' and '''c''' represent the first character of the given name/surname/initials/common name in lower case<br>'''f''' and '''l''' represent the full given name/last name in lowercase<br><br>
 +
#* To set up generation rules for the display name, use the <pre>sxconfig --set -t general.usrl_cn_rule='<rule>'</pre> command, e.g. <pre>sxconfig --set -t general.usrl_cn_rule='S, G'</pre> to set the display name generation rule to Last, First.<br><br>
 +
#* To set up generation rules for the login name, use the <pre>sxconfig --set -t general.usrl_authid_rule='<rule>'</pre> command, e.g. <pre>sxconfig --set -t general.usrl_authid_rule='gs@'</pre> to set the login name generation rule to use the initials of the user in lowercase. If you omit the '''@''' character from this rule, the fully-qualified domain name of the server appends to the login name. This is useful in multi-server environments (which are not supported for Scalix CE Raw). Please see the <pre>man omaddu</pre> for details.<br><br>
 +
#* To set up generation rules for the Internet address, use the <pre>sxconfig --set -t orniasys.name_part_<n>='<rule>' -t orniasys.domain_part_<n>='<domain>'</pre> command, e.g. <pre>sxconfig --set -t orniasys.name_part_1='"C" <G.S>' -t orniasys.domain_part_1='mycompany.com'</pre> to set the Internet address generation rule to generate addresses in the form '''"Last, First" <First.Last@mycompany.com>''' (provided that the display name generation rule is Last, First, as '''C''' maps to the display name). Please see <pre>man omiam</pre> for details.<br><br>''Note:'' You can set up to five Internet address-generation rules for the system by specifying different values from 1 to 5 for <n>.<br><br>
  
=== Setting up a non-default LDAP port number ===
+
=== Creating the Default Mailnode ===
If the system already has some LDAP service using the standard LDAP TCP port (389), this should be changed to some other port number now. Edit the /var/opt/scalix/sys/slapd.conf and change the portnumber to a different value. Scalix recommends using port 3890. The line to be changed should look like this: <pre>portNum          3890</pre>
+
The mailnode is a organizational unit grouping users. This becomes important in multi-server setups supported for Scalix Enterprise Edition. For single-server systems, creating a single, default mailnode is usually sufficient. It is best to use the organization name (without any 8-bit or special characters) as the mailnode name. To create the initial mailnode and make it the default, use the <pre>omaddmn -m <mailnode></pre> command, e.g. <pre>omaddmn -m mycompany</pre>.<br>
  
=== Starting the server daemons ===
+
=== Setting up a Non-Default LDAP Port Number ===
Before the first set of users can be created, the server daemons must be started. To do this, use the <pre>omrc -n</pre> command. The -n option will prevent mail delivery and user signon services from being started because these are not usable at this time.<br><br>
+
If the system already has some LDAP service using the standard LDAP TCP port (389), change to another port number now. Edit the /var/opt/scalix/<instance>/s/sys/slapd.conf and change the port number to a different value. Scalix recommends using port 3890. The line to be changed should look like this: <pre>portNum          3890</pre>
  
=== Creating the default admin user ===
+
=== Starting the Server Daemons ===
To create a default admin account, use the <pre>omaddu -n <fullname>/<mailnode> --class <class> -c admin -p <password> <loginname></pre> command, e.g. <pre>omaddu -n sxadmin/mycompany --class limited -c admin -p secret sxadmin</pre>, where
+
Before creating the first set of users, start the server daemons. To do this, use the <pre>omrc -n</pre> command. The -n option prevents mail delivery and user signon services from starting because these are not usable at this time.<br><br>
#* '''sxadmin''' is the full name of the admin user as displayed in the address book
+
#* '''mycompany''' is the default mailnode created in the previous step
+
#* '''limited''' is either ''full'' or ''limited''. When creating the admin user as a full user, this will use one of the 25 free premium mailboxes available in Scalix CE raw. However, if created as a limited user the user won't be able to use Outlook to login or access public folder information through SWA.
+
#* '''-c admin''' sets full admin capabilities for the user
+
#* '''secret''' is the users initial password
+
#* '''sxadmin''' is the users loginname<br><br>
+
  
=== Configuring the admin user ===
+
=== Creating the Default Admin User ===
The admin user is then setup as "Postmaster" to receive system error messages: <pre>omconfenu -n "sxadmin/mycompany"</pre>. Also, he would be excluded from any system wide inbox quota checking: <pre>omlimit -u "sxadmin/mycompany" -o -i 0 -m 0</pre><br>
+
To create a default admin account, use the <pre>omaddu -n <fullname>/<mailnode> --class <class> -c admin -p <password> <loginname></pre> command, e.g.
  
=== Creating the LDAP Query user ===
+
omaddu -n sxadmin/mycompany --class limited -c admin -p secret sxadmin
For allowing the Scalix Admin Server and Admin Console to access user information through Scalix LDAP, a system user must be created as follows:<pre>omaddu -n   sxqueryadmin/mycompany --class limited -c admin -p pass sxqueryadmin@hostfqdn</pre>The password of  this user can be anything, but the username (sxqueryadmin) and the user's login name must match the   values provided where hostname.mycompany.com is the FQDN of your server as returned by the hostname   --fqdn command. The user can always be created as a limited user because the only server he is   allowed to login to is LDAP which does not require a premium user account.<br><br>
+
 
 +
; Note : Don't forget to quote if the name contains spaces, eg:
 +
 
 +
omaddu -n "Admin User/mynode" --class limited -c admin -p secret sxadmin
 +
 
 +
where
 +
 
 +
# '''sxadmin''' is the full name of the admin user as displayed in the address book
 +
# '''mycompany''' is the default mailnode created in the previous step
 +
# '''limited''' is either ''full'' or ''limited''. When creating the admin user as a full user, this will use one of the 25 free premium mailboxes available in Scalix CE raw. However, if created as a limited user, the user won't be able to use Outlook to log in or access public folder information through SWA.
 +
# '''-c admin''' sets full admin capabilities for the user
 +
# '''secret''' is the users initial password
 +
# '''sxadmin''' is the users login name<br><br>
 +
 
 +
; Note : When creating the user fails with error like this '''"omaddu : [OM 8154] No more id's are available from the system id pool"''' then you have to create a new user-space like this:
 +
: First check for possibly existing users:  ''omshowu -m all''
 +
: Then add new user space for e.g. 1000 user:  ''omadmidp -a -s 66000 -n 1000'' (Each Scalix mailbox that is added will require a Unix/Linux ID. In this example Unix-ID pool 66000-66999 is added.)
 +
 
 +
=== Configuring the Admin User ===
 +
Set up the Admin user as "Postmaster" to receive system error messages: <pre>omconfenu -n "sxadmin/mycompany"</pre>. This user is excluded from system-wide inbox quota checking: <pre>omlimit -u "sxadmin/mycompany" -o -i 0 -m 0</pre><br>
 +
 
 +
=== Creating the LDAP Query User ===
 +
To allow the Scalix Admin Server and Admin Console to access user information through Scalix LDAP, create a system user as follows:
 +
omaddu -n sxqueryadmin/<mailnode> --class limited -c admin -p <passwd> sxqueryadmin@<fqdn>
 +
This user's password can be anything, but the username (sxqueryadmin) and the user's login name must match the values provided where <fqdn> is the FQDN of your server as returned by the hostname --fqdn command. The user can always be created as a limited user because the only server he is allowed to log in to is LDAP, which does not require a premium user account.<br><br>
  
 
=== Creating the Standard Scalix Admin Groups ===
 
=== Creating the Standard Scalix Admin Groups ===
Next, the standard Scalix Admin groups for the   Scalix Admin server must be created. The names of these groups are fixed so they should always be  created as follows: <pre>omaddpdl -l ScalixUserAdmins/mycompany</pre><pre>omaddpdl -l ScalixGroupAdmins/mycompany</pre><pre>omaddpdl -l ScalixUserAttributesAdmins/mycompany</pre><pre>omaddpdl -l ScalixAdmins/mycompany</pre><br>
+
Next, create the standard Scalix Admin groups for the Scalix Admin server. The names of these groups are fixed, so you must create them as follows:  
 +
 
 +
omaddpdl -l ScalixUserAdmins/mycompany
 +
omaddpdl -l ScalixUserAttributesAdmins/mycompany
 +
omaddpdl -l ScalixGroupAdmins/mycompany
 +
omaddpdl -l ScalixAdmins/mycompany
 +
 
 +
NOTE:  Depending on your Generation Rules, these commands may complain with "omaddpdl : [OM 18043] The Internet Address is already assigned" but it seems to work anyway.
  
 
=== Adding Standard Tweak Settings ===
 
=== Adding Standard Tweak Settings ===
We recommend adding the following tweak settings to /var/opt/scalix/sys/general.cfg. For details on these settings, please refer to the Scalix Administration Guide.<br><br>
+
We recommend adding the following tweak settings to '''/var/opt/scalix/<instance>/s/sys/general.cfg''' . For details on these settings, please refer to the Scalix Administration Guide.<br><br>
 
  #
 
  #
 
  # The CDA service (used for "type down" in some clients) is more
 
  # The CDA service (used for "type down" in some clients) is more
Line 216: Line 264:
 
  # These tweaks limit the number and rate of IMAP connections to the
 
  # These tweaks limit the number and rate of IMAP connections to the
 
  # server. The IMAP_CONNECTION_LIMIT simply restricts the total number of
 
  # server. The IMAP_CONNECTION_LIMIT simply restricts the total number of
  # connections to the server -- note that many IMAP clients have several
+
  # connections to the server. Note that many IMAP clients have several
 
  # connections for each IMAP session. The IMAP_CONNRATE_LIMIT restricts
 
  # connections for each IMAP session. The IMAP_CONNRATE_LIMIT restricts
 
  # the rate at which clients can connect to the server, in this case, at
 
  # the rate at which clients can connect to the server, in this case, at
  # most ten connections per second; if clients try to connect faster
+
  # most 10 connections per second. If clients try to connect faster
 
  # than that, the IMAP server simply slows down the rate at which it will
 
  # than that, the IMAP server simply slows down the rate at which it will
 
  # accept new connections.
 
  # accept new connections.
Line 228: Line 276:
 
  # The IMAP_IDLE_TIMEOUT tweak is the maximum time an IMAP connection
 
  # The IMAP_IDLE_TIMEOUT tweak is the maximum time an IMAP connection
 
  # will wait for a command before terminating the connection. The default
 
  # will wait for a command before terminating the connection. The default
  # setting, and the minimum required setting, is thirty minutes. Some
+
  # setting, and the minimum required setting, is 30 minutes. Some
  # clients will "refresh" their connection once every thirty minutes
+
  # clients "refresh" their connection once every thirty minutes
 
  # exactly -- but if they are a little bit late, the server drops their
 
  # exactly -- but if they are a little bit late, the server drops their
 
  # connection. Setting a timeout of 31 minutes avoids this problem.
 
  # connection. Setting a timeout of 31 minutes avoids this problem.
Line 236: Line 284:
 
  #
 
  #
 
  # This tweak arranges for Local Delivery to automatically create a
 
  # This tweak arranges for Local Delivery to automatically create a
  # message store for users who have been created without one.
+
  # message store for users created without one.
  # Users who have been added using the bulk-add mechanism used by the
+
  # Users added with the bulk-add mechanism used by the
  # wizard will not have a message store and so setting this tweak allows
+
  # wizard do not have a message store. So setting this tweak allows
  # them to receive mail before they have been signed on initially.
+
  # them to receive mail before they are initially signed on.
 
  #
 
  #
 
  LD_CREATE_MESSAGE_STORE=TRUE
 
  LD_CREATE_MESSAGE_STORE=TRUE
 
  #
 
  #
  # These three tweaks allow users to signon using an alias. Only
+
  # These three tweaks allow users to sign on using an alias. Only
 
  # system-defined aliases are permitted and it the alias name is ignored
 
  # system-defined aliases are permitted and it the alias name is ignored
 
  # for the purposes of message creation and so on.
 
  # for the purposes of message creation and so on.
 
  #  
 
  #  
  # Note that changing these settings normally requires Scalix to be
+
  # Note that changing these settings normally requires restarting Scalix.
# restarted.
+
 
  #
 
  #
 
  UAL_SIGNON_ALIAS=YES
 
  UAL_SIGNON_ALIAS=YES
Line 255: Line 302:
  
 
=== Starting Scalix Services ===
 
=== Starting Scalix Services ===
As a final step, you should now start all services using the following command:<pre>omon -s all</pre>
+
As a final step, start all services now using the following command:<pre>omon -s all</pre>
  
== Configuring Scalix Web Applications ==
+
== Installing the Scalix Application packages ==
You will need to follow a few simple steps to integrate Scalix web applications into your Tomcat application server.
+
  
=== Integrating the Web Applications into Tomcat ===
+
Now install the remaining packages
If you have setup Scalix and Tomcat as per above, you will just need to create a few symbolic links to integrate the web applications into the Tomcat application server:
+
  
ln -s /opt/scalix/web/scalix-res.xml  /opt/scalix-tomcat/conf/Catalina/localhost
+
Make sure you use the rpm's for your Linux distribution!
ln -s /opt/scalix/web/scalix-admin.xml /opt/scalix-tomcat/conf/Catalina/localhost
+
* For rpm-based systems, use <pre>rpm -ivh scalix-<package>*.rpm</pre>
  ln -s /opt/scalix/web/scalix-caa.xml  /opt/scalix-tomcat/conf/Catalina/localhost
+
* For deb-based systems, use <pre>dpkg -i scalix-<package>*.deb</pre>
  ln -s /opt/scalix/web/scalix-swa.xml  /opt/scalix-tomcat/conf/Catalina/localhost
+
 
 +
where package is one of mobile, platform, postgres, res, sac, sis, swa, tomcat, tomcat-connector.
 +
 
 +
In case of any missing dependencies or other errors, these should be resolved and the Scalix package installation retried before continuing.
 +
 
 +
== Setting up Scalix-Tomcat ==
 +
 
 +
=== Setting Tomcat memory allocation ===
 +
Edit the following line in '''/etc/opt/scalix-tomcat/scalix-tomcat.conf''' so that '''JAVA_OPTIONS''' on a small server has parameters that allocate 50% of your RAM or 512MB, whichever is less, to your Tomcat application server, e.g.
 +
  JAVA_OPTS="-server -Xms512m -Xmx512m"
 +
for a machine with 512 MB of RAM and a 32bit OS.
 +
 
 +
For a large server, with 8Gb of RAM and a 64bit OS, you would allocate more memory:
 +
JAVA_OPTS="-server -Xms1024m -Xmx2048m"
 +
 
 +
== Setting up Scalix-Postgres ==
 +
 
 +
/opt/scalix-postgres/bin/sxpsql-init                  # To create the database and tables
 +
  /opt/scalix-postgres/bin/sxpsql-setpwd mypassword    # This is a database password you select
 +
/opt/scalix-postgres/bin/sxpsql-whitelist 192.168.1.1 # This is the IP address matching the
 +
                                                      # hostname of the machine as used above
 +
 
 +
== Configuring Scalix Applications ==
 +
You will need to follow a few simple steps to integrate Scalix Applications into your Tomcat application server.
  
 
=== Configuring Scalix Web Access ===
 
=== Configuring Scalix Web Access ===
You will then need to setup a number of parameters in /etc/opt/scalix/webmail/swa.properties:
+
Now, you must set up a number of parameters in '''/var/opt/scalix/<instance>/webmail/swa.properties''':
  
  swa.email.domain=mycompany.com                                   # Add your main domain here
+
# Add your main domain here
  swa.email.imapServer=scalix.mycompany.com                         # FQDN of your Scalix server
+
  swa.email.domain=mycompany.com
  swa.email.smtpServer=scalix.mycompany.com                         # FQDN of your Scalix server
+
# FQDN of your Scalix server
  swa.settings.rulesWizardURL=http://scalix.mycompany.com/Scalix/rw # FQDN of your Scalix server
+
  swa.email.imapServer=scalix.mycompany.com
  swa.ldap.1.server=scalix.mycompany.com                           # FQDN of your Scalix server
+
# FQDN of your Scalix server                        
  swa.ldap.1.port=389                                              # The port number of your  
+
  swa.email.smtpServer=scalix.mycompany.com
                                                                  # Scalix LDAP server; if you  
+
  swa.settings.rulesWizardURL=/Scalix/rw
                                                                  # have changed this from the
+
# FQDN of your Scalix server
                                                                  # default during server install,
+
  swa.ldap.1.server=scalix.mycompany.com
                                                                  # this needs to be reflected
+
  # The port number of your  
  swa.ldap.2.server=scalix.mycompany.com                            # FQDN of your Scalix server
+
# Scalix LDAP server; if you  
  swa.ldap.2.port=389                                              # The port number of your  
+
# have changed this from the
                                                                  # Scalix LDAP server; if you  
+
# default during server install,
                                                                  # have changed this from the
+
# this needs to be reflected                          
                                                                  # default during server install,
+
  swa.ldap.1.port=389
                                                                  # this needs to be reflected
+
# FQDN of your Scalix server                    
 +
  swa.ldap.2.server=scalix.mycompany.com
 +
# The port number of your
 +
# Scalix LDAP server; if you
 +
# have changed this from the
 +
# default during server install,
 +
# this needs to be reflected                      
 +
swa.ldap.2.port=389                                                                                                               
 +
# Points to Platform Host                                                                 
 +
swa.platform.url=http://scalix.mycompany.com/api
 +
# use the platform                 
 +
swa.platform.enabled=true
 +
# default timeout
 +
swa.soap.soapRequestTimeout=60
  
 
=== Configuring Scalix Ubermanager Admin Server ===
 
=== Configuring Scalix Ubermanager Admin Server ===
You will then need to setup a number of parameters in /etc/opt/scalix/caa/scalix.res/ubermanager.properties:
+
Next, you must set up a number of parameters in '''/var/opt/scalix/<instance>/caa/scalix.res/config/ubermanager.properties''' :
  
 
  ubermanager.query.server=scalix.mycompany.com                # FQDN of your Scalix server
 
  ubermanager.query.server=scalix.mycompany.com                # FQDN of your Scalix server
 
  ubermanager.kerberos.mode=false                              # N/A for single server
 
  ubermanager.kerberos.mode=false                              # N/A for single server
 
  ubermanager.kerberos.principalName=                          # "  "  "      "
 
  ubermanager.kerberos.principalName=                          # "  "  "      "
  ubermanager.kerberos.kdc                                     # "  "  "      "
+
  ubermanager.kerberos.kdc=                                    # "  "  "      "
  ubermanager.kerberos.realm                                   # "  "  "      "
+
  ubermanager.kerberos.realm=                                  # "  "  "      "
ubermanager.query.server=scalix.mycompany.com                # FQDN of your Scalix server
+
 
  ubermanager.console.externalAuth=false                      # default value
 
  ubermanager.console.externalAuth=false                      # default value
 
  ubermanager.console.allowExternalAuthChoice=false            # default value
 
  ubermanager.console.allowExternalAuthChoice=false            # default value
Line 302: Line 382:
 
  ubermanager.console.localDomains=mycompany.com              # Your email domain(s)
 
  ubermanager.console.localDomains=mycompany.com              # Your email domain(s)
 
  ubermanager.console.authDomains=                            # default value
 
  ubermanager.console.authDomains=                            # default value
  ubermanager.console.modifySyncedAuthId=false                 # default value
+
  ubermanager.console.modifyExternalSyncedAuthId=false         # default value
 
  ubermanager.query.server.port=389                            # Scalix LDAP port number
 
  ubermanager.query.server.port=389                            # Scalix LDAP port number
 
  ubermanager.configured=true                                  # to indicate file has been touched
 
  ubermanager.configured=true                                  # to indicate file has been touched
   
+
  ubermanager.version=11.0.1                                  # Please use your correct Scalix version
Also, create a file called /etc/opt/scalix/caa/scalix.res/psdata and put in the sxqueryadmin password. Make sure the file is only readable by root:
+
 
 +
Also, create a file called '''/var/opt/scalix/<instance>/caa/scalix.res/config/psdata''' and put in the sxqueryadmin password. Make sure the file is only readable by root:
  
  cd /etc/opt/scalix/caa/scalix.res
+
  cd /var/opt/scalix/<instance>/caa/scalix.res/config
 
  echo "<sxqueryadmin-password>" >psdata
 
  echo "<sxqueryadmin-password>" >psdata
 
  chown root:root psdata
 
  chown root:root psdata
Line 314: Line 395:
  
 
=== Configuring Scalix RES Admin Agent ===
 
=== Configuring Scalix RES Admin Agent ===
You will need to adjust a few parameters in /etc/opt/scalix/res/config/res.properties:
+
You will need to adjust a few parameters in '''/var/opt/scalix/<instance>/res/config/res.properties''' :
  
 
  res.kerberos.mode=                                          # Leave empty for single server
 
  res.kerberos.mode=                                          # Leave empty for single server
Line 321: Line 402:
 
  res.kerberos.allowedclients=ubermanager/scalix.mycompany.com # FQDN of your Scalix server
 
  res.kerberos.allowedclients=ubermanager/scalix.mycompany.com # FQDN of your Scalix server
 
  res.ubermanager.host=scalix.mycompany.com                    # FQDN of your Scalix server
 
  res.ubermanager.host=scalix.mycompany.com                    # FQDN of your Scalix server
  res.tomcat.tcp.port=8080                                    # http port number of Tomcat
+
  res.tomcat.tcp.port=80                                      # http port number of Tomcat
 
  res.configured=true                                          # to indicate file has been touched
 
  res.configured=true                                          # to indicate file has been touched
 +
res.version=11.0.1                                          # Please use your correct Scalix version
 +
 +
=== Configuring Scalix Messaging Services API Platform ===
 +
You will need to adjust a few parameters in '''/var/opt/scalix/<instance>/platform/platform.properties''' :
 +
 +
imap.host=scalix.mycompany.com                                                # FQDN of your Scalix server
 +
smtp.host=scalix.mycompany.com                                                # FQDN of your Scalix server
 +
ldap.port=389                                                                # Scalix LDAP port
 +
hibernate.connection.url = jdbc:postgresql://scalix.mycompany.com:5733/scalix # DB server or localhost
 +
                                                                              # Note Scalix specific PG port
 +
hibernate.connection.password = <Postgres-password>                          # as assigned on DB creation
 +
 +
=== Configuring Scalix Web Access Mobile ===
 +
You will need to adjust a few parameters in '''/var/opt/scalix/<instance>/mobile/mobile.properties''':
 +
 +
platform.url=http://scalix.mycompany.com/api                # URL to Messaging Services Platform
 +
 +
=== Configuring Scalix Search and Indexing Services ===
 +
You will need to adjust a few parameters in '''/var/opt/scalix/<instance>/sis/sis.properties''':
 +
 +
index.language=English                        # Default language for indexing,
 +
                                              # analysis, stemming search
 +
index.client.whitelist=192.168.1.1            # IP of your Scalix server
 +
search.client.whitelist=192.168.1.1          # IP of your Scalix server
  
 
=== Restarting Tomcat ===
 
=== Restarting Tomcat ===
After making all these changes, you have to restart tomcat with the following command: <pre>/etc/init.d/scalix-tomcat restart</pre>
+
After making all these changes, restart Tomcat with the following command: <pre>/etc/init.d/scalix-tomcat restart</pre>
  
 
=== Integrating the Web-based Scalix Rules Wizard into Apache ===
 
=== Integrating the Web-based Scalix Rules Wizard into Apache ===
 
You will just need to link the Apache config file into your Apache config directory:
 
You will just need to link the Apache config file into your Apache config directory:
* For debian, execute <pre>ln -s /opt/scalix/global/httpd/scalix-web-client.conf /etc/apache2/conf.d</pre> and restart apache using <pre>/etc/init.d/apache2 restart</pre>
 
  
== Testing your newly installed system ==
+
* For debian and SUSE, execute <pre>ln -s /opt/scalix/global/httpd/scalix-web-client.conf /etc/apache2/conf.d</pre> and restart apache using <pre>/etc/init.d/apache2 restart</pre>
You are now finished with the install. You should test a few things to make sure everything is working as designed:
+
 
 +
* For Redhat, execute <pre>ln -s /opt/scalix/global/httpd/scalix-web-client.conf /etc/httpd/conf.d</pre> and restart apache using <pre>/etc/init.d/httpd restart</pre>
 +
 
 +
== Testing Your Newly-Installed System ==
 +
Installation is now complete. Before starting with the new system, run these tests:
 
* Reboot your server. All services (Scalix Server, Tomcat and Apache) should come up on their own.
 
* Reboot your server. All services (Scalix Server, Tomcat and Apache) should come up on their own.
* Check the output of omstat -a and omstat -s commands. Item Structure Server may be listed as stopped, all other daemons and services should be up and running.
+
* Check the output of omstat -a and omstat -s commands. Item Structure Server may display as stopped. All other daemons and services should be up and running.
* try to access Scalix Admin Console from a browser using the http://scalix.mycompany.com:8080/sac URL. Login using your sxadmin loginname and password. Create a new user.
+
* Try to access Scalix Admin Console from a browser using the http://scalix.mycompany.com/sac URL. Log in using your sxadmin login name and password. Create a new user.
* try to access Scalix Web Access from a browser using the http://scalix.mycompany.com:8080/webmail URL. Login using your newly created user. Try address book lookups. Send an email message to yourself. Try to access the web-based Scalix Rules Wizard from your Extras menu.
+
* Try to access Scalix Web Access from a browser using the http://scalix.mycompany.com/webmail URL. Log in using your newly-created user. Try address book lookups. Send an email message to yourself. Try to access the Web-based Scalix Rules Wizard from your Extras menu.
* Download and install the Outlook connector. Setup a premium user. Install Outlook connector on a Windows PC. Setup an Outlook profile and access your Scalix mailbox from Outlook.
+
* Download and install the Outlook connector. Setup a premium user. Install the Outlook connector on a Windows PC. Set up an Outlook profile and access your Scalix mailbox from Outlook.
  
If all this works, your Scalix server is in good shape and you're ready to take it to the next level.
+
If all these work, your Scalix server is in good shape and you're ready to take it to the next level.
  
== What's next ==
+
== What's next? ==
* Read the docs. Check out the Administration Guide and Administration Console Guide. If you need more information, manpages contain a lot of valuable data. Start with <pre>man scalix-server</pre>
+
* Read the docs. Check out the Administration Guide and Administration Console Guide. If you need more information, manpages contain a lot of valuable data. Start with <pre>man scalix-server</pre>* Setup Tomcat to run as a non-root user for more security. This is described in the [[Technotes/Tomcat|Tomcat Technote]].
* Integrate Apache with Tomcat using mod_jk for better performance and security
+
* Use mod_deflate with Apache to reduce the amount of data transmitted over the wire for SWA. This will further improve performance
+
 
* Setup your sendmail with correct Smarthost and routing information for outbound Internet email.
 
* Setup your sendmail with correct Smarthost and routing information for outbound Internet email.
 
* Setup fetchmail if your email is hosted with a provider
 
* Setup fetchmail if your email is hosted with a provider
Line 352: Line 458:
 
* Integrate with an external LDAP directory such as OpenLDAP, eDirectory or Active Directory
 
* Integrate with an external LDAP directory such as OpenLDAP, eDirectory or Active Directory
 
* Setup Online Backup using LVM Snapshots
 
* Setup Online Backup using LVM Snapshots
 
... and lot's more. Stay tuned.
 

Latest revision as of 07:11, 22 January 2014

Scalix Wiki -> How-Tos -> Manual Install Debian 7(Wheezy), Ubuntu 12.04 and Ubuntu 13.04

Contents

Important Note

Please note that these manual installation instructions should only be used on unsupported platforms, such as debian. It is highly recommended to perform installation using the Scalix Installer on all supported platforms. If you manually install any version of Scalix, this may invalidate your ability to receive Scalix support for that software. Thank you for your understanding and compliance.

This document is under construction. Do not trust this document.

Scalix Installer (Debian 7( Wheezy), Ubuntu 12.04 and 13.04)

LAST UPDATE OF THIS SECTION: January 2014. It's quite accurate!

There is a Scalix installer available at,

https://github.com/scalix/Debian-installer

The installer:

  • works for Scalix Version 12 and possibly earlier versions
  • is tested on Debian 7 and Ubuntu 12.04 and 13.04.
  • needs some more testing on various platforms.

END OF UP-TO-DATE SECTION

Scalix Installer (Ubuntu 10.04 Lucid Lynx )

look at Ubuntu Lucid


Applicable Environments

These Installation instructions have been tested with

  • Scalix CE 12.0.3

They might not apply unmodified to any other version of Scalix.

System Prerequisites

Available Hardware Platforms

Scalix Community Edition software is currently available as an i386 build only. It will run on i386 and x86_64 Intel and AMD platforms.

Minimum System Requirements

  • Pentium 4 or better CPU
  • 1 GB RAM
  • 1 GB of free diskspace after OS Installation
  • Network Interface

Linux Distributions

  • Red Hat Enterprise Linux 5
  • Red Hat Enterprsie Linux 6
  • Fedora Core 19
  • OpenSuSE Linux 10.0
  • Debian 7 (Wheezy)
  • Ubuntu 12.04
  • Ubuntu 13.04

System Preparation

The following items may be helpful in preparing your system for Scalix Installation:

Network Configuration

  • Make sure you have at least one properly configured network interface.
  • It is best to use a static IP address; running a Scalix server on a machine using DHCP is not recommended.
  • Correct hostname resolution/DNS setup is vital. It is also best to use DNS in a Scalix/mail environment. File-based hostname resolution can be used (/etc/hosts). However, the following should always be true:
    • Your system should have a fully-qualified hostname, i.e. scalixraw.company.com or myraw.home.local
    • The "hostname" command should return the short hostname, while the "hostname --fqdn" command should return the fully-qualified hostname
    • Both the hostname and the fully-qualified hostname should resolve to the system's IP address (not the loopback 127.0.0.1 IP address).
      Note: RedHat and Fedora default installations setup /etc/hosts incorrectly. This must be changed manually after installation.
    • The special name "localhost" should resolve to 127.0.0.1
    • The IP address of the system should reverse-resolve to the fully-qualified hostname (not the short hostname or localhost)

Disk/File System Configuration

  • Scalix Software is installed in /opt. You need 200 MB in this directory
  • Scalix Data is kept in /var/opt/scalix. You need a minimum of 200 MB plus the size of any mailboxes. It is best to make /var/opt/scalix a separate file system
  • It is recommended that you put /var/opt/scalix on an LVM logical volume for online backup (this needs Snapshot functionality) and size management
  • Most Scalix systems are installed using an ext3 file system on Linux; however, most local file systems (XFS, Reiser) should work as well
  • For performance reasons (small, synchronous I/O operations), it is not recommended that you run Scalix off an NFS file system

Disabling Conflicting Services

Scalix comes with its own POP3, IMAP, LDAP and SMTP services. These might conflict with components already installed on the system.

  • To check for processes listening on the POP3 and IMAP ports, use the
    lsof -i :110  or  netstat -anp|grep 110
    and
    lsof -i :143  or  netstat -anp|grep 143 
    commands. If you see any process/service running, shut it down and disable it from starting with system startup
  • To check for processes listening on the standard LDAP port, use the
    lsof -i :389  or  netstat -anp|grep 389
    command. If you see any process/service running, use an alternate port number for Scalix LDAP. Please see below for details.
  • To check for processes listening on the standard SMTP port, use the
    lsof -i :25  or netstat -anp|grep 25
    command. With Sendmail installed (required), it is normal that Sendmail listens on 127.0.0.1:25. However, it should not listen on your external IP address. If you see any process/service listening on the external IP address, reconfigure your MTA. If your current MTA is not Sendmail, retry after removing your current MTA and replacing it with Sendmail.

Software Selection

The following additional packages that come with the OS distribution are usually needed after base installation (all references to Debian package names are from the Sarge stable release; Ubuntu package search was based on the 12.04 wheezy release ).

Note: On Ubuntu, you will have to add the multiverse repository and uncomment the universe repository configuration in /etc/apt/sources.list and run the
apt-get update
command.
  • Shortcuts
    • Ubuntu including Java
      apt-get install apache2 gawk krb5-config krb5-doc krb5-user libkadm55 libkrb53 libglib2.0-0 libstdc++2.10-glibc2.2 libxml2 sgml-base xml-core postgresql-8.1 libsasl2-modules libsasl2-modules-gssapi-mit sendmail elinks sun-java5-jre
    • Debian Sarge, excluding Java
      apt-get install apache2 gawk krb5-config krb5-doc krb5-user libkadm55 libkrb53 libglib2.0-0  libstdc++2.10-glibc2.2 libxml2 sgml-base xml-core postgresql libsasl2-modules libsasl2-gssapi-mit sendmail elinks
  • Apache Webserver 2.x
    • on Debian, SUSE and Ubuntu, this is the apache2 package
    • on RedHat, this is the httpd package
  • Gnu AWK
    • on Debian, RedHat, SUSE and Ubuntu, this is the gawk package
  • Kerberos (MIT Kerberos 5)
    • on Debian and Ubuntu, these are the krb5-config, krb5-doc, krb5-user, libkadm55 and libkrb53 packages
    • on SUSE, these are the krb5, krb5-apps-clients, krb5-apps-servers, krb5-client, krb5-server, and pam_krb5 packages
    • on RedHat, these are the krb5-libs and krb5-workstation packages
  • libglib2
    • on Debian and Ubuntu, this is the libglib2.0-0 package
    • on SUSE, this is the glib2 package
    • on RedHat, this is the glib2 package
  • libstdc++
    • on Debian and Ubuntu, this is the libstdc++2.10-glibc2.2 package
    • on Ubuntu the gcc-4.3-base and libstdc++5 packages are also required
    • on SUSE, these are the libstdc++ and compat packages
    • on RedHat, this is the compat-libstdc++-296 package
  • libxml2
    • on Debian, RedHat and Ubuntu, these are the libxml2, sgml-base and xml-core packages
    • on SUSE, these are the libxml2, sgmltool, and xml-commons packages
  • Postgres
    • on Debian, this is the postgresql package
    • on Ubuntu, this is the postgresql-9.1 package
  • SASL2 and modules for plain, crammd5 and gssapi (for MIT Kerberos)
    • on Debian and Ubuntu, these are the libsasl2-modules and libsasl2-gssapi-mit packages
    • on SUSE, these are the cyrus-sasl-plain, cyrus-sasl-digestmd5, cyrus-sasl, cyrus-sasl-saslauthd, cyrus-sasl-gssapi, and cyrus-sasl-crammd5 packages
    • on RedHat, these are the cyrus-sasl, cyrus-sasl-md5, cyrus-sasl-plain and cyrus-sasl-gssapi packages
  • Sendmail (possibly replacing default-install Postfix or Exim)
    • on Debian, SUSE, and RedHat, this is the sendmail package
  • text-based web browser
    • on Debian, RedHat and Ubuntu, this is the elinks package
    • on SUSE, the default is w3m, but you can use links if you like
  • script-language
    • on Debian, Ubuntu, this is the gawk package

Required 3rd Party Software

The following third party software is required to run a Scalix server:

Apache requirements

For integration with Apache, either Apache 2.2 using mod_proxy_ajp or Apache 2.0 with mod_jk is required. A version of libapache2-mod-jk for debian Sarge stable is provided with the Scalix debian installation package.

Creating a Scalix Group and User (optional)

Installation of the Scalix server package will automatically create a Unix group called "scalix" and a Unix user with the same name. The user id for this user will be automatically chosen and most files associated with Scalix data will be owned by this user. If you want to have control over the user id, you can create the user manually before installing the Scalix server package.

If you create the group and/or user manually, make sure the following applies:

  • The group must be called "scalix"
  • The user must be called "scalix"
  • The user must have a home directory of /var/opt/scalix
  • There should not be any files (profile files, etc.) copied to the user's home directory
  • The user should have it's primary group set to "scalix"
  • It is recommended to use /bin/true as the login shell for the "scalix" user so that the user cannot login to the system interactively. In addition, the password for the user should be locked.
  • If your OS offers the concept of a "server" or "service" user, the Scalix user should be created as one.

Setting up your user's environment

It is recommended to add the /opt/scalix/bin and /opt/scalix/diag directories to your admin user's (initially root!) PATH. It is also recommended to add /opt/scalix/share/man to your MANPATH to be able to access the reference man pages that come with Scalix server.


Downloading the Scalix Packages

The Scalix 12 packages can be downloaded from [downloads.scalix.com/scalix-12.0.3-GA-enterprise-suse-intel.bin]. You will need packages for the following modules appropriate for your platform:

  • scalix-server-*: the actual Scalix Server software
  • scalix-swa-*: the Scalix Web Access webclient; this can be installed on the same machine as the Scalix server or on a separate webserver
  • scalix-sac-*: the Scalix Management Services; if you want to use the Scalix Management Console, this must be installed on the Scalix server machine
  • scalix-res-*: the Scalix Remote Execution Service; this is the management agent used by Scalix Management Services. This is required on all systems that are managed by a Scalix Admin Server. As Scalix CE is limited to single server configurations, this must be installed on the single Scalix server machine.
  • libical: this is a Scalix adaption/compile based on an OpenSource implementation of a RFC-compliant ical library available from the Free Association project. The projects homepage is on SourceForge. Scalix provides source and binary packages in .rpm and .deb format within the respective Scalix tarballs.
  • scalix-mobile-*: the Scalix Web Access Mobile webclient; this can be installed on the same machine as the Scalix server or on a separate server
  • scalix-platform-*: the Scalix Messaging Services API platform; this can be installed on the same machine as the Scalix server or on a separate server, though the former is typical. It uses the Postgres database and is being used by both SWA and SWA Mobile.
  • scalix-sis-*: the Scalix Search and Indexing Services - based on Apache Lucene, this provides full-text and attachment indexing for Scalix data
  • scalix-tomcat-*: a customized version of Apache Tomcat adapted for Scalix use
  • scalix-postgres-*: the Scalix database integration pacakge

Copy all the .rpm or .deb files to a temporary directory location on your server.

Installing the Scalix Server package

Install the Scalix Server package.

Make sure you use the rpm's for your Linux distribution!

  • For rpm-based systems, use
    rpm -ivh scalix-server*.rpm
  • For deb-based systems, use
    dpkg -i scalix-server*.deb

In case of any missing dependencies or other errors, these should be resolved and the Scalix package installation retried before continuing.

Please note that under some circumstances the (re)installation will fail when not all prerequisites were met. Before retrying the installation, please remove all scalix packages (run within the directory where all Scalix .deb-files are located)

apt-get remove `ls |cut -d'_' -f1|xargs echo`

Creating and Configuring the Initial Scalix Server Instance

The following assumes you have added /opt/scalix/bin to your PATH. If not, you must use absolute pathnames for all commands.

Initialize the Scalix Message Store

On Debian and Ubuntu, before initialising the Scalix message store, you should install the libssl0.9.7 package if it is available. If it is not available, you can try sym-linking the libcrypto.so.0.9.8 library to libcrypto.so.0.9.7 instead. Sym-linking is not recommended however as there are significant changes between the two versions of OpenSSL in question.

To initialize the Scalix message store, use the
ommakeom
command. This creates an empty message store in /var/opt/scalix and also adds config file templates for all components into this directory tree. The process takes 3-15 minutes, depending on the speed of your system. Please check the screen output for any errors or problems during the process. A log of the message store creation is located in /var/opt/scalix/sys/install/log. In case of error, correct the problem and restart message store creation by using the
ompatchom
command.

Set Generation Rules for Display Name, Login Name and Internet Address

Before creating any new user, set the default rules for generating the display name (shown in 'From' email headers and address book display), the login name (used to log in to Scalix clients) and the Internet address.

The following is a list of user attributes you can use in those rules:
G represents the given name in mixed/original casing
S represents the surname in mixed/original casing
I represents the middle initial(s) in mixed/original casing
C represents the common name/display name in mixed/original casing (this cannot be used in the display name generation)
g, s, i and c represent the first character of the given name/surname/initials/common name in lower case
f and l represent the full given name/last name in lowercase

    • To set up generation rules for the display name, use the
      sxconfig --set -t general.usrl_cn_rule='<rule>'
      command, e.g.
      sxconfig --set -t general.usrl_cn_rule='S, G'
      to set the display name generation rule to Last, First.

    • To set up generation rules for the login name, use the
      sxconfig --set -t general.usrl_authid_rule='<rule>'
      command, e.g.
      sxconfig --set -t general.usrl_authid_rule='gs@'
      to set the login name generation rule to use the initials of the user in lowercase. If you omit the @ character from this rule, the fully-qualified domain name of the server appends to the login name. This is useful in multi-server environments (which are not supported for Scalix CE Raw). Please see the
      man omaddu
      for details.

    • To set up generation rules for the Internet address, use the
      sxconfig --set -t orniasys.name_part_<n>='<rule>' -t orniasys.domain_part_<n>='<domain>'
      command, e.g.
      sxconfig --set -t orniasys.name_part_1='"C" <G.S>' -t orniasys.domain_part_1='mycompany.com'
      to set the Internet address generation rule to generate addresses in the form "Last, First" <First.Last@mycompany.com> (provided that the display name generation rule is Last, First, as C maps to the display name). Please see
      man omiam
      for details.

      Note: You can set up to five Internet address-generation rules for the system by specifying different values from 1 to 5 for <n>.

Creating the Default Mailnode

The mailnode is a organizational unit grouping users. This becomes important in multi-server setups supported for Scalix Enterprise Edition. For single-server systems, creating a single, default mailnode is usually sufficient. It is best to use the organization name (without any 8-bit or special characters) as the mailnode name. To create the initial mailnode and make it the default, use the
omaddmn -m <mailnode>
command, e.g.
omaddmn -m mycompany
.

Setting up a Non-Default LDAP Port Number

If the system already has some LDAP service using the standard LDAP TCP port (389), change to another port number now. Edit the /var/opt/scalix/<instance>/s/sys/slapd.conf and change the port number to a different value. Scalix recommends using port 3890. The line to be changed should look like this:
portNum          3890

Starting the Server Daemons

Before creating the first set of users, start the server daemons. To do this, use the
omrc -n
command. The -n option prevents mail delivery and user signon services from starting because these are not usable at this time.

Creating the Default Admin User

To create a default admin account, use the
omaddu -n <fullname>/<mailnode> --class <class> -c admin -p <password> <loginname>
command, e.g.
omaddu -n sxadmin/mycompany --class limited -c admin -p secret sxadmin
Note 
Don't forget to quote if the name contains spaces, eg:
omaddu -n "Admin User/mynode" --class limited -c admin -p secret sxadmin

where

  1. sxadmin is the full name of the admin user as displayed in the address book
  2. mycompany is the default mailnode created in the previous step
  3. limited is either full or limited. When creating the admin user as a full user, this will use one of the 25 free premium mailboxes available in Scalix CE raw. However, if created as a limited user, the user won't be able to use Outlook to log in or access public folder information through SWA.
  4. -c admin sets full admin capabilities for the user
  5. secret is the users initial password
  6. sxadmin is the users login name

Note 
When creating the user fails with error like this "omaddu : [OM 8154] No more id's are available from the system id pool" then you have to create a new user-space like this:
First check for possibly existing users: omshowu -m all
Then add new user space for e.g. 1000 user: omadmidp -a -s 66000 -n 1000 (Each Scalix mailbox that is added will require a Unix/Linux ID. In this example Unix-ID pool 66000-66999 is added.)

Configuring the Admin User

Set up the Admin user as "Postmaster" to receive system error messages:
omconfenu -n "sxadmin/mycompany"
. This user is excluded from system-wide inbox quota checking:
omlimit -u "sxadmin/mycompany" -o -i 0 -m 0

Creating the LDAP Query User

To allow the Scalix Admin Server and Admin Console to access user information through Scalix LDAP, create a system user as follows:

omaddu -n sxqueryadmin/<mailnode> --class limited -c admin -p <passwd> sxqueryadmin@<fqdn>

This user's password can be anything, but the username (sxqueryadmin) and the user's login name must match the values provided where <fqdn> is the FQDN of your server as returned by the hostname --fqdn command. The user can always be created as a limited user because the only server he is allowed to log in to is LDAP, which does not require a premium user account.

Creating the Standard Scalix Admin Groups

Next, create the standard Scalix Admin groups for the Scalix Admin server. The names of these groups are fixed, so you must create them as follows:

omaddpdl -l ScalixUserAdmins/mycompany
omaddpdl -l ScalixUserAttributesAdmins/mycompany
omaddpdl -l ScalixGroupAdmins/mycompany
omaddpdl -l ScalixAdmins/mycompany

NOTE: Depending on your Generation Rules, these commands may complain with "omaddpdl : [OM 18043] The Internet Address is already assigned" but it seems to work anyway.

Adding Standard Tweak Settings

We recommend adding the following tweak settings to /var/opt/scalix/<instance>/s/sys/general.cfg . For details on these settings, please refer to the Scalix Administration Guide.

#
# The CDA service (used for "type down" in some clients) is more
# efficient if it can check the directory change log before attempting
# to update the access tables that it uses.   One slow machines, it may
# also be worth uncommenting the CDA_CHECKTIME tweak to reduce the check
# interval from five minutes to an hour.
#
CDA_USE_CHANGE_LOG=TRUE
# CDA_CHECKTIME=60
#
# These tweaks limit the number and rate of IMAP connections to the
# server. The IMAP_CONNECTION_LIMIT simply restricts the total number of
# connections to the server. Note that many IMAP clients have several
# connections for each IMAP session. The IMAP_CONNRATE_LIMIT restricts
# the rate at which clients can connect to the server, in this case, at
# most 10 connections per second. If clients try to connect faster
# than that, the IMAP server simply slows down the rate at which it will
# accept new connections.
#
IMAP_CONNECTION_LIMIT=500
IMAP_CONNRATE_LIMIT=10
#
# The IMAP_IDLE_TIMEOUT tweak is the maximum time an IMAP connection
# will wait for a command before terminating the connection. The default
# setting, and the minimum required setting, is 30 minutes. Some
# clients "refresh" their connection once every thirty minutes
# exactly -- but if they are a little bit late, the server drops their
# connection. Setting a timeout of 31 minutes avoids this problem.
#
IMAP_IDLE_TIMEOUT=31
#
# This tweak arranges for Local Delivery to automatically create a
# message store for users created without one.
# Users added with the bulk-add mechanism used by the
# wizard do not have a message store. So setting this tweak allows
# them to receive mail before they are initially signed on.
#
LD_CREATE_MESSAGE_STORE=TRUE
#
# These three tweaks allow users to sign on using an alias. Only
# system-defined aliases are permitted and it the alias name is ignored
# for the purposes of message creation and so on.
# 
# Note that changing these settings normally requires restarting Scalix.
#
UAL_SIGNON_ALIAS=YES
UAL_SIGNON_ALIAS_CONFIG=SYS
UAL_USE_SIGNON_ALIAS=FALSE

Starting Scalix Services

As a final step, start all services now using the following command:
omon -s all

Installing the Scalix Application packages

Now install the remaining packages

Make sure you use the rpm's for your Linux distribution!

  • For rpm-based systems, use
    rpm -ivh scalix-<package>*.rpm
  • For deb-based systems, use
    dpkg -i scalix-<package>*.deb

where package is one of mobile, platform, postgres, res, sac, sis, swa, tomcat, tomcat-connector.

In case of any missing dependencies or other errors, these should be resolved and the Scalix package installation retried before continuing.

Setting up Scalix-Tomcat

Setting Tomcat memory allocation

Edit the following line in /etc/opt/scalix-tomcat/scalix-tomcat.conf so that JAVA_OPTIONS on a small server has parameters that allocate 50% of your RAM or 512MB, whichever is less, to your Tomcat application server, e.g.

JAVA_OPTS="-server -Xms512m -Xmx512m"

for a machine with 512 MB of RAM and a 32bit OS.

For a large server, with 8Gb of RAM and a 64bit OS, you would allocate more memory:

JAVA_OPTS="-server -Xms1024m -Xmx2048m"

Setting up Scalix-Postgres

/opt/scalix-postgres/bin/sxpsql-init                  # To create the database and tables
/opt/scalix-postgres/bin/sxpsql-setpwd mypassword     # This is a database password you select
/opt/scalix-postgres/bin/sxpsql-whitelist 192.168.1.1 # This is the IP address matching the 
                                                      # hostname of the machine as used above

Configuring Scalix Applications

You will need to follow a few simple steps to integrate Scalix Applications into your Tomcat application server.

Configuring Scalix Web Access

Now, you must set up a number of parameters in /var/opt/scalix/<instance>/webmail/swa.properties:

# Add your main domain here
swa.email.domain=mycompany.com
# FQDN of your Scalix server
swa.email.imapServer=scalix.mycompany.com
# FQDN of your Scalix server                         
swa.email.smtpServer=scalix.mycompany.com
swa.settings.rulesWizardURL=/Scalix/rw
# FQDN of your Scalix server
swa.ldap.1.server=scalix.mycompany.com
# The port number of your 
# Scalix LDAP server; if you 
# have changed this from the
# default during server install,
# this needs to be reflected                           
swa.ldap.1.port=389
# FQDN of your Scalix server                     
swa.ldap.2.server=scalix.mycompany.com
# The port number of your
# Scalix LDAP server; if you
# have changed this from the
# default during server install,
# this needs to be reflected                        
swa.ldap.2.port=389                                                                                                                 
# Points to Platform Host                                                                  
swa.platform.url=http://scalix.mycompany.com/api
# use the platform                  
swa.platform.enabled=true
# default timeout
swa.soap.soapRequestTimeout=60

Configuring Scalix Ubermanager Admin Server

Next, you must set up a number of parameters in /var/opt/scalix/<instance>/caa/scalix.res/config/ubermanager.properties :

ubermanager.query.server=scalix.mycompany.com                # FQDN of your Scalix server
ubermanager.kerberos.mode=false                              # N/A for single server
ubermanager.kerberos.principalName=                          # "   "   "      "
ubermanager.kerberos.kdc=                                    # "   "   "      "
ubermanager.kerberos.realm=                                  # "   "   "      "
ubermanager.console.externalAuth=false                       # default value
ubermanager.console.allowExternalAuthChoice=false            # default value
ubermanager.console.maxListSize=100                          # default value
ubermanager.console.localDomains=mycompany.com               # Your email domain(s)
ubermanager.console.authDomains=                             # default value
ubermanager.console.modifyExternalSyncedAuthId=false         # default value
ubermanager.query.server.port=389                            # Scalix LDAP port number
ubermanager.configured=true                                  # to indicate file has been touched
ubermanager.version=11.0.1                                   # Please use your correct Scalix version

Also, create a file called /var/opt/scalix/<instance>/caa/scalix.res/config/psdata and put in the sxqueryadmin password. Make sure the file is only readable by root:

cd /var/opt/scalix/<instance>/caa/scalix.res/config
echo "<sxqueryadmin-password>" >psdata
chown root:root psdata
chmod 400 psdata

Configuring Scalix RES Admin Agent

You will need to adjust a few parameters in /var/opt/scalix/<instance>/res/config/res.properties :

res.kerberos.mode=                                           # Leave empty for single server
res.kerberos.kdc=                                            # "     "     "   "      "     
res.kerberos.realm=                                          # "     "     "   "      "     
res.kerberos.allowedclients=ubermanager/scalix.mycompany.com # FQDN of your Scalix server
res.ubermanager.host=scalix.mycompany.com                    # FQDN of your Scalix server
res.tomcat.tcp.port=80                                       # http port number of Tomcat
res.configured=true                                          # to indicate file has been touched
res.version=11.0.1                                           # Please use your correct Scalix version

Configuring Scalix Messaging Services API Platform

You will need to adjust a few parameters in /var/opt/scalix/<instance>/platform/platform.properties :

imap.host=scalix.mycompany.com                                                # FQDN of your Scalix server
smtp.host=scalix.mycompany.com                                                # FQDN of your Scalix server
ldap.port=389                                                                 # Scalix LDAP port
hibernate.connection.url = jdbc:postgresql://scalix.mycompany.com:5733/scalix # DB server or localhost
                                                                              # Note Scalix specific PG port
hibernate.connection.password = <Postgres-password>                           # as assigned on DB creation

Configuring Scalix Web Access Mobile

You will need to adjust a few parameters in /var/opt/scalix/<instance>/mobile/mobile.properties:

platform.url=http://scalix.mycompany.com/api                 # URL to Messaging Services Platform

Configuring Scalix Search and Indexing Services

You will need to adjust a few parameters in /var/opt/scalix/<instance>/sis/sis.properties:

index.language=English                        # Default language for indexing, 
                                              # analysis, stemming search
index.client.whitelist=192.168.1.1            # IP of your Scalix server
search.client.whitelist=192.168.1.1           # IP of your Scalix server

Restarting Tomcat

After making all these changes, restart Tomcat with the following command:
/etc/init.d/scalix-tomcat restart

Integrating the Web-based Scalix Rules Wizard into Apache

You will just need to link the Apache config file into your Apache config directory:

  • For debian and SUSE, execute
    ln -s /opt/scalix/global/httpd/scalix-web-client.conf /etc/apache2/conf.d
    and restart apache using
    /etc/init.d/apache2 restart
  • For Redhat, execute
    ln -s /opt/scalix/global/httpd/scalix-web-client.conf /etc/httpd/conf.d
    and restart apache using
    /etc/init.d/httpd restart

Testing Your Newly-Installed System

Installation is now complete. Before starting with the new system, run these tests:

  • Reboot your server. All services (Scalix Server, Tomcat and Apache) should come up on their own.
  • Check the output of omstat -a and omstat -s commands. Item Structure Server may display as stopped. All other daemons and services should be up and running.
  • Try to access Scalix Admin Console from a browser using the http://scalix.mycompany.com/sac URL. Log in using your sxadmin login name and password. Create a new user.
  • Try to access Scalix Web Access from a browser using the http://scalix.mycompany.com/webmail URL. Log in using your newly-created user. Try address book lookups. Send an email message to yourself. Try to access the Web-based Scalix Rules Wizard from your Extras menu.
  • Download and install the Outlook connector. Setup a premium user. Install the Outlook connector on a Windows PC. Set up an Outlook profile and access your Scalix mailbox from Outlook.

If all these work, your Scalix server is in good shape and you're ready to take it to the next level.

What's next?

  • Read the docs. Check out the Administration Guide and Administration Console Guide. If you need more information, manpages contain a lot of valuable data. Start with
    man scalix-server
    * Setup Tomcat to run as a non-root user for more security. This is described in the Tomcat Technote.
  • Setup your sendmail with correct Smarthost and routing information for outbound Internet email.
  • Setup fetchmail if your email is hosted with a provider
  • Setup stunnel if you require secure SSL communication for POP, IMAP, LDAP or SMTP
  • Setup Spam Assassin for better Spam protection
  • Setup ClamAV for good open-source virus protection
  • Integrate with an external LDAP directory such as OpenLDAP, eDirectory or Active Directory
  • Setup Online Backup using LVM Snapshots