Zimbra 9 - FOSS

Discuss your pilot or production implementation with other Zimbra admins or our engineers.
User avatar
ianw1974
Outstanding Member
Outstanding Member
Posts: 229
Joined: Sat Sep 13, 2014 12:45 am
Location: UK and Poland
Contact:

Re: Zimbra 9 - FOSS

Post by ianw1974 »

No problem :)

Only thing is it's 9.0.0p14 for all the builds so far. So no patch updates. This is building as per their docs from the develop branch. There is however a 9.0.0p19 tag, so perhaps I can check it out with git, and build and see if I do get a 9.0.0p19 build after this. I can't see though how the 9.0.0p19 tag can be any different, since it was created from the develop branch which has the same commits. Maybe they forgot to update the version info output from zmcontrol. Disappointing to say the least though.
mtk
Posts: 37
Joined: Sat Jun 21, 2014 1:00 am

Re: Zimbra 9 - FOSS

Post by mtk »

Very odd that updates seem to resurface again for FOSS...

Code: Select all

The following packages will be upgraded:
  zimbra-apache-components zimbra-httpd zimbra-spell-components
Had a look after reading P21 was released and was supprised finding the patches.
User avatar
ianw1974
Outstanding Member
Outstanding Member
Posts: 229
Joined: Sat Sep 13, 2014 12:45 am
Location: UK and Poland
Contact:

Re: Zimbra 9 - FOSS

Post by ianw1974 »

My Zimbra Build Script now supports building Zimbra for Ubuntu 20.04 now. Ubuntu 20.04 build available for download also if wanting to save time rather than build from the script :). Available in the same place as all my other links here in this thread.
Tomek Makiela
Posts: 14
Joined: Tue Dec 03, 2013 3:57 am
Location: Poznan, Poland
ZCS/ZD Version: ZCS 9.0.0 Network Edition
Contact:

Re: Zimbra 9 - FOSS

Post by Tomek Makiela »

Hi all!

For all Zimbra Open Source fans, we have prepared Zimbra 9 FOSS edition with the newest patch 21!
Patches depend on the zimbra-patch package which the newest version is available only for Zimbra 9 NE. So, we've created our own that is cleaned from all Zimbra Network Edition components.
We also made some small changes in the Zimbra build process to make the process of Zimbra 9 FOSS installation possible. Details here: https://github.com/INTALIO/zimbra9FOSS

If you don't want to recompile the Zimbra by yourself, you can use our compiled and ready to install version of Zimbra 9 FOSS (download available at https://www.zintalio.com site)
For now, we have version for Ubuntu 18.04LTS. Next distros available soon.

Regards
Tomek
Tomek Makiela
INTALIO - Zimbra VAR, BSP Partner
https://www.intalio.pl
https://intalioservices.com
GlooM
Advanced member
Advanced member
Posts: 127
Joined: Sat Sep 13, 2014 12:50 am

Re: Zimbra 9 - FOSS

Post by GlooM »

Tomek Makiela wrote:Hi all!

For all Zimbra Open Source fans, we have prepared Zimbra 9 FOSS edition with the newest patch 21!
If you don't want to recompile the Zimbra by yourself, you can use our compiled and ready to install version of Zimbra 9 FOSS (download available at https://www.zintalio.com site)
For now, we have version for Ubuntu 18.04LTS. Next distros available soon.
Hi Tomek!
I found the following information on website:

"Due to the changes in the Zimbra github source repository, the standard Zimbra 9 build process results in the compilation of Zimbra 9.x which is the development version (probably 9.1) of Zimbra Collaboration Suite. This development version is not compatible with other Zimbra core components and Zimbra patches. We have managed to compile Zimbra 9 from sources as close as possible to the Zimbra 9 Network Editon.
Unfortunatelly, for those who downloaded our Zimbra 9 FOSS version before 1.1.2022, there is no easy path to downgrade to the our newest version. The easiest way is to uninstall the old Zimbra version and install the newest one. "

Do I understand correctly that all the builds you made before 01\01\2022 were, in fact, beta version 9.1, instead of stable 9.0?
Tomek Makiela
Posts: 14
Joined: Tue Dec 03, 2013 3:57 am
Location: Poznan, Poland
ZCS/ZD Version: ZCS 9.0.0 Network Edition
Contact:

Re: Zimbra 9 - FOSS

Post by Tomek Makiela »

Hi GlooM,

What we have found when we've analyzed the build process and Zimbra github repository, is that the standard Zimbra compilation made with zmbuild script, available in github master branch, is not the same as Zimbra 9.0 NE version (putting aside NE components). It contains changes that are probably development version (they aren't in patches, either).

It's hard to say if it is 9.x or any next Zimbra version.
Additionally, this compilation is incompatible with 9.0 patches which are delivered via Zimbra package (apt, rpm) repositories.

We have compared the standard Zimbra 9.0 NE version to github source codes, and rewritten zmbuild script to create our Zimbra 9 FOSS compilation, as source compatible as possible.

Regards,
Tomek
Tomek Makiela
INTALIO - Zimbra VAR, BSP Partner
https://www.intalio.pl
https://intalioservices.com
User avatar
jholder
Ambassador
Ambassador
Posts: 4824
Joined: Fri Sep 12, 2014 10:00 pm

Re: Zimbra 9 - FOSS

Post by jholder »

develop generally contains 9.0. Many things are interoperable between 8.8 and 9.1.

Take a look at the build config file in the zm-build directory. It has some samples on git tag and branch overrides.
zm-build will default to develop, and that can be changed in the config file.

You can also override them such as:

Code: Select all

./build.pl --ant-options -DskipTests=true --git-default-branch=8.8.15p9 --build-release-no=8.8.15 --git-overrides zm-mailbox.branch=bugfix/ZCS-1x --git-overrides zm-zcs.branch=bugfix/ZCS-1x  --build-type=FOSS
So you've got the base branch (generally p9 is base for 8.8.15)
Then for each repo, you'll have to look at the tags, or write a script to search for the latest patch tag. (This is really annoying, I know!)
Then if you wish to cherry-pick bug fixes, then find the pull request in the repo.
-git-overrides zm-mailbox.branch=bugfix/ZCS-1x
Where ZCS-1 would have been the PR.

The challenge will be cherry-picking. I'm going to be blunt, and many will not believe me, but those branches are a HUGE headache. Even internally when I'm fixing issues, I have trouble with the order and figuring out the latest branch.

In general, try to stay with the latest patch tagged in the repo. So if p30 for 8.8 doesn't exist, use the last one.
This isn't because we hide the p30 branch. It's because there isn't one because the issues fixed in p30 are not applicable to that repository.

This is a byproduct of moving to GitHub, and not a nefarious thing. Zimbra has always been a sort of Frankenstein of products with our own MySQL, LDAP, and java builds. As we moved to Github and out of perforce, this stupid problem raised its ugly head.

As Zimbra evolves, we hope to publish tags in a way where they can be grabbed. Something like a matrix. We have internal conversations and a Jenkins server where development keeps track of them, but at the moment, we have no plans to export that data. Our hands are pretty full as we've moved to 2 patches a month release cycle (wahoo!). But it means very fast fixes on 2 branches(8.8.15 and 9.1).

Unless specifically tagged, develop is 9.1. When 9.1 is GA, 9.0 will get its own base branch based on a common patch with gitoverrides for each patch needed for each repo. It's not pretty, but as I said, Jenkins handles most of this for us.

Hope this helps!

Edit: Tomek, you guys should have forked zmbuild and then created branches within your own to pull down stream. There are going to be a lot of changes in the near future, and it's going to be hard to find all and do a difff then commit them.
glottis
Posts: 2
Joined: Fri Jun 17, 2022 6:19 am

Re: Zimbra 9 - FOSS

Post by glottis »

hi, after last own build and instalation i cannot get gui working. This error is shown on page and in logs. does anyone know what it could be?

Code: Select all

HTTP ERROR 500 java.lang.NoClassDefFoundError: Could not initialize class com.zimbra.soap.JaxbUtil
URI:	/
STATUS:	500
MESSAGE:	java.lang.NoClassDefFoundError: Could not initialize class com.zimbra.soap.JaxbUtil
SERVLET:	default
CAUSED BY:	java.lang.NoClassDefFoundError: Could not initialize class com.zimbra.soap.JaxbUtil
Caused by:
java.lang.NoClassDefFoundError: Could not initialize class com.zimbra.soap.JaxbUtil
	at com.zimbra.cs.account.soap.SoapProvisioning.invokeJaxb(SoapProvisioning.java:727)
	at com.zimbra.cs.account.soap.SoapProvisioning.getDomainInfo(SoapProvisioning.java:1602)
	at com.zimbra.cs.servlet.SetHeaderFilter.getResponseHeaders(SetHeaderFilter.java:110)
	at com.zimbra.cs.servlet.SetHeaderFilter.addZimbraResponseHeaders(SetHeaderFilter.java:96)
	at com.zimbra.cs.servlet.SetHeaderFilter.doFilter(SetHeaderFilter.java:82)
	at com.zimbra.webClient.filters.SetHeaderFilter.doFilter(SetHeaderFilter.java:258)
	at com.zimbra.cs.servlet.SetHeaderFilter.doFilter(SetHeaderFilter.java:58)
	at com.zimbra.webClient.filters.SetHeaderFilter.doFilter(SetHeaderFilter.java:248)
	at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
	at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
	at com.zimbra.cs.servlet.ContextPathBasedThreadPoolBalancerFilter.doFilter(ContextPathBasedThreadPoolBalancerFilter.java:107)
	at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
	at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
	at com.zimbra.cs.servlet.ZimbraQoSFilter.doFilter(ZimbraQoSFilter.java:116)
	at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
	at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
	at org.eclipse.jetty.servlets.DoSFilter.doFilterChain(DoSFilter.java:487)
	at org.eclipse.jetty.servlets.DoSFilter.doFilter(DoSFilter.java:336)
	at org.eclipse.jetty.servlets.DoSFilter.doFilter(DoSFilter.java:301)
	at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
	at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
	at com.zimbra.webClient.filters.CharEncodingFilter.doFilter(CharEncodingFilter.java:37)
	at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
	at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:548)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:571)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1440)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501)
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1355)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
	at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:234)
	at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:146)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
	at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:322)
	at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:763)
	at org.eclipse.jetty.server.handler.DebugHandler.handle(DebugHandler.java:80)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
	at org.eclipse.jetty.server.Server.handle(Server.java:516)
	at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:487)
	at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:732)
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:479)
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277)
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
	at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:555)
	at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:410)
	at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:164)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
	at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:409)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034)
	at java.base/java.lang.Thread.run(Thread.java:833)
danielb
Posts: 35
Joined: Mon Jul 15, 2019 6:08 pm

Re: Zimbra 9 - FOSS

Post by danielb »

I had the very same issue. You can either downgrade zimbra-openjdk to version 13, or update the mailboxd_java_options. Here's a working set of options (got it from a fresh install of 9.0.0.p25, not an upgrade)

Code: Select all

zmlocalconfig -e mailboxd_java_options="-server -Dhttps.protocols=TLSv1.2 -Djdk.tls.client.protocols=TLSv1.2 -Djava.awt.headless=true -Dsun.net.inetaddr.ttl=${networkaddress_cache_ttl} -Dorg.apache.jasper.compiler.disablejsr199=true -XX:+UseG1GC -XX:SoftRefLRUPolicyMSPerMB=1 -XX:+UnlockExperimentalVMOptions -XX:G1NewSizePercent=15 -XX:G1MaxNewSizePercent=45 -XX:-OmitStackTraceInFastThrow -verbose:gc -Xlog:gc*=info,safepoint=info:file=/opt/zimbra/log/gc.log:time:filecount=20,filesize=10m -Djava.security.egd=file:/dev/./urandom --add-opens java.base/java.lang=ALL-UNNAMED -Djava.net.preferIPv4Stack=true"
zmcontrol restart
glottis
Posts: 2
Joined: Fri Jun 17, 2022 6:19 am

Re: Zimbra 9 - FOSS

Post by glottis »

thank you! i try this on cloned server and its working :) but on production i ran into this now ... viewtopic.php?t=70860&p=305335 ... damn
Post Reply