HowTo: Install Scalix on Debian

Reading Time: 3 minutes

In this post I would like to show, how to install Scalix on Debian. The system is running the latest version of Debian in a minimal installation. In my last post, about this topic I installed Postfix and Scalix on the same host. This time, I will install Scalix on a host and Postfix for mail cleanup on a different host.

To install Scalix on Debian you need the Scalix installer script, either from Github:

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

or from the Scalix page:

http://downloads.scalix.com/debian/current/deb_installer.sh

Simply download the script directly from the host, where you would like to install Scalix or upload it from your management station.

root@mail:~# wget http://downloads.scalix.com/debian/current/deb_installer.sh
--2015-06-30 14:28:34-- http://downloads.scalix.com/debian/current/deb_installer.sh
Auflösen des Hostnamen »downloads.scalix.com (downloads.scalix.com)«... 64.186.31.2
Verbindungsaufbau zu downloads.scalix.com (downloads.scalix.com)|64.186.31.2|:80... verbunden.
HTTP-Anforderung gesendet, warte auf Antwort... 200 OK
Länge: 16584 (16K) [application/x-sh]
In »»deb_installer.sh«« speichern.

100%[=================================================================================================================================>] 16.584 --.-K/s in 0,09s

2015-06-30 14:28:35 (183 KB/s) - »»deb_installer.sh«« gespeichert [16584/16584]

You have to make the script executable using this command:

root@mail:~# chmod +x deb_installer.sh

As Scalix needs some prerequisites like a correct configured hostname, you need to edit the hosts file:

root@mail:~# vi /etc/hosts

Just add a line with the external IP of your host and the host name:

127.0.0.1 localhost
192.168.159.130 mail.flomain.de mail

I added the last line.  If there is a line with “127.0.0.1” and the host name, other than localhost, you need to remove this line, as Scalix do not like this.

Afterwards you can run the script with the –update option, as this will download the required packages automatically:

root@mail:~# ./deb_installer.sh --update

After the script has downloaded the required packages from the Scalix server, the script will install the required Debian packages. During this process, you will be asked to remove Exim. You have to accept this:

Die folgenden Pakete haben verletzte Abhängigkeiten:
 exim4-config : Kollidiert mit: sendmail-bin aber 8.14.4-4 soll installiert werden.
 sendmail-bin : Kollidiert mit: mail-transport-agent, welches ein virtuelles Paket ist.
 exim4-daemon-light : Kollidiert mit: mail-transport-agent, welches ein virtuelles Paket ist.
Die folgenden Aktionen werden diese Abhängigkeiten auflösen:

 Entfernen der folgenden Pakete:
1) exim4
2) exim4-base
3) exim4-config
4) exim4-daemon-light



Diese Lösung akzeptieren? [Y/n/q/?] y

You will be asked a second time, before Exim is removed:

Die folgenden Pakete werden ENTFERNT:
 exim4{a} exim4-base{a} exim4-config{a} exim4-daemon-light{a}
0 Pakete aktualisiert, 145 zusätzlich installiert, 4 werden entfernt und 0 nicht aktualisiert.
105 MB an Archiven müssen heruntergeladen werden. Nach dem Entpacken werden 236 MB zusätzlich belegt sein.
Möchten Sie fortsetzen? [Y/n/?] y

Afterwards, Exim will be removed and the latest available packages for Debian will be installed.

During the installation of sendmail, I run into some problems with the sendmail configuration. I did not know if this is an error with my system or with the way Debian replaces Exim with sendmail. The error messages are this one:

Your currnet sendmail configuration has errors.
Please resolve following errors in sendmail configuration
to proceed with scalix server installation

*** ERROR: FEATURE() should be before MAILER()
*** MAILER(`local') must appear after FEATURE(`always_add_domain')*** ERROR: FEATURE() should be before MAILER()
*** MAILER(`local') must appear after FEATURE(`allmasquerade')*** ERROR: FEATURE() should be before MAILER()
*** ERROR: FEATURE() should be before MAILER()
*** MAILER(`local') must appear after FEATURE(`always_add_domain')*** ERROR: FEATURE() should be before MAILER()
*** MAILER(`local') must appear after FEATURE(`allmasquerade')*** ERROR: FEATURE() should be before MAILER()</pre>

To avoid this error you have to move the last 5 lines in the "/etc/mail/sendmail.mc". Open the file:
<pre>root@mail:~# vi /etc/mail/sendmail.mc

Simply move those lines:

dnl # Masquerading options
FEATURE(`always_add_domain')dnl
MASQUERADE_AS(`mail.flomain.de')dnl
FEATURE(`allmasquerade')dnl
FEATURE(`masquerade_envelope')dnl

before this line:

dnl # Default Mailer setup

Afterwards, you need to compile the new configuration:

root@mail:~# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

You can now restart the Scalix installer script. This time, you do not have to use the “–update” option as the script already downloaded the files in the first time.

root@mail:~# ./deb_installer.sh

The script will check for updates again and will then start the Scalix installation. You will be asked to set the password for the admin user:

Please enter the admin password for the Scalix admin user (sxadmin)?

You will also be asked for the password for the ldap query user:

Please enter a password for the ldap query user?

You also have to insert the password for the database user:

Please enter a password for the db user?

Afterwards, you need to insert the external IP of your Scalix system:

Please enter the external ip address of your Scalix box?

The IP is used to bind the Scalix server to this address.

You will also be asked if you would like to use https for the web interface.

Do you whant to use secure connection HTTPS instead HTTP for Scalix Administration console, ( yes / no ) ?

As I will have a proxy server in front of the Scalix box, which will handle https, I chose no. If your box is connected to the internet directly, you should consider using https, to protect management traffic and user traffic.

Afterwards, the installation is finished and you can reach the Scalix admin console using the following URL: http://your-ip/sac

Use “sxadmin” for the user and the admin password to login.

If you have any questions, regarding this post or if you would like provide feedback, please use the comment function below.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.