Difference between revisions of "Zimbra on FreeBSD"

(Known issues)
Line 96: Line 96:
 
alternatively, switch to ZFS as you all should!
 
alternatively, switch to ZFS as you all should!
  
==Downloads==
+
==Downloads (stable)==
 
I will try to keep this project real. If you don't see the new version here, please write me a request.
 
I will try to keep this project real. If you don't see the new version here, please write me a request.
  
Line 103: Line 103:
  
  
'''13) GNR-6013''' (stable):
+
'''GNR-6013''':
  
 
[http://wiki.zimbra.com/wiki/Building_GNR_6.0.13_on_FreeBSD_8_amd64 build guide GNR-6013 FreeBSD]
 
[http://wiki.zimbra.com/wiki/Building_GNR_6.0.13_on_FreeBSD_8_amd64 build guide GNR-6013 FreeBSD]
Line 118: Line 118:
  
  
'''12) GNR-6012''' (legacy):
+
==Downloads (legacy)==
 +
 
 +
'''GNR-6012''':
  
 
[http://zimbra.imladris.sk/download/patches/GNR-6012.FreeBSD.patch patch GNR-6012 -> GNR-6012 FreeBSD]
 
[http://zimbra.imladris.sk/download/patches/GNR-6012.FreeBSD.patch patch GNR-6012 -> GNR-6012 FreeBSD]
  
  
'''9) GNR-609''' (legacy):
+
'''GNR-609''':
  
 
[http://wiki.zimbra.com/wiki/Building_GNR_6.0.9_on_FreeBSD_8_amd64 build guide GNR-609 FreeBSD]
 
[http://wiki.zimbra.com/wiki/Building_GNR_6.0.9_on_FreeBSD_8_amd64 build guide GNR-609 FreeBSD]
Line 138: Line 140:
  
  
'''8) GNR-608''' (legacy):
+
'''GNR-608''':
  
 
[http://zimbra.imladris.sk/download/patches/GNR-608.FreeBSD.patch patch GNR-608 -> GNR-608 FreeBSD]
 
[http://zimbra.imladris.sk/download/patches/GNR-608.FreeBSD.patch patch GNR-608 -> GNR-608 FreeBSD]
Line 151: Line 153:
  
  
'''7) GNR-607''' (legacy):
+
'''GNR-607''':
  
 
[http://zimbra.imladris.sk/download/patches/GNR-607.FreeBSD.patch patch GNR-607 -> GNR-607 FreeBSD]
 
[http://zimbra.imladris.sk/download/patches/GNR-607.FreeBSD.patch patch GNR-607 -> GNR-607 FreeBSD]
Line 160: Line 162:
  
  
'''6) GNR-606''' (legacy):
+
'''GNR-606''':
  
 
[http://wiki.zimbra.com/wiki/Building_GNR_on_FreeBSD_8 build guide GNR-606 FreeBSD]
 
[http://wiki.zimbra.com/wiki/Building_GNR_on_FreeBSD_8 build guide GNR-606 FreeBSD]
Line 181: Line 183:
  
  
'''GNR-605''' (legacy):
+
'''GNR-605''':
  
 
[http://zimbra.imladris.sk/download/patches/GNR-605.FreeBSD.patch patch GNR-605 -> GNR-605 FreeBSD]
 
[http://zimbra.imladris.sk/download/patches/GNR-605.FreeBSD.patch patch GNR-605 -> GNR-605 FreeBSD]
Line 194: Line 196:
  
  
'''GNR-604''' (legacy):
+
'''GNR-604''':
  
 
[http://zimbra.imladris.sk/download/patches/GNR-604.FreeBSD.patch patch GNR-604 -> GNR-604 FreeBSD]
 
[http://zimbra.imladris.sk/download/patches/GNR-604.FreeBSD.patch patch GNR-604 -> GNR-604 FreeBSD]
Line 201: Line 203:
  
  
'''GNR-603''' (legacy):
+
'''GNR-603''':
  
 
[http://zimbra.imladris.sk/download/patches/GNR-603.FreeBSD.patch patch GNR-603 -> GNR-603 FreeBSD]
 
[http://zimbra.imladris.sk/download/patches/GNR-603.FreeBSD.patch patch GNR-603 -> GNR-603 FreeBSD]
Line 210: Line 212:
  
  
'''GNR-602''' (legacy):
+
'''GNR-602''':
  
 
[http://zimbra.imladris.sk/download/patches/GNR-602.FreeBSD.patch patch GNR-602 -> GNR-602 FreeBSD]
 
[http://zimbra.imladris.sk/download/patches/GNR-602.FreeBSD.patch patch GNR-602 -> GNR-602 FreeBSD]
Line 217: Line 219:
  
  
'''GNR-601''' (legacy):
+
'''GNR-601''':
  
 
[http://wiki.zimbra.com/wiki/Building_GNR_on_FreeBSD_7.2_i386 build]/[http://wiki.zimbra.com/wiki/Installing_GNR_on_FreeBSD_7.2_i386 install] guide GNR-601 FreeBSD i386
 
[http://wiki.zimbra.com/wiki/Building_GNR_on_FreeBSD_7.2_i386 build]/[http://wiki.zimbra.com/wiki/Installing_GNR_on_FreeBSD_7.2_i386 install] guide GNR-601 FreeBSD i386

Revision as of 00:07, 13 June 2011

Developer Article

Article Information

This article applies to the following ZCS versions.

ZCS 6.0 Article ZCS 6.0

README FIRST (please, do)

Please, do not start random threads in zimbra/installation forums AND if so, please, post a link in the dedicated sticky thread AND/OR send me an email, contact me on ICQ/Skype (have a look at my forum profile for more info). Most problems can be resolved within minutes and I am subscribed only to the main thread. Keep in mind that zimbra on FreeBSD is still officially unsupported and that means you won't get (the same as Linux users would) help from zimbra team.

Most people (like myself) got tons of other activities (like family/work) so they don't have time to read excessive amount of data.

If you spot a mistake, please, let me know - I am neither psychic or omnipotent.

If anyone wonders, this is not a joke.

General information

The Perforce cache gives users access to download and build/modify Zimbra source code for Open Source products. Building Zimbra Collaboration Suite from Zimbra's Perforce cache requires advanced knowledge of troubleshooting. It is not available for Network Edition components. Changes cannot be committed to the Perforce cache.

By building Zimbra, you agree to Zimbra's licensing terms. Building from source is not covered under the ZEUL, unlike pre-compiled binaries, but rather the YPL.

By fetching Zimbra from zimbra.imladris.sk, you agree to Zimbra's and SUN's licensing terms. I am not good at legal stuff, screw it.

Technical support for source building can be found in the Zimbra Developers forum.

Zimbra does not support FreeBSD out of the box and there are no plans for the future support (or so we all heard).

Current version and changelist can be found on Pmweb.


I tried to integrate FreeBSD into source tree as much as possible so the same patched version:

a) will build on FreeBSD-6+ (provided the fact you can acquire required stuff),

b) should compile on the officially supported systems (Linux, Mac) without modification,

c) should survive the normal upgrade procedure.


Please, always check zimbra FreeBSD thread for the latest news!

Patch notes for latest GNR-6.0.x and HELIX-7.1.x

This is a complete rework of Zimbra source tree and it sometimes makes things better than the original. Some notable changes:

1) openssl, bdb, libtool, popt, expat, pcre, libxml2, tcmalloc are used from base system.

Rest is too Zimbra specific and would be of no other use on the system.

2) Most perl modules (117+ at the moment) are used from base system. Those left unchanged are:

Getopt::Easy - not in /usr/ports and it's not really used at all besides one tiny script (no idea why not using Getopt::Long like usual),

DBD::mysql - mysql specific includes/libs not part of base,

Net-LDAPapi - ldap/cyrus-sasl specific includes/libs not part of base,

Mail-SpamAssassin - requires different datadir.

3) FreeBSD specific includes in ZimbraBuild/defs/FreeBSD* and ZimbraBuild/defs/ThirdParty/*

4) package generation is handled by pkg_create so we install real FreeBSD specific packages.

5) complete rework of PRE-INSTALL/POST-INSTALL/DEINSTALL scripts in ZimbraBuild/rpmconf/Spec/Scripts/FreeBSD.

6) libexec/zmfixperms now fixes all needed permissions. It is called in every POST-INSTALL script.

Suggested tweaks

1) cpu spikes every minute or two:

su - zimbra
zmlocalconfig -e zmmtaconfig_interval=6000
zmprov mcf zimbraLogRawLifetime 7d
zmprov mcf zimbraLogSummaryLifetime 30d
/opt/zimbra/libexec/zmlogprocess
sed -I "" -e s'|.* \* \* \* \* /opt/zimbra/libexec/zmstatuslog|\*/60 \* \* \* \* /opt/zimbra/libexec/zmstatuslog|' /var/cron/tabs/zimbra

To do

1) create a Zimbra FreeBSD specific start-up script in /usr/local/etc/rc.d.

Troubleshooting

This is the part where opensource community unites to solve all the problems!

Please, always check zimbra FreeBSD thread when in doubt!

Common mistakes

1) /opt/zimbra symlinked elsewhere.

we all do hate /opt/zimbra directory as it spoils our nice FreeBSD tree. but, please, resist the temptation to symlink it elsewhere as that will render zimbra unusable and the installation will fail. if you need to move the it somewhere else, please, use nullfs:

zimbra# grep nullfs /etc/fstab
/usr/home/zimbra.solko  /opt/zimbra     nullfs  rw              0       0
mount_nullfs /usr/home/zimbra.solko /opt/zimbra

alternatively, switch to ZFS as you all should!

Downloads (stable)

I will try to keep this project real. If you don't see the new version here, please write me a request.

New versions require the same steps as the old ones (and little bit of brain power). When in doubt you can always browse the small zimbra repository at zimbra.imladris.sk to see the list of available files.


GNR-6013:

build guide GNR-6013 FreeBSD

patch GNR-6013 -> GNR-6013 FreeBSD

additional stuff (optionally) needed for build process GNR-6013 -> GNR-6013 FreeBSD

GNR-6013 FreeBSD-8.2_amd64 packages

GNR-6013 FreeBSD-8.2_amd64 run dependencies (all packages) or build yourself (place this to /usr/ports/mail/)

GNR-6013 FreeBSD-8.2_amd64 build dependencies (all packages including zimbra-rundeps) or build yourself (place this to /usr/ports/mail/)


Downloads (legacy)

GNR-6012:

patch GNR-6012 -> GNR-6012 FreeBSD


GNR-609:

build guide GNR-609 FreeBSD

patch GNR-609 -> GNR-609 FreeBSD

GNR-609 source

GNR-609 FreeBSD-8.2_amd64 packages

GNR-609 FreeBSD-8.2_amd64 run dependencies (all packages) or build yourself (place this to /usr/ports/mail/)

GNR-609 FreeBSD-8.2_amd64 build dependencies (all packages including zimbra-rundeps) or build yourself (place this to /usr/ports/mail/)


GNR-608:

patch GNR-608 -> GNR-608 FreeBSD

GNR-608 source

GNR-608 FreeBSD-8.1_amd64 packages

GNR-608 FreeBSD-8.1_amd64 run dependencies (all packages) or build yourself (place this to /usr/ports/mail/)

GNR-608 FreeBSD-8.1_amd64 build dependencies (all packages including zimbra-rundeps) or build yourself (place this to /usr/ports/mail/)


GNR-607:

patch GNR-607 -> GNR-607 FreeBSD

GNR-607 run dependencies - build yourself (place this to /usr/ports/mail/)

GNR-607 build dependencies - build yourself (place this to /usr/ports/mail/)


GNR-606:

build guide GNR-606 FreeBSD

patch GNR-606 -> GNR-606 FreeBSD

GNR-606 source

GNR-606 FreeBSD-8_amd64 packages (clamav 0.96 included)

GNR-606 FreeBSD-8_amd64 run dependencies (all packages) or build yourself (place this to /usr/ports/mail/)

GNR-606 FreeBSD-8_amd64 build dependencies (all packages including zimbra-rundeps) or build yourself (place this to /usr/ports/mail/)

GNR-606 FreeBSD-8_i386 packages (clamav 0.96 included)

GNR-606 FreeBSD-8_i386 run dependencies (all packages) or build yourself (place this to /usr/ports/mail/)

GNR-606 FreeBSD-8_i386 build dependencies (all packages including zimbra-rundeps) or build yourself (place this to /usr/ports/mail/)


GNR-605:

patch GNR-605 -> GNR-605 FreeBSD

GNR-605 source

GNR-605 FreeBSD-8_amd64 packages

GNR-605 FreeBSD-8_amd64 run dependencies (all packages) or build yourself (place this to /usr/ports/mail/)

GNR-605 FreeBSD-8_amd64 build dependencies (all packages including zimbra-rundeps) or build yourself (place this to /usr/ports/mail/)


GNR-604:

patch GNR-604 -> GNR-604 FreeBSD

GNR-604 FreeBSD-8_amd64 packages


GNR-603:

patch GNR-603 -> GNR-603 FreeBSD

GNR-603 FreeBSD-7_amd64 packages

GNR-603 FreeBSD-8_amd64 packages


GNR-602:

patch GNR-602 -> GNR-602 FreeBSD

GNR-602 FreeBSD-7_amd64 packages


GNR-601:

build/install guide GNR-601 FreeBSD i386

build/install guide GNR-601 FreeBSD amd64

patch GNR-601 -> GNR-601 FreeBSD

GNR-601 FreeBSD-7_i386 packages

GNR-601 FreeBSD-7_amd64 packages

Known issues

None.


--Solko 16:59, 12 June 2011 (PDT)

Jump to: navigation, search