Installation Wiki

Installing Scalix

From InstallationWiki

Jump to: navigation, search
Scalix
Official Page
Project Documentation
Download
Source Book
Scalix: Linux Administrator’s Guide
Scalix: Linux Administrator’s Guide
ISBN 978-1-847192-76-9
Publisher Packt Publishing
Author(s) Markus Feilner

Contents

[edit] Installing Scalix

This tutorial describes the standard installation of Scalix Software on OpenSUSE 10.2 and Fedora Core 5. Installation is done by downloading the packages from the Scalix website, starting the installation program, and fixing the operating system to meet the requirements of the groupware server.

[edit] Installing Scalix on OpenSUSE

Scalix installation is pretty straightforward. Unlike other groupware servers, Scalix comes with an enterprise-ready, graphical installation toolbox guiding the new user through basic setup. This installer works on Red Hat Enterprise, SUSE Linux Enterprise Server, Fedora Core, and OpenSUSE. Scalix 11 will be the last version that supports RHEL 3. Apart from the graphical installation, there is also a text-based installation and the option to install Scalix manually. These features are explained in Advanced Installation.

Note - You should not use an installation on a community distribution like OpenSUSE and Fedora in a productive environment. The common versions of these operating systems will not be supported by Scalix after more than one or two subsequent Scalix versions. The Enterprise distributions like SLES or RHEL, however, are usually supported for several years.

[edit] Download Community Edition from the Scalix Website

Point your favorite Browser to the URL: http://www.scalix.com/community/downloads/index.php, click on Download Community Edition and fill out the registration form available there. Read the license agreement and click on I agree.

The Debian installation is not officially supported, and the source packages are far from complete. Scalix is working on making further parts of the software open source. But because there are third-party products and code not licensed by Scalix or HP involved, Scalix is currently rewriting these parts of the software that cannot be released under an open-source license right away.

Click on the version for your operating system and download it to your server. Open a terminal with X-Windows Support on the soon-to-be Scalix server.

[ X-Windows is the graphical system on Linux and many UNIX machines. Because it is a complex and big piece of software, many administrators hesitate to have the X-Windows libraries installed on a server. I leave it up to you to decide. But because the standard installation tool of Scalix is a graphical X-Windows application, we will proceed with these libraries installed which is the default on all the systems listed above apart from minimalistic setups.]

Start a Terminal session on the Scalix server. I recommend you use SSH the standard, encrypted shell under Linux. On a Linux client, type: ssh -X root@your-scalixserver to connect with X-Forwarding enabled.

The following session shows how to download Scalix server software to your server after registration. If the download with wget does not work, download Scalix to your local machine and copy the tar.gz file to your server with SCP or Konqueror's built-in fish-protocol for SSH file transfer.

 mfeilner:~> ssh -X root@scalixbook.org
 Password:
 /usr/X11R6/bin/xauth: creating new authority file /root/.Xauthority
 Last login: Sat Apr 14 19:54:47 2007 from xxx
 Have a lot of fun...
 scalix:~ # wget http://downloads.scalix.com/.community/11.2/scalix-11.2.0-GA-core-SUSE102-intel.tgz
 scalix:~ # ls -l
 -rw-rw-r-- 1 root root 91881314 Mar 26 23:24 scalix-11.2.0-GA-core-SUSE102-intel.tgz

After the download is completed, extract the file with the tar xzf command:

 scalix:~ # tar -xzf scalix-11.2.0-GA-core-SUSE102-intel.tgz
 scalix:~ # ls -l
 drwxr-xr-x 6 root root 240 Mar 8 01:00 scalix-11.2.0-GA
 -rw-rw-r-- 1 root root 91881314 Mar 26 23:24 scalix-11.2.0-GA-core-SUSE102-intel.tgz
 scalix:~ #

A directory name scalix-11.x.x-GA has been created. GA stands for General Availability. Change to that directory and list its contents:

 scalix:~/scalix-11.2.0-GA # ls -l
 total 1105
 drwxr-xr-x 2 root root 4096 2007-09-20 23:12 admin_resource_kit
 drwxr-xr-x 2 root root 4096 2007-09-20 23:13 documentation
 -rw-r--r-- 1 root root 42444 2007-03-01 01:35 LICENSE.txt
 -rwxr-xr-x 1 root root 273661 2007-09-20 22:56 scalix-installer
 drwxr-xr-x 4 root root 4096 2007-09-20 23:11 software
 drwxr-xr-x 5 root root 4096 2007-09-20 23:12 third_party
 scalix:~/scalix-11.2.0-GA #

There are some directories, a license file, and the installer program scalix-installer. The LICENSE.txt file is known to you because you read the EULA (End User License Agreement) online did you?. In the directory software, lies the Evolution connector and the Scalix software that is to be installed. Furthermore, we find documentation and third-party-software like Libical, Java, and Lynx, which we will get to know during installation.

Now let's fire up the Scalix installer:

scalix:~/scalix-11.2.0-GA # ./scalix-installer

On some systems, you will immediately receive the following error:

 scalix:~/scalix-11.2.0-GA # ./scalix-installer
 
 Scalix Installer - extracting archive, please wait...
 Scalix Installer - starting version 11.2.52...
 Scalix Installer - using Python 2.5 (/usr/bin/python).
 Error: 'No module named pygtk'.
  Please install RPM package python-gtk >= 2.0. This package can usually be found on the distribution CD or on the vendor web site.
 Scalix Installer - cleaning up...
 Scalix Installer done.
 scalix:~/scalix-11.2.0-GA #

The Scalix installer needs Python-gtk in order to present its graphical user interface. On the SUSE minimal system, these python bindings for the GTK+ widget set are not installed by default, but the standard installation source has a suitable package. Start YaST, change to the Add or Remove Software, and install the package Python-gtk:

Searching a package in YaST in detail: Start YaST by typing yast, change to the Software, hit the key ALT-F and enter "python". You will be provided a list like the one in the previous screenshot. Hit the arrow keys to go up and down in the list, until the green bar highlights the Python-gtk package, and then hit Enter to select this package for installation. Click on Accept or hit CTRL-A twice to accept your selection and have YaST install the package. Depending on the scope of your installation, YaST may ask you to confirm some missing dependencies, that is packages that are going to be installed because they are required by Python-gtk or by its dependencies.

After installation of these packages, YaST asks you whether you want to install further ones. If you hit Yes here, Yast will stay open and you can continue to search and install software. But then you will need to open another SSH-shell to the Scalix server for the Scalix installation. Nevertheless, because there are some packages that need to be installed and exchanged, I suggest that you work with two SSH-sessions from now on. If you cannot start the graphical installation, because your client is Windows or your server has no X libraries installed, have a look at the Advanced Installation tutorial.

Now open a X-enabled SSH-session to the Scalix server and start the installer again:

 scalix:~/scalix-11.2.0-GA # ./scalix-installer
 
 Scalix Installer - extracting archive, please wait...
 Scalix Installer - starting version 11.2.0....
 Scalix Installer - using Python 2.4.2 (/usr/bin/python).
 Scalix Installer - audit log file is /var/log/scalix-installer-20070326.log

It seems like we managed to start the installer at least, since it recognized our python-gtk installation. Now, Scalix welcomes us with a screen like this:

This is the graphical interface of the Scalix installer. It can be used for updates, reconfiguration, and more issues around the Scalix installation. A step-by-step menu on the left consisting of five buttons shows the progress of the installation, four buttons at the bottom offer help, cancellation, and navigation. Clicking on Next leads you to the third chance of reading the license agreement that you accepted. Accept the license by checking the box I have read and accept the above license agreement and clicking on Forward.

A small window with a bulb informs you that Scalix is now gathering information about your system.

After that, the Scalix installer welcomes you to the Wizard Mode. If there is no Scalix server installed on the local machine, two of the options presented are deactivated. However, if you start the Scalix installer later on, you can reconfigure or uninstall the server from this dialog.

Select Install all Scalix components (typical) and hit the button Forward.

This standard installation will enable all the components that Scalix delivers:

  • Scalix Server
  • Scalix Database
  • Apache/Tomcat Connector
  • Messaging Services
  • Management Agent
  • Web Access
  • Management Services
  • Search and Index Services
  • Mobile Client

Click on Forward to proceed to the System Check.

[edit] Checking and Troubleshooting the System Before Installation

One great advantage of the Scalix installation system is the fully automatic checking and reporting of system configuration errors or incompatibilities with the groupware. If your system does not meet the requirements of the Scalix server, this dialog will show. Or the other way around: if this dialog does not show any errors, your Scalix system will most likely work.

Scalix checks for five groups of dependencies:

  • Operating System Environment
  • File system consistency
  • Network availability and correctness of parameters
  • Software dependencies
  • Running services

In a nutshell, Scalix checks if your system is if the file system allows correct installation, if network is set up correctly (e.g. regarding DNS), if the software installation is suitable for the server and if there are running services that might collide with Scalix.

A typical System Check on a SUSE System will look like this:

The Scalix newbie will think this is grave, but relax this is absolutely normal. I do not believe that there is a default setup on any supported distribution where this check does not report any errors. Even on a full install of RHEL, you still get a warning for Libical and for the incorrect /etc/hosts file.

If you don't trust Scalix, hit the button Check again to have the installer perform the check once more. The button View Logs offers details on the reasons for the red flags, and gives good advice on how to solve the problems:

The typical failures on a SUSE system are:

1. DNS and hostname failures detected by the network check

2. cyrus-sasl-plain is missing

3. cyrus-sasl-digestmd5 is missing

4. cyrus-sasl-crammd5 is missing

5. libical will be installed

6. sendmail is needed

7. apache2 is needed

8. postgresql is needed

9. postgresql-server is needed

Whereas the first error is caused by the network check scripts that we will correct later, the latter seven are software issues that can easily be addressed by YaST which is still open in our other terminal, remember? Switch to the other terminal and search for the software packages containing cyrus. You will receive the following list:

Cyrus is a group of software packages containing a POP/IMAP server and offering some standard libraries needed for many other modern mail applications. Among those are the de-facto standard encryption tools in the cyrus-sasl packages. Scalix needs the libraries plain, digest-md5, and crammd5.

Next on our list, is the web server Apache2:

In YaST, search for all packages called Apache. OpenSUSE 10.2 offers Apache2 in version 2.2.3 and automatically selects the prefork module for multiprocessor mode and some other libraries. In the same way, the problem with PostgreSQL is solved. The very robust and renowned PSQL is not used as a DB back end for the mailstore, but as a header cache for IMAP and the Scalix API. OpenSUSE 10.2 brings two packages that are needed: Postgresql-server and Postgresql, both in version 8.1.3. Toggle them for installation.

Last but not least, we have to install Sendmail. This might be a little tricky and cause some irritation. BSD Sendmail is a very old and reliable mail server daemon that has been said to have security issues and a fairly complex configuration. However, if it is configured properly, Sendmail works fine and does a good job on many big installations UNIX, Linux, and Scalix.

Since SUSE Linux 8, postfix has become the standard mail server daemon on SUSE systems. However, both SUSE and Novell have always included up-to-date versions of Sendmail in their installation repositories. OpenSUSE 10.2 comes with Sendmail 8.13.6.

Use YaST to search for Sendmail and activate it for installation. If you hit return now or confirm with the Accept button, YaST will pop up an error dialogue. The problem displayed is: On standard SUSE systems, you cannot have postfix and Sendmail installed parallel without errors. Though there are procedures that work, ignoring these errors is not supported. Thus the mail server Sendmail will replace the package postfix. Select the entry Delete Postfix and click on the button Solve.

YaST is now installing the packages required for Scalix:

If everything works fine, you receive the progress bar dialog shown in the previous screenshot. After finishing, YaST will prompt again with a window asking whether you want to install more packages. Now, you can close YaST by clicking on the No button. You will find yourself back in the command line.

[edit] DNS Integration

Let's address the last issue that the System Check complained about during installation check: DNS integration. Scalix detected that the host's name could not be resolved via DNS. If your host received its IP via DHCP, there has probably also been a warning about that. Scalix wants your server to have a fixed IP and to be resolvable in the Domain Name System. Thus, it might be a good idea to set up the DNS integration properly for this server. Depending on your setup, there may be several ways to reach that goal:

  • Add a host entry to your local DNS server if you own one.
  • Set up a full-featured DNS server on the Scalix host.
  • If you're running an Internet site, add or correct the entry in your provider's DNS management tool.
  • If you are only setting up a local Scalix server without local DNS services, edit your local host file.

Despite the Scalix documentation, most cases require the entry in the hosts-file. This last suggestion works always, but please note that no other server will know your server's host- or domain name. You will need to keep the host files up-to-date manually. It is far better to really fix your DNS setup. However, a quick fix is adding a line to your /etc/hosts file:

 127.0.0.1 localhost
 
 # special IPv6 addresses
 ::1 localhost ipv6-localhost ipv6-loopback
 
 fe00::0 ipv6-localnet
 
 ff00::0 ipv6-mcastprefix
 ff02::1 ipv6-allnodes
 ff02::2 ipv6-allrouters
 ff02::3 ipv6-allhosts
 192.168.1.175 scalix.scalixbook.org scalix scalixbook.org

This last line tells the local system that the server names scalix.scalixbook.org, scalixbook.org and scalix all point to the IP 192.168.1.175, which is the IP of your first Ethernet card. If you need to test a local setup before firing up your Internet host, that may be appropriate.

[edit] Continuing Installation

Back in the Scalix installation window, close the warning window from the last check and click on Check again. All the bullets should be green now, with only one warning left. Click on View Log to see the details:

Everything is fine now, the warning about the dependency check tells only about the missing package libical that will be automatically installed by the Scalix installer. You can also find this package in the software directory of the Scalix software package. Click on Close and then hit the Forward button.

Now, we have left behind the tricky part and the real installation progress is starting. A window called Installing shows a progress bar and gives feedback on the components, checks, and tasks that are completed.

On a modern system, this will take a few minutes and have a Scalix System ready for initial configuration.

[edit] Three Steps for Initial Configuration

There are only three dialogs necessary for initial configuration of your Scalix system:

First, enter the name of the mailnode. This is the name that the Scalix mailnode will use for administrative purposes and in multiserver environment as the default mailnode. Scalix automatically suggests our hostname as the name for the primary mailnode, and we can leave this as is.

The second step is of particular interest: Here, the Administrator enters the domain name and default address format that Scalix will use for email addresses after creation of users.

The default setting is the domain that the DNS resolution gave the Scalix system upon initial checks, followed by the standard format for display and user names. For a user with the name Markus Feilner, the default setting will be to display his real name "Markus Feilner" and use Markus.Feilner@domainname as the email address. Feel free to change this, but there is no need to. Click on the Forward to continue.

Let's create an Administrator now:

In this third dialog, you can enter the username, password, and email address of the Scalix administrator. Type your password twice (as usual) and click on Forward to continue. Now, Scalix is initializing its message store, and configuring the various servers, which may take a few minutes. A small progress bar keeps you informed about the procedure.

[edit] Setting Up the Server

After some time, you are asked to enter your Scalix License key. If you own one, copy and paste the key into the field saying Click here and paste license key. If you want to use the free version of Scalix, click on the button Forward and continue without a license.

Click OK to continue without a licence key and confirm the warning by clicking on OK. The Scalix installer will continue by installing third party components like the Java Runtime Environment. Though there may be Java installed on your system, Scalix may install its own package from the software directory.

Click on Forward to continue installation. Now a dialog window lets you choose the Java Environment you want the Scalix server to use. You can choose the path to the JRE, browse and search for it in your local file system or install the Java version deployed with Scalix.

Normally, it is the best solution to accept the installation of the JRE that comes with Scalix, so click on Install and then Forward to proceed.

This dialog offers two fields for a password that services and servers will use in their communication. Unless you set up several Scalix servers, you will probably never need this password again. This alone may be a reason to store it in a secure place. Enter your password twice and click on Forward.

The account data for the database host should also be kept in a safe place. In most cases, the postgres database is running on the same server as the Scalix groupware. However, a different host can be specified here. A user named scalix is to be created in the database. Enter the password this user shall use in this dialog. Click on Forward to complete your installation.

Now Scalix is configuring and starting the following services:

  • Database
  • Management and Indexing services
  • Tomcat application server
  • Scalix services

Enjoy the congratulations, Scalix is completely installed and you can start the Management console now if there is a browser installed on your Scalix server. Click on OK to leave the installer and have Scalix (try to) start the browser.

[edit] Testing the Installation

If there is no browser on your Scalix server, start a local Firefox and point it to the URL http://scalixbook.org/sac. Replace scalixbook.org with your domain. You should receive a Firefox window like the following.

After enabling pop ups for the Scalix host, the standard login window will appear. Check the box Not using a secure https connenction, type in your Administrator's name sxadmin and password and click on Login.

After successful login, the Scalix Administration console is available:

It may be a good idea to check if Scalix is still reachable after a restart of your server. First, make sure that the Scalix services are going to be restarted after a reboot. For that purpose, take a look in the YaST Runlevel Editor. Type yast runlevel at a root terminal.

Scroll down and check the lines starting with scalix. All of them should have an entry Yes in the second column. If your installation has succeeded, this is the case. If not, type ALT-n for each of these services. Leave the Runlevel Editor by clicking on Finish. Reboot your system and log into the Administration console again.

[edit] Installing Scalix on Fedora Core

Installing Scalix on Fedora Core is pretty much the same as above, there are only slight differences with respect to package management. The required steps are the same:

1. Start an X-enabled shell on the server.

2. Download the software for your Fedora version.

3. Untar the Scalix file.

4. Change to the Scalix-xxx-GA directory.

5. Start the installer with ./scalix-installer.

The Scalix installer also looks like it does on SUSE, and there are only slight differences in some icons.

As you can see, there are arrows where buttons used to be on SUSE. The whole procedure is identical, but on Fedora there is no YaST to install software some may say fortunately... . The standard software management tool on Fedora is Yum. This is a powerful command line tool that can be used to install packages from online repositories. The following code shows the output of Yum installing the required package Sendmail-cf, while dynamically updating its repositories:

 [root@scal ix ~]# yum install sendmail-cf
 Loading "installonlyn" plugin
 Setting up Install Process
 Setting up repositories
 core
 [1/3]
 core 100% |=========================| 1.1 kB
 00:00
 updates
 [2/3]
 updates 100% |=========================| 1.2 kB
 00:00
 extras
 [3/3]
 extras 100% |=========================| 1.1 kB
 00:00
 Reading repository metadata in from local files
 primary.xml.gz 100% |=========================| 403 kB
 00:11
 updates : ##################################################
 1164/1164
 Added 15 new packages, deleted 16 old in 4.81 seconds
 primary.xml.gz 100% |=========================| 1.4 MB
 00:03
 extras : ##################################################
 4354/4354
 Added 69 new packages, deleted 9 old in 15.35 seconds
 Parsing package install arguments
 Resolving Dependencies
 --> Populating transaction set with selected packages. Please wait.
 ---> Downloading header for sendmail-cf to pack into transaction set.
 sendmail-cf-8.13.8-1.fc5. 100% |=========================| 49 kB
 00:01
 ---> Package sendmail-cf.i386 0:8.13.8-1.fc5 set to be updated
 --> Running transaction check
 Dependencies Resolved
 =====================================================================
 Package Arch Version Repository Size
 =====================================================================
 Installing:
  sendmail-cf i386 8.13.8-1.fc5 updates 311 k
 
 Transaction Summary
 ======================================================================
 Install 1 Package(s)
 Update 0 Package(s)
 Remove 0 Package(s)
 Total download size: 311 k
 Is this ok [y/N]: y
 Downloading Packages:
 (1/1): sendmail-cf-8.13.8 100% |=========================| 311 kB 00:06
 Running Transaction Test
 Finished Transaction Test
 Transaction Test Succeeded
 Running Transaction
  Installing: sendmail-cf ######################### [1/1]
 
 Installed: sendmail-cf.i386 0:8.13.8-1.fc5
 Complete!
 [root@scalix ~]#

Yum has checked the online and local repositories for new packages, resolved dependencies, and downloaded the packages required, prompting the administrator before actually downloading and installing.

After Sendmail-cf, we need to install Postgres, Cyrus-sasl and the library Compat-libstdc in the same way:

 [root@scalix ~]#yum install postgresql-server
 (...)
 Complete!
 [root@scalix ~]#yum install cyrus-sasl-md5
 (...)
 [root@scalix ~]#yum install compat-libstdc++-296.i386
 (...)

Once you have installed these packages, your Fedora-based Scalix server will be installed easily, following the guidelines in this tutorial.

[edit] Summary

In this tutorial, we have learned how to install Scalix and cope with the normal procedures that the installation requires. We used the graphical installer to walk through the steps of the installation and used YaST to prepare the system for Scalix simultaneously. After a detailed description of the installation on SUSE 10.2, a short glance on the installation process on Fedora Core followed.

[edit] Additional References

For instructions on advanced techniques for installing Scalix, click here

[edit] Source

The source of this content is Chapter 3: Installing Scalix of Scalix: Linux Administrator’s Guide by Markus Feilner (Packt Publishing, 2008).