Zimbra on FreeBSD: Difference between revisions

No edit summary
 
(88 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Archive}}{{Article Infobox|{{devel}}|{{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 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.
'''Please, always check [http://www.zimbra.com/forums/installation/61938-ironmaiden-8-0-3-ported-freebsd.html 8.x (IRONMAIDEN) FreeBSD thread] for the latest news!'''
'''Please, always check [http://www.zimbra.com/forums/installation/50196-helix-7-1-1-ported-freebsd.html 7.x (HELIX) FreeBSD thread] for the latest news!'''
'''Please, always check [http://www.zimbra.com/forums/installation/33477-zcs-6-0-1-ported-freebsd7.html 6.x (GNR) FreeBSD thread] for the latest news!'''
==General information==
==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 [http://www.zimbra.com/license Zimbra's licensing terms].
 
By fetching Zimbra, related FreeBSD patches and/or packages from '''zimbra.imladris.sk''', you agree to Zimbra's, SUN's, VMware's (and any other possible) licensing terms.
 
Zimbra does not support [http://www.freebsd.org 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 [http://pm.zimbra.com Product Management Portal].
 
==Patch notes for IRONMAIDEN-8.0.3 (and higher)==
 
It just works. Build and install process automated.
 
==Patch notes for GNR-6.0.15 (and higher) and HELIX-7.1.4 (and higher)==
 
'''1) ''ThirdParty'' is used from zimbra source:'''
 
- ''net-snmp'' upgraded to 5.7.1 to support '''FreeBSD-9'''
 
- ''google-perftools'' upgraded to 1.8.3 to support '''FreeBSD-9'''
 
- '''all''' ''Perl'' modules bundled
 
- every package has its own '''FreeBSD''' patches merged in (courtesy of /usr/ports). this was a forced change to cope with many compatibility issues which, frankly, almost made my head explode


By building Zimbra, you agree to Zimbra's licensing terms. Building from source is not covered under the [http://www.zimbra.com/license/zimbra_public_eula_2.1.html ZEUL], unlike pre-compiled binaries, but rather the [http://www.zimbra.com/license/yahoo_public_license_1.0.html YPL].
- '''popt, expat, pcre''' used from base system (zimbra default)


By fetching Zimbra from zimbra.imladris.sk, you agree to Zimbra's licensing terms. I am not good at legal stuff, screw it.
'''2) FreeBSD_i386 support has been removed.'''


Technical support for source building can be found in the [http://www.zimbra.com/forums/developers/ Zimbra Developers forum].
'''3) FreeBSD specific includes in ''ZimbraBuild/defs/FreeBSD*'' and ''ZimbraBuild/defs/ThirdParty/*''.'''


Zimbra does not support [http://www.freebsd.org FreeBSD] out of the box and there are no plans for the future support (or so we all heard). I tried to integrate FreeBSD into source tree as much as possible so the same version should compile fine on other supported systems.
'''4) package generation is handled by ''pkg_create'' so we install real FreeBSD specific packages.'''


GNR-601 *was* the latest 6.0 series release at the time of writing this document. Current version and changelist can be found on [http://pm.zimbra.com/pm_release.php?rel=6.0 Pmweb].
'''5) complete rework of ''PRE-INSTALL/POST-INSTALL/DEINSTALL'' scripts in ''ZimbraBuild/rpmconf/Spec/Scripts/FreeBSD''.'''


This document summarizes everything related to GNR-601 on FreeBSD-7, however patched GNR-601 will build on FreeBSD-6 and FreeBSD-8 as well.
'''6) ''libexec/zmfixperms'' now fixes all needed permissions. It is called in every ''POST-INSTALL'' script.'''


'''7) really *great* pain has been undertaken to patch every little bit of zimbra universe to honor MAKE:=''gmake''.'''


Please, always check [http://www.zimbra.com/forums/installation/33477-zcs-6-0-1-ported-freebsd7.html zimbra FreeBSD thread] for the latest news!
no need to copy ''gmake'' to ''/usr/bin/make'' now! rejoice only if you build often.
 
'''8) server/services status and graphs in ''ZimbraAdmin'' web interface work!'''
 
'''9) the reign of ''diablo-jdk6'' has ended! long live ''openjdk6''!'''
add this to your ''/etc/fstab'' just to be sure:
<pre>
fdesc  /dev/fd        fdescfs        rw      0      0
proc    /proc          procfs          rw      0      0
</pre>
and make it happen:
<pre>
mount -a
</pre>


==Patch notes==
==Patch notes for GNR-6.0.14 (and lower) and HELIX-7.1.1 (and lower)==
This is a complete rework of GNR-601 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.'''
'''1) openssl, bdb, libtool, popt, expat, pcre, libxml2, tcmalloc are used from base system.'''
Line 24: Line 76:
Rest is too Zimbra specific and would be of no other use on the system.
Rest is too Zimbra specific and would be of no other use on the system.


'''2) most perl modules are used from base system.''' Those left unchanged are:
'''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),
''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),
Line 40: Line 92:
'''5) complete rework of ''PRE-INSTALL/POST-INSTALL/DEINSTALL'' scripts in ''ZimbraBuild/rpmconf/Spec/Scripts/FreeBSD''.'''
'''5) complete rework of ''PRE-INSTALL/POST-INSTALL/DEINSTALL'' scripts in ''ZimbraBuild/rpmconf/Spec/Scripts/FreeBSD''.'''


'''6) every ''su - zimbra -c'' call has been replaced by ''sudo -u zimbra -i -- -c'' call because su+bash is hitting a race condition on FreeBSD-7.2 (and other systems.. like Linux) which causes some scripts to hang up indefinitely.'''
'''6) ''libexec/zmfixperms'' now fixes all needed permissions. It is called in every ''POST-INSTALL'' script.'''
 
changed back to ''su - zimbra -c'' as only '''FreeBSD-8+''' is supported from now on (kept here as a reminder in case someone hits the bug again).
 
'''7) ''libexec/zmfixperms'' now fixes all needed permissions. It is called in every ''POST-INSTALL'' script.'''
 
==Building GNR-601 on FreeBSD-7.2_amd64==
[[Building_GNR_on_FreeBSD_7.2_amd64]]
 
==Installing GNR-601 on FreeBSD-7.2_amd64 without building==
[[Installing_GNR_on_FreeBSD_7.2_amd64]]
 
==Building GNR-601 on FreeBSD-7.2_i386==
[[Building_GNR_on_FreeBSD_7.2_i386]]
 
==Installing GNR-601 on FreeBSD-7.2_i386 without building==
[[Installing_GNR_on_FreeBSD_7.2_i386]]


==Suggested tweaks==
==Suggested tweaks==
Line 71: Line 107:
</pre>
</pre>


==TO DO==
==To do==
'''1) create a Zimbra FreeBSD specific start-up script in /usr/local/etc/rc.d.'''


I failed miserably at the attempt so please someone supply somehow..
Persuade Zimbra to include official support.


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


==New versions==
==Common mistakes==
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 versions unless stated otherwise (e.g.: just substitute '601' with '602').
'''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'':
<pre>
zimbra# grep nullfs /etc/fstab
/usr/home/zimbra.solko  /opt/zimbra    nullfs  rw              0      0
</pre>
 
<pre>
mount_nullfs /usr/home/zimbra.solko /opt/zimbra
</pre>
 
alternatively, switch to ZFS as you all should!
 
==!!! Downloads !!!==
If you don't see the new version here, please write me a request. Email is the best way.
 
'''IRONMAIDEN-808''':
 
[http://zimbra.imladris.sk/download/patches/IRONMAIDEN-808-FreeBSD.patch IRONMAIDEN-808 FreeBSD-9_amd64 patch]
 
[http://zimbra.imladris.sk/download/zimbra-packages/IRONMAIDEN-808/zcs-8.0.8-FreeBSD-9_amd64.tgz IRONMAIDEN-808 FreeBSD-9_amd64 packages]
 
 
'''CVE-2014-0160 OpenSSL Heartbeat bug''':
 
[http://zimbra.imladris.sk/download/openssl/heartbeat.disabled/ Patched OpenSSL versions for 8.0.0-8.0.7]
 
 
'''IRONMAIDEN-804''': (CVE-2014-0160 OpenSSL Heartbeat bug - '''FIXED''' - OpenSSL 1.0.1g 7 Apr 2014)
 
[http://zimbra.imladris.sk/download/patches/IRONMAIDEN-804-FreeBSD.patch IRONMAIDEN-804 FreeBSD-9.1_amd64 patch]
 
[http://zimbra.imladris.sk/download/zimbra-packages/IRONMAIDEN-804/zcs-8.0.4-FreeBSD-9_amd64.tgz  IRONMAIDEN-804 FreeBSD-9.1_amd64 packages]
 
==Downloads (legacy)==
 
'''IRONMAIDEN-803''': (CVE-2014-0160 OpenSSL Heartbeat bug - '''DO NOT DOWNLOAD''' or [http://zimbra.imladris.sk/download/openssl/heartbeat.disabled/ get patched OpenSSL version])
 
[http://zimbra.imladris.sk/download/patches/IRONMAIDEN-803-FreeBSD.patch_r5647 IRONMAIDEN-803 FreeBSD-9.1_amd64 patch, r5647]
 
[http://zimbra.imladris.sk/download/zimbra-packages/IRONMAIDEN-803/zcs-8.0.3_GA_5647.FreeBSD_amd64.20130506065031.tgz IRONMAIDEN-803 FreeBSD-9.1_amd64 packages, r5647]
 
[http://zimbra.imladris.sk/download/vmware/FreeBSD_9.1_zimbra_8.0.3_install-vmware.tgz VMware Player compatible FreeBSD-9.1_amd64 image with zimbra packages, r5647], cd /install && ./install.sh
 
[http://wiki.zimbra.com/wiki/Building_IRONMAIDEN_8.0.3_on_FreeBSD_9.1_amd64 build guide IRONMAIDEN-803 FreeBSD-9.1_amd64]
 
[http://wiki.zimbra.com/wiki/Installing_IRONMAIDEN_8.0.3_on_FreeBSD_9.1_amd64 install guide IRONMAIDEN-803 FreeBSD-9.1_amd64]
 
 
'''HELIX-720''':
 
[http://zimbra.imladris.sk/download/src/HELIX-720.fbsd-src.tgz HELIX-720 '''ready-to-build''' source]
 
[http://zimbra.imladris.sk/download/zimbra-packages/HELIX-720/zcs-7.2.0-FreeBSD-9_amd64.tgz HELIX-720 FreeBSD-9_amd64 packages]
 
[http://zimbra.imladris.sk/download/packages/HELIX-720/FreeBSD-9/amd64/zimbra-rundeps-7.2.0.tgz HELIX-720 FreeBSD-9_amd64 run dependencies (all packages)] or [http://zimbra.imladris.sk/download/ports/usrports_zimbra-rundeps-7.2.0.tgz build yourself (place this to /usr/ports/mail/)]
 
[http://zimbra.imladris.sk/download/packages/HELIX-720/FreeBSD-9/amd64/zimbra-builddeps-7.2.0.tgz HELIX-720 FreeBSD-9_amd64 build dependencies (all packages including zimbra-rundeps)] or [http://zimbra.imladris.sk/download/ports/usrports_zimbra-builddeps-7.2.0.tgz build yourself (place this to /usr/ports/mail/)]
 
 
'''HELIX-714''':
 
[http://wiki.zimbra.com/wiki/Building_HELIX_7.1.4_on_FreeBSD_9_amd64 build guide HELIX-714 FreeBSD]
 
[http://wiki.zimbra.com/wiki/Installing_HELIX_7.1.4_on_FreeBSD_9_amd64 install guide HELIX-714 FreeBSD]
 
[http://zimbra.imladris.sk/download/patches/HELIX-714.FreeBSD.patch patch HELIX-714 -> HELIX-714 FreeBSD]
 
[http://zimbra.imladris.sk/download/src/HELIX-714.fbsd-src.tgz HELIX-714 '''ready-to-build''' source]
 
[http://zimbra.imladris.sk/download/zimbra-packages/HELIX-714/zcs-7.1.4-FreeBSD-9_amd64.tgz HELIX-714 FreeBSD-9_amd64 packages]
 
[http://zimbra.imladris.sk/download/packages/HELIX-714/FreeBSD-9/amd64/zimbra-rundeps-7.1.4.tgz HELIX-714 FreeBSD-9_amd64 run dependencies (all packages)] or [http://zimbra.imladris.sk/download/ports/usrports_zimbra-rundeps-7.1.4.tgz build yourself (place this to /usr/ports/mail/)]
 
[http://zimbra.imladris.sk/download/packages/HELIX-714/FreeBSD-9/amd64/zimbra-builddeps-7.1.4.tgz HELIX-714 FreeBSD-9_amd64 build dependencies (all packages including zimbra-rundeps)] or [http://zimbra.imladris.sk/download/ports/usrports_zimbra-builddeps-7.1.4.tgz build yourself (place this to /usr/ports/mail/)]
 
[http://zimbra.imladris.sk/download/zimbra-packages/HELIX-714/zcs-7.1.4-FreeBSD-8_amd64.tgz HELIX-714 FreeBSD-8_amd64 packages]
 
[http://zimbra.imladris.sk/download/packages/HELIX-714/FreeBSD-8/amd64/zimbra-rundeps-7.1.4.tgz HELIX-714 FreeBSD-8_amd64 run dependencies (all packages)] or [http://zimbra.imladris.sk/download/ports/usrports_zimbra-rundeps-7.1.4.tgz build yourself (place this to /usr/ports/mail/)]
 
[http://zimbra.imladris.sk/download/packages/HELIX-714/FreeBSD-8/amd64/zimbra-builddeps-7.1.4.tgz HELIX-714 FreeBSD-8_amd64 build dependencies (all packages including zimbra-rundeps)] or [http://zimbra.imladris.sk/download/ports/usrports_zimbra-builddeps-7.1.4.tgz build yourself (place this to /usr/ports/mail/)]
 
 
'''HELIX-711''':
 
[http://wiki.zimbra.com/wiki/Building_HELIX_7.1.1_on_FreeBSD_8_amd64 build guide HELIX-711 FreeBSD]
 
[http://wiki.zimbra.com/wiki/Installing_HELIX_7.1.1_on_FreeBSD_8_amd64 install guide HELIX-711 FreeBSD]
 
[http://zimbra.imladris.sk/download/patches/HELIX-711.FreeBSD.patch patch HELIX-711 -> HELIX-711 FreeBSD]
 
[http://zimbra.imladris.sk/download/src/HELIX-711-src.tgz HELIX-711 source]
 
[http://zimbra.imladris.sk/download/zimbra-packages/HELIX-711/zcs-7.1.1_GA_3205.FreeBSD_amd64.tgz HELIX-711 FreeBSD-8.2_amd64 packages]
 
[http://zimbra.imladris.sk/download/packages/HELIX-711/FreeBSD-8/amd64/zimbra-rundeps-8_amd64-7.1.1.tgz HELIX-711 FreeBSD-8.2_amd64 run dependencies (all packages)] or [http://zimbra.imladris.sk/download/ports/usrports_zimbra-rundeps-7.1.1.tgz build yourself (place this to /usr/ports/mail/)]
 
[http://zimbra.imladris.sk/download/packages/HELIX-711/FreeBSD-8/amd64/zimbra-builddeps-8_amd64-7.1.1.tgz HELIX-711 FreeBSD-8.2_amd64 build dependencies (all packages including zimbra-rundeps)] or [http://zimbra.imladris.sk/download/ports/usrports_zimbra-builddeps-7.1.1.tgz build yourself (place this to /usr/ports/mail/)]
 
 
'''GNR-6015''':
 
[http://wiki.zimbra.com/wiki/Building_GNR_6.0.15_on_FreeBSD_9_amd64 build guide GNR-6015 FreeBSD]
 
[http://wiki.zimbra.com/wiki/Installing_GNR_6.0.15_on_FreeBSD_9_amd64 install guide GNR-6015 FreeBSD]
 
[http://zimbra.imladris.sk/download/patches/GNR-6015.FreeBSD.patch patch GNR-6015 -> GNR-6015 FreeBSD]
 
[http://zimbra.imladris.sk/download/src/GNR-6015.fbsd-src.tgz GNR-6015 '''ready-to-build''' source]
 
[http://zimbra.imladris.sk/download/zimbra-packages/GNR-6015/zcs-6.0.15-FreeBSD-9_amd64.tgz GNR-6015 FreeBSD-9_amd64 packages]
 
[http://zimbra.imladris.sk/download/packages/GNR-6015/FreeBSD-9/amd64/zimbra-rundeps-6.0.15.tgz GNR-6015 FreeBSD-9_amd64 run dependencies (all packages)] or [http://zimbra.imladris.sk/download/ports/usrports_zimbra-rundeps-6.0.15.tgz build yourself (place this to /usr/ports/mail/)]
 
[http://zimbra.imladris.sk/download/packages/GNR-6015/FreeBSD-9/amd64/zimbra-builddeps-6.0.15.tgz GNR-6015 FreeBSD-9_amd64 build dependencies (all packages including zimbra-rundeps)] or [http://zimbra.imladris.sk/download/ports/usrports_zimbra-builddeps-6.0.15.tgz build yourself (place this to /usr/ports/mail/)]
 
[http://zimbra.imladris.sk/download/zimbra-packages/GNR-6015/zcs-6.0.15-FreeBSD-8_amd64.tgz GNR-6015 FreeBSD-8_amd64 packages]
 
[http://zimbra.imladris.sk/download/packages/GNR-6015/FreeBSD-8/amd64/zimbra-rundeps-6.0.15.tgz GNR-6015 FreeBSD-8_amd64 run dependencies (all packages)] or [http://zimbra.imladris.sk/download/ports/usrports_zimbra-rundeps-6.0.15.tgz build yourself (place this to /usr/ports/mail/)]
 
[http://zimbra.imladris.sk/download/packages/GNR-6015/FreeBSD-8/amd64/zimbra-builddeps-6.0.15.tgz GNR-6015 FreeBSD-8_amd64 build dependencies (all packages including zimbra-rundeps)] or [http://zimbra.imladris.sk/download/ports/usrports_zimbra-builddeps-6.0.15.tgz build yourself (place this to /usr/ports/mail/)]
 
 
'''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/Installing_GNR_6.0.13_on_FreeBSD_8_amd64 install guide GNR-6013 FreeBSD]
 
[http://zimbra.imladris.sk/download/patches/GNR-6013.FreeBSD.patch patch GNR-6013 -> GNR-6013 FreeBSD]
 
[http://zimbra.imladris.sk/download/src/GNR-6013-src.tgz GNR-6013 source]
 
[http://zimbra.imladris.sk/download/zimbra-packages/GNR-6013/zcs-6.0.13_GA_2920.FreeBSD_amd64.tgz GNR-6013 FreeBSD-8.2_amd64 packages]
 
[http://zimbra.imladris.sk/download/packages/GNR-6013/FreeBSD-8/amd64/zimbra-rundeps-8_amd64-6.0.13.tgz GNR-6013 FreeBSD-8.2_amd64 run dependencies (all packages)] or [http://zimbra.imladris.sk/download/ports/usrports_zimbra-rundeps-6.0.13.tgz build yourself (place this to /usr/ports/mail/)]
 
[http://zimbra.imladris.sk/download/packages/GNR-6013/FreeBSD-8/amd64/zimbra-builddeps-8_amd64-6.0.13.tgz GNR-6013 FreeBSD-8.2_amd64 build dependencies (all packages including zimbra-rundeps)] or [http://zimbra.imladris.sk/download/ports/usrports_zimbra-builddeps-6.0.13.tgz build yourself (place this to /usr/ports/mail/)]
 
 
'''GNR-6012''':
 
[http://zimbra.imladris.sk/download/patches/GNR-6012.FreeBSD.patch patch GNR-6012 -> GNR-6012 FreeBSD]
 
 
'''GNR-609''':
 
[http://wiki.zimbra.com/wiki/Building_GNR_6.0.9_on_FreeBSD_8_amd64 build guide GNR-609 FreeBSD]
 
[http://zimbra.imladris.sk/download/patches/GNR-609.FreeBSD.patch patch GNR-609 -> GNR-609 FreeBSD]
 
[http://zimbra.imladris.sk/download/src/GNR-609-src.tgz GNR-609 source]
 
[http://zimbra.imladris.sk/download/zimbra-packages/GNR-609/zcs-6.0.9_GA_2689.FreeBSD_amd64.tgz GNR-609 FreeBSD-8.2_amd64 packages]
 
[http://zimbra.imladris.sk/download/packages/GNR-609/FreeBSD-8/amd64/zimbra-rundeps-8_amd64-6.0.9.tgz GNR-609 FreeBSD-8.2_amd64 run dependencies (all packages)] or [http://zimbra.imladris.sk/download/ports/usrports_zimbra-rundeps-6.0.9.tgz build yourself (place this to /usr/ports/mail/)]
 
[http://zimbra.imladris.sk/download/packages/GNR-609/FreeBSD-8/amd64/zimbra-builddeps-8_amd64-6.0.9.tgz GNR-609 FreeBSD-8.2_amd64 build dependencies (all packages including zimbra-rundeps)] or [http://zimbra.imladris.sk/download/ports/usrports_zimbra-builddeps-6.0.9.tgz build yourself (place this to /usr/ports/mail/)]
 
 
'''GNR-608''':
 
[http://zimbra.imladris.sk/download/patches/GNR-608.FreeBSD.patch patch GNR-608 -> GNR-608 FreeBSD]
 
[http://zimbra.imladris.sk/download/src/GNR-608-src.tar.gz GNR-608 source]
 
[http://zimbra.imladris.sk/download/zimbra-packages/GNR-608/zcs-6.0.8_GA_2673.FreeBSD_amd64.tgz GNR-608 FreeBSD-8.1_amd64 packages]
 
[http://zimbra.imladris.sk/download/packages/GNR-608/FreeBSD-8/amd64/zimbra-rundeps-8_amd64-6.0.8.tgz GNR-608 FreeBSD-8.1_amd64 run dependencies (all packages)] or [http://zimbra.imladris.sk/download/ports/usrports_zimbra-rundeps-6.0.8.tgz build yourself (place this to /usr/ports/mail/)]
 
[http://zimbra.imladris.sk/download/packages/GNR-608/FreeBSD-8/amd64/zimbra-builddeps-8_amd64-6.0.8.tgz GNR-608 FreeBSD-8.1_amd64 build dependencies (all packages including zimbra-rundeps)] or [http://zimbra.imladris.sk/download/ports/usrports_zimbra-builddeps-6.0.8.tgz build yourself (place this to /usr/ports/mail/)]
 
 
'''GNR-607''':
 
[http://zimbra.imladris.sk/download/patches/GNR-607.FreeBSD.patch patch GNR-607 -> GNR-607 FreeBSD]
 
[http://zimbra.imladris.sk/download/ports/usrports_zimbra-rundeps-6.0.7.tgz GNR-607 run dependencies - build yourself (place this to /usr/ports/mail/)]
 
[http://zimbra.imladris.sk/download/ports/usrports_zimbra-builddeps-6.0.7.tgz GNR-607 build dependencies - build yourself (place this to /usr/ports/mail/)]
 
 
'''GNR-606''':
 
[http://wiki.zimbra.com/wiki/Building_GNR_on_FreeBSD_8 build guide GNR-606 FreeBSD]
 
[http://zimbra.imladris.sk/download/patches/GNR-606.FreeBSD.patch patch GNR-606 -> GNR-606 FreeBSD]
 
[http://zimbra.imladris.sk/download/src/GNR-606-src.tar.gz GNR-606 source]
 
[http://zimbra.imladris.sk/download/zimbra-packages/GNR-606/zcs-6.0.6_GA_2325.FreeBSD-8_amd64.tgz GNR-606 FreeBSD-8_amd64 packages] ('''clamav 0.96 included''')
 
[http://zimbra.imladris.sk/download/packages/GNR-606/FreeBSD-8/amd64/zimbra-rundeps-8_amd64-6.0.6.tgz GNR-606 FreeBSD-8_amd64 run dependencies (all packages)] or [http://zimbra.imladris.sk/download/ports/usrports_zimbra-rundeps-6.0.6.tgz build yourself (place this to /usr/ports/mail/)]
 
[http://zimbra.imladris.sk/download/packages/GNR-606/FreeBSD-8/amd64/zimbra-builddeps-8_amd64-6.0.6.tgz GNR-606 FreeBSD-8_amd64 build dependencies (all packages including zimbra-rundeps)] or [http://zimbra.imladris.sk/download/ports/usrports_zimbra-builddeps-6.0.6.tgz build yourself (place this to /usr/ports/mail/)]
 
[http://zimbra.imladris.sk/download/zimbra-packages/GNR-606/zcs-6.0.6_GA_2325.FreeBSD-8_i386.tgz GNR-606 FreeBSD-8_i386 packages] ('''clamav 0.96 included''')
 
[http://zimbra.imladris.sk/download/packages/GNR-606/FreeBSD-8/i386/zimbra-rundeps-8_i386-6.0.6.tgz GNR-606 FreeBSD-8_i386 run dependencies (all packages)] or [http://zimbra.imladris.sk/download/ports/usrports_zimbra-rundeps-6.0.6.tgz build yourself (place this to /usr/ports/mail/)]
 
[http://zimbra.imladris.sk/download/packages/GNR-606/FreeBSD-8/i386/zimbra-builddeps-8_i386-6.0.6.tgz GNR-606 FreeBSD-8_i386 build dependencies (all packages including zimbra-rundeps)] or [http://zimbra.imladris.sk/download/ports/usrports_zimbra-builddeps-6.0.6.tgz build yourself (place this to /usr/ports/mail/)]
 
 
'''GNR-605''':
 
[http://zimbra.imladris.sk/download/patches/GNR-605.FreeBSD.patch patch GNR-605 -> GNR-605 FreeBSD]
 
[http://zimbra.imladris.sk/download/src/GNR-605-src.tar.gz GNR-605 source]


'''1) GNR-601''':
[http://zimbra.imladris.sk/download/zimbra-packages/GNR-605/zcs-6.0.5_GA_2217.FreeBSD-8_amd64.tgz GNR-605 FreeBSD-8_amd64 packages]
 
[http://zimbra.imladris.sk/download/packages/GNR-605/FreeBSD-8/amd64/zimbra-rundeps-6.0.5.tgz GNR-605 FreeBSD-8_amd64 run dependencies (all packages)] or [http://zimbra.imladris.sk/download/ports/usrports_zimbra-rundeps-6.0.5.tgz build yourself (place this to /usr/ports/mail/)]
 
[http://zimbra.imladris.sk/download/packages/GNR-605/FreeBSD-8/amd64/zimbra-builddeps-6.0.5.tgz GNR-605 FreeBSD-8_amd64 build dependencies (all packages including zimbra-rundeps)] or [http://zimbra.imladris.sk/download/ports/usrports_zimbra-builddeps-6.0.5.tgz build yourself (place this to /usr/ports/mail/)]


[http://zimbra.imladris.sk/download/patches/GNR-601.FreeBSD.patch patch GNR-601 -> GNR-601 FreeBSD]


[http://zimbra.imladris.sk/download/zimbra-packages/GNR-601/zcs-6.0.1_GA_1817.FreeBSD_amd64.tar.gz GNR-601 FreeBSD_7_amd64 packages]
'''GNR-604''':


'''2) GNR-602''':
[http://zimbra.imladris.sk/download/patches/GNR-604.FreeBSD.patch patch GNR-604 -> GNR-604 FreeBSD]


[http://zimbra.imladris.sk/download/patches/GNR-602.FreeBSD.patch patch GNR-602 -> GNR-602 FreeBSD]
[http://zimbra.imladris.sk/download/zimbra-packages/GNR-604/zcs-6.0.4_GA_2041.FreeBSD-8_amd64.tgz GNR-604 FreeBSD-8_amd64 packages]


[http://zimbra.imladris.sk/download/zimbra-packages/GNR-602/zcs-6.0.2_GA_1913.FreeBSD_amd64.tar.gz GNR-602 FreeBSD_7_amd64 packages]


'''3) GNR-603''':
'''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]


[http://zimbra.imladris.sk/download/zimbra-packages/GNR-603/zcs-6.0.3_GA_1916.FreeBSD_amd64.tar.gz GNR-603 FreeBSD_7_amd64 packages]
[http://zimbra.imladris.sk/download/zimbra-packages/GNR-603/zcs-6.0.3_GA_1916.FreeBSD_amd64.tgz GNR-603 FreeBSD-7_amd64 packages]
 
[http://zimbra.imladris.sk/download/zimbra-packages/GNR-603/zcs-6.0.3_GA_1916.FreeBSD-8_amd64.tgz GNR-603 FreeBSD-8_amd64 packages]
 
 
'''GNR-602''':
 
[http://zimbra.imladris.sk/download/patches/GNR-602.FreeBSD.patch patch GNR-602 -> GNR-602 FreeBSD]
 
[http://zimbra.imladris.sk/download/zimbra-packages/GNR-602/zcs-6.0.2_GA_1913.FreeBSD_amd64.tgz GNR-602 FreeBSD-7_amd64 packages]


[http://zimbra.imladris.sk/download/zimbra-packages/GNR-603/zcs-6.0.3_GA_1916.FreeBSD8_amd64.tar.gz GNR-603 FreeBSD_8_amd64 packages]


'''4) GNR-604''':
'''GNR-601''':


[http://zimbra.imladris.sk/download/patches/GNR-604.FreeBSD.patch patch GNR-604 -> GNR-604 FreeBSD]
[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_amd64 build]/[http://wiki.zimbra.com/wiki/Installing_GNR_on_FreeBSD_7.2_amd64 install] guide GNR-601 FreeBSD amd64


[http://zimbra.imladris.sk/download/zimbra-packages/GNR-604/zcs-6.0.4_GA_2041.FreeBSD8_amd64.tar.gz GNR-604 FreeBSD_8_amd64 packages]
[http://zimbra.imladris.sk/download/patches/GNR-601.FreeBSD.patch patch GNR-601 -> GNR-601 FreeBSD]


[http://zimbra.imladris.sk/download/zimbra-packages/GNR-601/zcs-6.0.1_GA_1817.FreeBSD_i386.tgz GNR-601 FreeBSD-7_i386 packages]


==READ ME - WARNING - READ ME==
[http://zimbra.imladris.sk/download/zimbra-packages/GNR-601/zcs-6.0.1_GA_1817.FreeBSD_amd64.tgz GNR-601 FreeBSD-7_amd64 packages]
1) ''sudo'' versions >= 1.7 do not work:
<pre>sudo -u zimbra -l -- -lc command</pre>
fails so please use lower version until someone finds the fix!


==Known issues==


--[[User:Solko|Solko]] 10:07, 9 February 2010 (UTC)
'''None.'''




{{Article Footer|ZCS 6.0.x on FreeBSD 7|10/4/2009}}
--[[User:Solko|Solko]] 16:59, 12 June 2011 (PDT)


[[Category: Build]]  
[[Category: Build]]  
Line 125: Line 380:
[[Category: Unix]]
[[Category: Unix]]
[[Category: ZCS 6.0]]
[[Category: ZCS 6.0]]
[[Category: ZCS 7.1]]

Latest revision as of 13:12, 31 March 2015

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 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.


Please, always check 8.x (IRONMAIDEN) FreeBSD thread for the latest news!

Please, always check 7.x (HELIX) FreeBSD thread for the latest news!

Please, always check 6.x (GNR) FreeBSD thread for the latest news!


General information

By building Zimbra, you agree to Zimbra's licensing terms.

By fetching Zimbra, related FreeBSD patches and/or packages from zimbra.imladris.sk, you agree to Zimbra's, SUN's, VMware's (and any other possible) licensing terms.

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 Product Management Portal.

Patch notes for IRONMAIDEN-8.0.3 (and higher)

It just works. Build and install process automated.

Patch notes for GNR-6.0.15 (and higher) and HELIX-7.1.4 (and higher)

1) ThirdParty is used from zimbra source:

- net-snmp upgraded to 5.7.1 to support FreeBSD-9

- google-perftools upgraded to 1.8.3 to support FreeBSD-9

- all Perl modules bundled

- every package has its own FreeBSD patches merged in (courtesy of /usr/ports). this was a forced change to cope with many compatibility issues which, frankly, almost made my head explode

- popt, expat, pcre used from base system (zimbra default)

2) FreeBSD_i386 support has been removed.

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.

7) really *great* pain has been undertaken to patch every little bit of zimbra universe to honor MAKE:=gmake.

no need to copy gmake to /usr/bin/make now! rejoice only if you build often.

8) server/services status and graphs in ZimbraAdmin web interface work!

9) the reign of diablo-jdk6 has ended! long live openjdk6! add this to your /etc/fstab just to be sure:

fdesc   /dev/fd         fdescfs         rw      0       0
proc    /proc           procfs          rw      0       0

and make it happen:

mount -a

Patch notes for GNR-6.0.14 (and lower) and HELIX-7.1.1 (and lower)

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

Persuade Zimbra to include official support.

Troubleshooting

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

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 !!!

If you don't see the new version here, please write me a request. Email is the best way.

IRONMAIDEN-808:

IRONMAIDEN-808 FreeBSD-9_amd64 patch

IRONMAIDEN-808 FreeBSD-9_amd64 packages


CVE-2014-0160 OpenSSL Heartbeat bug:

Patched OpenSSL versions for 8.0.0-8.0.7


IRONMAIDEN-804: (CVE-2014-0160 OpenSSL Heartbeat bug - FIXED - OpenSSL 1.0.1g 7 Apr 2014)

IRONMAIDEN-804 FreeBSD-9.1_amd64 patch

IRONMAIDEN-804 FreeBSD-9.1_amd64 packages

Downloads (legacy)

IRONMAIDEN-803: (CVE-2014-0160 OpenSSL Heartbeat bug - DO NOT DOWNLOAD or get patched OpenSSL version)

IRONMAIDEN-803 FreeBSD-9.1_amd64 patch, r5647

IRONMAIDEN-803 FreeBSD-9.1_amd64 packages, r5647

VMware Player compatible FreeBSD-9.1_amd64 image with zimbra packages, r5647, cd /install && ./install.sh

build guide IRONMAIDEN-803 FreeBSD-9.1_amd64

install guide IRONMAIDEN-803 FreeBSD-9.1_amd64


HELIX-720:

HELIX-720 ready-to-build source

HELIX-720 FreeBSD-9_amd64 packages

HELIX-720 FreeBSD-9_amd64 run dependencies (all packages) or build yourself (place this to /usr/ports/mail/)

HELIX-720 FreeBSD-9_amd64 build dependencies (all packages including zimbra-rundeps) or build yourself (place this to /usr/ports/mail/)


HELIX-714:

build guide HELIX-714 FreeBSD

install guide HELIX-714 FreeBSD

patch HELIX-714 -> HELIX-714 FreeBSD

HELIX-714 ready-to-build source

HELIX-714 FreeBSD-9_amd64 packages

HELIX-714 FreeBSD-9_amd64 run dependencies (all packages) or build yourself (place this to /usr/ports/mail/)

HELIX-714 FreeBSD-9_amd64 build dependencies (all packages including zimbra-rundeps) or build yourself (place this to /usr/ports/mail/)

HELIX-714 FreeBSD-8_amd64 packages

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

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


HELIX-711:

build guide HELIX-711 FreeBSD

install guide HELIX-711 FreeBSD

patch HELIX-711 -> HELIX-711 FreeBSD

HELIX-711 source

HELIX-711 FreeBSD-8.2_amd64 packages

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

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


GNR-6015:

build guide GNR-6015 FreeBSD

install guide GNR-6015 FreeBSD

patch GNR-6015 -> GNR-6015 FreeBSD

GNR-6015 ready-to-build source

GNR-6015 FreeBSD-9_amd64 packages

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

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

GNR-6015 FreeBSD-8_amd64 packages

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

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


GNR-6013:

build guide GNR-6013 FreeBSD

install guide GNR-6013 FreeBSD

patch GNR-6013 -> GNR-6013 FreeBSD

GNR-6013 source

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/)


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