64 Bit OS
ZCS will run on RHEL 4 x86_64, with 32bit compat installed. Some work is required to make the Zimbra perl scripts function though. The perl modules included with Zimbra are 32bit. Change the Zimbra users Perl @INC var and make sure all the needed modules are available in the RHEL 64bit Perl install.
The install on RHEL4 x86_64 fails while trying to find libstdc++. To get past this, I changed line 947 of the script "utilfunc.sh" in the util directory. The line looked like:
I changed it to:
Also you could fix this with a Symbolic Links eg. "ln -s /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.5"
However, once I got things installed, I'm stuck right now on the initialization at the end of the install. slappasswd is upset because it can't find libssl and libcrypto, which are installed in /lib64 on the x86_64 platform. I'll update this when I get past this hurdle.
The same fix can be used here. eg. "ln -s /usr/lib64/libssl.so.6 /usr/lib/libssl.so.5" You only need to change this command to work on your install
Fedora Core 5 x86_64
This is an install of zimbra-core-4.5.0_RC1_522.RHEL4_64-20061219094121.x86_64.rpm on FC5 x86_64.
You need to have the following installed:
- compat-db for zimbra-spell
- openssl097a for zimbra-ldap
So far, I'm still failing to start up:
Below is the change required to make install.sh happy with the prerequisites and to allow zmldapinit to complete. I also fixed some indenting issues. This is only tested on FC5.
--- zcs.dist/util/utilfunc.sh 2006-12-19 09:48:18.000000000 -0800 +++ zcs/util/utilfunc.sh 2007-01-09 09:05:42.000000000 -0800 @@ -1198,6 +1198,7 @@ PACKAGEEXT='ccs' PREREQ_PACKAGES="sudo libidn curl fetchmail gmp libxml2 libstdc++ openssl" else + # RPM based distro PACKAGEINST='rpm -iv' PACKAGERM='rpm -ev --nodeps --noscripts --allmatches' PACKAGEQUERY='rpm -q' @@ -1207,14 +1208,24 @@ PREREQ_LIBS="/usr/lib/libstdc++.so.5" elif [ $PLATFORM = "MANDRIVA2006" ]; then PREREQ_PACKAGES="sudo libidn11 curl fetchmail libgmp3 libxml2 libstdc++6 openssl" - elif [ $PLATFORM = "FC4" -o $PLATFORM = "FC5" -o $PLATFORM = "FC3" ]; then - PREREQ_PACKAGES="sudo libidn curl fetchmail gmp bind-libs vixie-cron" - if [ $PLATFORM = "FC5" ]; then - PREREQ_LIBS="/usr/lib/libstdc++.so.6" - else - PREREQ_LIBS="/usr/lib/libstdc++.so.5" - fi - elif [ $PLATFORM = "RHEL4_64" -o $PLATFORM = "CentOS4_64" ]; then + elif [ "`echo $PLATFORM | cut -c1-2`" = "FC" ]; then + # Fedora Core + PREREQ_PACKAGES="sudo libidn curl fetchmail gmp bind-libs vixie-cron" + if [ "`echo $PLATFORM | cut -c3`" -gt 2 ]; then + # Fedora Core later than 2 + PREREQ_PACKAGES="$PREREQ_PACKAGES openssl097a compat-db compat-libstdc++-296" + if [ "`echo $PLATFORM | cut -c3`" -eq 5 ]; then + # Fedora Core 5 + if [ "`echo $PLATFORM | cut -d_ -f2`" = "64" ]; then + # Fedora Core 5 x86_64 + PREREQ_LIBS="/usr/lib64/libstdc++.so.6" + else + # Fedora Core 5 i386 + PREREQ_LIBS="/usr/lib/libstdc++.so.5" + fi + fi + fi + elif [ $PLATFORM = "RHEL4_64" -o $PLATFORM = "CentOS4_64" ]; then PREREQ_PACKAGES="sudo libidn curl fetchmail gmp compat-libstdc++-296 compat-libstdc++-33" PREREQ_LIBS="/usr/lib64/libstdc++.so.5" else
The goal is to add some package prereqs for Fedora Core later than 2 and to use use libstdc++.so.6 instead of .5 in Fedora Core 5, but the platform string "FC5_64" did not match the check for FC5. I don't know that this is appropriate for FC4 and FC3.
If the mta won't start, make sure that the libraries are being found:
If you get errors like:
/opt/zimbra/postfix-2.2.5/sbin/postsuper: error while loading shared libraries: libldap-2.2.so.7: cannot open shared object file: No such file or directory /opt/zimbra/postfix-2.2.5/sbin/postalias: error while loading shared libraries: libldap-2.2.so.7: cannot open shared object file: No such file or directory /opt/zimbra/postfix-2.2.5/sbin/postfix: error while loading shared libraries: libldap-2.2.so.7: cannot open shared object file: No such file or directory
Verify that /etc/ld.so.conf contains:
/opt/zimbra/lib /opt/zimbra/sleepycat/lib /opt/zimbra/openldap/lib /opt/zimbra/cyrus-sasl/lib
then run ldconfig (as root).
- Install_VServer - How to and Gotchas on installing Zimbra on a Vserver
- Postfix_Policyd - How to install policyd for use with Zimbra
Mac OS X
Mac OS X ships with Java (so Zimbra does not include it for Mac releases), but the default version - even if 1.5 is installed - is 1.4.
Check the default: ls -l /usr/bin/java.
Check whether 1.5 is installed here: /System/Library/Frameworks/JavaVM.framework/Versions/.
If not, download it from Apple. Once it's installed, you can specify the preferred order of the versions in the Java Application Settings of the Java Preferences utility found in /Applications/Utilities/Java/J2SE 5.0.
You can also make /usr/bin/java a symlink to /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Commands/java but this may break any apps using 1.4.
You can verify that java 1.5 is available to zimbra like this:
su - zimbra java -version