Manual Installation Ubuntu Gutsy
Contents
Important Note
Please note that these manual installation instructions should only be used on Ubuntu distributions, such as Ubuntu Gutsy Gibbon 7.10 server, the distribution the document was written for. 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 might be inaccurate and under construction. Do not trust this document.
Manual Installation on Ubuntu 7.10 Server (Gutsy Gibbon)
As Ubuntu 7.10 is an unsupported platform there is currently no manual describing the installation on this platform. It took me a lot of time to have the Scalix Community Edition installed on my Ubuntu server. To do so I had to combine the information of a lot of sources (wiki pages, forums posts, etc) together. At last I managed to get Scalix it up and running and just felt like sharing this with the community. Simply my way to give something back.
So below you'll find a how-to that describes the manual installation of Scalix on Ubuntu 7.10 server.
Applicable Environments
These Installation instructions have been tested with
- Scalix CE 11.3.0
- Ubuntu 7.10 Server (Gutsy Gibbon)
They might not apply unmodified to any other version of Scalix or Ubuntu.
Hardware
Scalix Community Edition software is currently available as an i386 build only. It will run on i386 and x86_64 Intel and AMD platforms.
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.
- 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
- 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).
- 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)
To achieve this your /etc/hosts file should contain at least the following two lines:
127.0.0.1 localhost <yourexternalip> <hostname.domain.com> <hostname>
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.
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
sudo lsof -i :110 or sudo netstat -anp | grep 110
andsudo lsof -i :143 or sudo 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
sudo lsof -i :389 or sudo 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
sudo lsof -i :25 or sudo netstat -anp | grep 25
command. If sendmail listens on 127.0.0.1:25 it's allright, you can leave it the way it is. However, it should not listen on your external IP address. If you see a sendmail process/service listening on the external IP address, reconfigure your MTA. If you see another proces (MTA) than sendmail, make sure you remove your current MTA to replace it by sendmail (described below).
Software Selection
Note: Make sure you have the multiverse repository and the universe repository active in /etc/apt/sources.list and run:sudo apt-get update
The following additional packages that come with Ubuntu are needed after base installation.
- Apache Webserver 2.x: the apache2 package
- Gnu AWK: the gawk package
- Kerberos (MIT Kerberos 5): the krb5-config, krb5-doc, krb5-user, libkadm55 and libkrb53 packages
- libglib2: the libglib2.0-0 package
- libstdc++: the libstdc++2.10-glibc2.2, gcc-4.2-base and libstdc++6 packages are also required
- libxml2: the libxml2, sgml-base and xml-core packages
- Postgres: the postgresql and postgresql-client packages
- SASL2 and modules for plain, crammd5 and gssapi (for MIT Kerberos): the libsasl2-modules and libsasl2-modules-gssapi-mit packages
- Tk: the tk8.3 package
- Tcl: the libfreetype6 and tcl8.3 packages
- text-based web browser: the elinks package
- Apache Tomcat mod_jk connector: the libapache2-mod-jk package
- Sun Java Runtime Environment: the sun-java5-jre package
- sendmail (if not installed yet, see Disabling Conflicting Services above): the sendmail package
To install all these packages together with their dependencies run the following command:
sudo apt-get install apache2 gawk krb5-config krb5-doc krb5-user libkadm55 libkrb53 libglib2.0-0 libstdc++2.10-glibc2.2 gcc-4.2-base libstdc++6 libxml2 sgml-base xml-core postgresql postgresl-client libsasl2-modules libsasl2-modules-gssapi-mit libfreetype6 tcl8.3 tk8.3 elinks libapache2-mod-jk sun-java5-jre
If it is necessary to install sendmail as well, run also:
sudo apt-get install sendmail
Extra dependency
Scalix depends on a package called libsasl-2. Unfortunately is this package not available for Ubuntu 7.10. Sure, there is a replacement, so in fact there's no problem regarding the actual library dependencies, but the replacement package is called libsasl-2-2. It seems stupid, but the Scalix server won't install with this package and we really have to install a package called libsasl-2 next to it. As said, there's no such package available, so I created a kind of fake package (see also this forumthread on ubuntuforums.org) to install instead and prevent problems later on. Download the package here and install it using this command:
sudo dpkg -i libsasl2_2.1.22.dfsg1-9ubuntu2_i386.deb
Other preparation steps
The Scalix message store depends on the libssl0.9.7 package. As the 0.9.7 version is not available for this Ubuntu version, you have to sym-link the libcrypto.so.0.9.8 library to libcrypto.so.0.9.7 instead. This can be done by:
sudo ln -s /usr/lib/libcrypto.so.0.9.8 /usr/lib/libcrypto.so.0.9.7
Under Ubuntu the standard shell /bin/sh is linked to dash instead of bash. This will cause problems runing the scripts later on. To prevent this, please link /bin/sh temporarily to /bin/bash, after saving the original link of course (don't worry, we will restore the original state afterwards):
sudo mv /bin/sh /bin/SH sudo ln -s /bin/bash /bin/sh
Downloading the Scalix Software
The Scalix 11.3.0 packages can be downloaded here. You will need to download the installer package for Debian, called: scalix-11.3.0-U1-GA-unsupported-debian-intel.bin.
Unpacking the Scalix software
Start the downloaded installer:
sudo bash scalix-11.3.0-U1-GA-unsupported-debian-intel.bin
This will take you to the license agreement, to proceed:
- press the space bar repeatedly to scroll down if you want to read the license agreement, or press q to skip to the end immediately
- at the end of the agreement, at the prompt, accept the agreement by entering yes
- next, launch the readme file by pressing enter
- when prompted to run the package, say no
Installing and the Scalix Server package
Before installing the scalix-server package, we have to install the last two dependencies (scalix-chardet and scalix-libical). They come with the Scalix installer adn can be installed by:
sudo dpkg -i /scalix-debian-11.3.0-GA/software/scalix_server/scalix-chardet_1.0.20071031-2_i386.deb sudo dpkg -i /scalix-debian-11.3.0-GA/software/scalix_server/scalix-libical_0.27.20071008-1_i386.deb
After that, we can (finally) install the scalix-server package using dpkg, do so using this command:
sudo dpkg -i /scalix-debian-11.3.0-GA/software/scalix_server/scalix-server_11.3.0.11339_i386.deb