Scalix 11 unter Centos 5 im Vserver

Samstag, den 9. Juni 2007

ScalixNun bin ich es endlich angegangen, meinen neuen Mailserver aufzusetzen. Und dazu wollte ich auf jeden Fall scalix verwenden, da mir das Webinterface und auch die Outlook Integration sehr gut gefällt. Der Hauptgrund ist jedoch, dass es von diesem Server, der durchaus mit Exchange vergleichbar ist eine Community Edition gibt, die für Unlimited SWA (Scalix Web Access) Benutzer und 25 Scalix Premium Benutzer (SWA, Outlook) kostenlos zur Verfügung steht. Die Installation im Vserver gestaltete sich etwas schwiriger als unter einem Nativen Root-Server, da einige Files (Config-Files) einfach nicht gebraucht werden, und daher nicht vorhanden sind. Nach einigem Probieren hat es dann jedoch geklappt. Hier nun meine kurze Anleitung was gemacht werden muss. Noch zur Serverkonfiguration, der Hostserver läuft unter Gentoo Vserver 64Bit, das Gastsystem aber nur unter 32Bit, da es bisher noch kein Centos 5 Vserver Template gibt. Das verwendete Template habe ich von OpenVZ, einer anderen Server Virtualisierungslösung.

Nach dem Einrichten des Vservers müssen noch folgende Pakete installiert werden. Die hier aufgezählten Pakete müssenbis auf das jre von der Centos Seite heruntergeladen werden und in Abhängigkeit installiert werden. Yum ist der Paketmanager, den Centos verwendet, um Pakete direkt aus dem Netz zu installieren, das Paket mc, (midnight commander) ist nicht unbedingt nötig, macht aber das bearbeitet der Konfig Dateien um einiges einfacher. Da mein Hostsystem ein 64Bit System ist benötige ich auch noch einige andere Pakete, und auch Scalix hat einige Abhängigkeiten.

jre-1_5_0_12-linux
m2crypto
python-elementtree
python-sqlite
python-urlgrabber
rpm-python
yum
mc
nano
bind-utils
glibc
bash
ncurses
libstdc++
coreutils
grep
diffutils
gawk
sed
util-linx
tcl
tk
cyrus-sasl-md5
cyrus-sasl-plain
sendmail
sendmail-cf
which
openssl
compat-libstdc++
procps
elinks
krb5-lib
libstdc++
libxml2
ncurses
compat-libstdc++-296
postgresql
postgresql-server
libical (im scalix Pakage enthalten unter third_party)
make

Nachdem all diese Pakte installiert sind, muss die /etc/hosts vorbereitet werden, (Optimal beschrieben im Scalix Install PDF aus der Dokumentation). Jetzt muss noch unter /etc/sysconfig/network-scripting eine Datei ifcfg-eth0:centos-03 (name wie interface [ifconfig]) angelegt werden, die die Netzwerkconfig als Fake enthält, da diese Datei vom Scalix Installer ausgewertet wird. Inhalt könnte aussehen wie folgt:

DEVICE=eth0
BOOTPROTO=static
DHCPCLASS=
HWADDR=00:30:48:56:A6:2E
IPADDR=192.168.30.43
NETMASK=255.255.255.0
ONBOOT=yes

Wenn dieser Schritt erledigt ist, muss das locale geprüft werden, ich hatte das Problem, dass das lokale auf POSIX stand, damit hat der Installer allerdings ein Problem, wenn nach Eingabe des Befehls lokale eine Liste in der Art:

LANG=“de_DE@euro“
LC_CTYPE=“de_DE@euro“
LC_NUMERIC=“de_DE@euro“
LC_TIME=“de_DE@euro“
LC_COLLATE=“de_DE@euro“
LC_MONETARY=“de_DE@euro“
LC_MESSAGES=“de_DE@euro“
LC_PAPER=“de_DE@euro“
LC_NAME=“de_DE@euro“
LC_ADDRESS=“de_DE@euro“
LC_TELEPHONE=“de_DE@euro“
LC_MEASUREMENT=“de_DE@euro“
LC_IDENTIFICATION=“de_DE@euro“
LC_ALL=de_DE@euro

ausgegeben wird passt alles, bzw, wenn der Befehl locale -a de_DE@euro als verfügbar

C
de_DE
de_DE@euro
en_US.utf8
POSIX

anzeigt. Wenn das nicht der Fall ist, (war es bei mir nicht), ist das nicht schlimm, einfach den Befehl /usr/sbin/locale-gen und /etc/init.d/funktions.sh und /etc/locale.build / locale.gen vom Hostsystem in den Vserver (Verzeichnis) kopieren und den Befehl locale-gen aufrufen. Keine Ahnung warum aber der Befehl fehlt im Vserver und ich habe auch kein Pakage gefunden, welches den Script enthält, jedoch funktioniert der Gentoo Script auch unter Centos problemlos. Wenn das geschehen ist, kann das lokale in der Datei /etc/sysconfig/i18n gesetzt werden und der Vserver (Gast) komplett neu gestartet werden und natürlich das lokale danach prüfen.

Config sollte so aussehen:

LANG=“de_DE@euro“
LC_CTYPE=“de_DE@euro“
LC_NUMERIC=“de_DE@euro“
LC_TIME=“de_DE@euro“
LC_COLLATE=“de_DE@euro“
LC_MONETARY=“de_DE@euro“
LC_MESSAGES=“de_DE@euro“
LC_PAPER=“de_DE@euro“
LC_NAME=“de_DE@euro“
LC_ADDRESS=“de_DE@euro“
LC_TELEPHONE=“de_DE@euro“
LC_MEASUREMENT=“de_DE@euro“
LC_IDENTIFICATION=“de_DE@euro“
LC_ALL=“de_DE@euro“

Wenn all diese Schritte ausgeführt wurden, kann man es endlich wagen den Scalix Installer zu starten. Diese dürfte, wenn alles richtig ist keine Fehler finden und Problemlos durchlaufen. Nachdem alles Problemlos durchgelaufen ist, muss der Apache2 nochmal neu geladen werden, damit er sich die Connector Config zieht und dann sollte alles passen.
Was evtl. gemacht werden muss, da bin ich mir aber selbst noch nicht sicher, ist ein LoopBack Interface für den Vserver anzulegen (unter /etc/vserver/vsever-name/interfaces).
Viel Spass, ich hoffe diese Anleitung erspart einigen von euch das lange probieren, das ich durchgemacht habe.

Martin