Scalix Update 11.1.0

Aus Neobiker\\\'s Wiki
Zur Navigation springen Zur Suche springen

Ich plane folgendes Vorgehen:

  • Scalix, sendmail, fetchmail anhalten
  • LVM Snapshot ziehen
  • Scalix updaten
  • Scalix und fetchmail wieder starten

Vorbereitung

Scalix, sendmail, fetchmail anhalten

scx:~# /etc/init.d/fetchmail stop
/etc/init.d/sendmail stop

for f in /etc/rc1.d/*scal*; do echo $f; sh $f stop; done

LVM Snapshot als Backup erstellen

xen1:~# lvcreate -L 500M --snapshot -n scx-snap /dev/vg/scx
  Logical volume "scx-snap" created
xen1:~# lvcreate -L 500M --snapshot -n scx-var-snap /dev/vg/scx-var
  Logical volume "scx-var-snap" created

Scalix installieren

Scalix Sourcen laden und installieren.

scx:~# cd /usr/src
wget http://downloads.scalix.com/.community/11.1/scalix-11.1.0-GA-debian-intel.tgz
tar xvzf scalix-11.1.0-GA-debian-intel.tgz

cd scalix-debian-11.1.0-GA/software/scalix_server
for f in scalix-*.deb; do echo $f":"; dpkg -i $f; echo ""; done

Hier gab es bei mir einen (kleinen) Fehler im Startupscript /etc/init.d/scalix-postgres den ich wie folgt behoben habe:

[ -e ~postgres ] || $(mkdir ~postgres; chown postgres:postgres ~postgres)

vi /etc/init.d/scalix-postgres
Zeile 262:     #PGVERSION=`$SU postgres -c "$PGENGINE/pg_ctl --version" | awk '{ print \$NF }'`
                PGVERSION=`$SU postgres -c "$PGENGINE/pg_ctl --version" | awk '{ print $NF }'`

Gestartet wurde postgres zwar trotzdem, aber es soll ja fehlerfrei laufen... Es fehlte (in der Installation von Scalix) das Homeverzeichnis vom User 'postgres', welches zu Problemen von Scripten mit den '$SU postgres' Kommando führen (können), da sonst jedesmal ein Hinweis "No directory, logging in with HOME=/" erscheint, der dann im Startscript in Variablen mit eingelesen wurde (hier in Variable $PGVERSION).

Scalix (Re-)Konfiguration

geheim=mypasswd
dbpwd=$geheim
ldappwd=$geheim
tomcatport=80
ldomain=$(hostname -d)
host=$(hostname)
fqdn=$(hostname -f)
short=${host:0:1}${host: -1:1}

base=/var/opt/scalix/${short}
files="$base/webmail/swa.properties \
       $base/caa/scalix.res/config/ubermanager.properties \
       $base/res/config/res.properties \
       $base/platform/platform.properties \
       $base/mobile/mobile.properties \
       $base/sis/sis.properties"

for file in $files; do
  sed -e "s;%LOCALDOMAIN%;$ldomain;g" \
    -e "s;%LOCALHOST%;$fqdn;g" \
    -e "s;%IMAPHOST%;$fqdn;g" \
    -e "s;%SMTPHOST%;$fqdn;g" \
    -e "s;%DBHOST%;$fqdn:5733;g" \
    -e "s;%DBPASSWD%;$dbpwd;g" \
    -e "s;%LDAPPORT%;389;g" \
    -e "s;http://%PLATFORMURL%:8080/api;http://$fqdn/api;g" \
    -e "s;%PLATFORMURL%;http://$fqdn/api;g" \
    -e "s;swa.platform.enabled=false;swa.platform.enabled=true;g" \
    -e "s;__SECURED_MODE__;false;g" \
    -e "s;ubermanager/__FQHN_HOST__@__KERBEROS_REALM__;;g" \
    -e "s;__KERBEROS_REALM__;;g" \
    -e "s;__FQHN_FOR_KDC_HOST__;;g" \
    -e "s;__FQHN_QUERY_SERVER_NAME__;$fqdn;g" \
    -e "s;__UBERMGR_USE_EXTERNAL_AUTH__;false;g" \
    -e "s;__UBERMGR_ALLOW_EXTERNAL_AUTH__;false;g" \
    -e "s;__UBERMGR_MAXLIST_SIZE__;100;g" \
    -e "s;__UBERMGR_MAIL_DOMAINS_LIST__;$ldomain;g" \
    -e "s;__UBERMGR_EXTERNAL_DOMAIN_AUTH_LIST__;;g" \
    -e "s;__CONFIGURED__;true;g" \
    -e "s;__FQHN_FOR_UBERMANAGER__;$fqdn;g" \
    -e "s;__TOMCAT_PORT__;$tomcatport;g" \
    -e "s;localhost;$fqdn;g" \
    -e "s;%SIS-LANGUAGE%;German;g" \
    -e "s;%INDEX-WHITELIST%;$fqdn;g" \
    -e "s;%SEARCH-WHITELIST%;$fqdn;g" \
    $file > $file.neu
  mv $file.neu $file
done

# If SAC Login doesn't work, try this
# Write Ldappassword to psdata
if [ ! -e ${base}/caa/scalix.res/config/psdata ]; then
    echo "$ldappwd" > ${base}/caa/scalix.res/config/psdata
    chown root:root ${base}/caa/scalix.res/config/psdata
    chmod 400 ${base}/caa/scalix.res/config/psdata
fi

Scalix starten

Scalix wieder starten - und fetchmail

for f in /etc/rc2.d/*scal*; do echo $f; sh $f start; done
/etc/init.d/fetchmail start