Hi,
I'd like to thank those who put together the initial HOW-TO for Debian Etch, it was very useful.
I am now running Zimbra 4.5.6 OpenSource Edition on Debian Etch (stable), everyone (all 11 of us) at my company is very happy with the new mail server :-)
We netboot install our servers automatically from a local mirror of the Debian Etch 4.0 Network Install CD with a post install script which configures each server for its assigned role. I found that I needed some extra packages to satisfy completely Zimbra when installing from the Debian Etch 4.0 Network Install CD, below is the basic ZImbra install script and some notes, most of which have been collected from posts elsewhere on these forums or the wiki.
The Script
The following packages were required to keep Amavis happy.
- file arc arj bzip2 cabextract devscripts lha lzop unrar rpm tnef zoo
The following packages were required to keep Spam Training happy. See /opt/zimbra/log/spamtrain.log for finding errors.
- libdigest-sha1-perl libhtml-parser-perl
Any other packages installed are required to satisfy the Zimbra installer or provide essential system tools.
Code:
#!/bin/sh
# Install pre-requistes
apt-get -y --force-yes install file arc arj bzip2 cabextract devscripts lha lzop perl unrar rpm tnef zoo libdigest-sha1-perl libhtml-parser-perl
apt-get -y --force-yes install sudo curl fetchmail libgmp3c2 libssl0.9.7 libdb3 libxml2 libpcre3 libexpat1 libstdc++5
cd /root
# Download Zimbra
wget -c http://kent.dl.sourceforge.net/sourceforge/zimbra/zcs-4.5.6_GA_1044.DEBIAN3.1.tgz -O /mnt/scripts/00packages/zcs-4.5.6_GA_1044.DEBIAN3.1.tgz
tar zxvf /mnt/scripts/00packages/zcs-4.5.6_GA_1044.DEBIAN3.1.tgz
cd zcs
# Make Etch appear to be Sarge
echo '3.1' > /etc/debian_version
# Backup files we are going to patch
cp util/utilfunc.sh util/utilfunc.sh.org
# Patch Zimbra installer
echo Patching util/utilfunc.sh
sed 's/PLATFORM = "UBUNTU6" ]/PLATFORM = "UBUNTU6" -o $PLATFORM = "DEBIAN3.1" ]/' util/utilfunc.sh > /tmp/utilfunc.sh ; mv /tmp/utilfunc.sh util/utilfunc.sh
# Install
./install.sh
# Restore the Etch version
echo '4.0' > /etc/debian_version
Post Install Hacks
These a not essential fixes, they just ensure the some of the scripts return values that are accurate.
get_plat_tag.sh
This fix just ensures that Debian 3.1 is returned as the detected OS, even though we actually are running on Debian 4.0. We are running Debian 3.1 Zimbra packages so this just keeps things consistent.
Code:
vi /opt/zimbra/libexec/get_plat_tag.sh
Find...
Code:
if [ -f /etc/debian_version ]; then
grep "3.1" /etc/debian_version > /dev/null 2>&1
if [ $? = 0 ]; then
echo "DEBIAN3.1"
exit 0
fi
fi ...and add the following afterward...
Code:
if [ -f /etc/debian_version ]; then
grep "4.0" /etc/debian_version > /dev/null 2>&1
if [ $? = 0 ]; then
echo "DEBIAN3.1"
exit 0
fi
fi zmdumpenv
zmdumpenv produces a report system report for Zimbra server, currently it handles package detection for MacOSX and then falls back to rpm (Redhat). To fix it for dpkg (Debian) do the following...
Code:
vi /opt/zimbra/bin/zmdumpenv
Find...
Code:
if [ x$P = "xMACOSX" -o "x$P" = "xMACOSXx86" ]; then
ls -ld /Library/Receipts/zimbra-*
else
rpm -qi zimbra-core
fi ...and replace it with..
Code:
if [ x$P = "xMACOSX" -o "x$P" = "xMACOSXx86" ]; then
ls -ld /Library/Receipts/zimbra-*
elif [ "x$P" = "xUBUNTU6" -o "x$P" = "xDEBIAN3.1" ]; then
dpkg -s zimbra-core
else
rpm -qi zimbra-core
fi Thanks to everyone who has contributed tips and tricks for running Zimbra on Debian Etch 4.0. I hope the above is also useful to someone and that we see an official Zimbra release for Debian Etch 4.0 sometime soon ;-)