Testing Zimbra Upgrade - 8.6.0 to 8.8.6



  • I restored our production Zimbra server (CentOS 7) from backup to use as a testing environment for upgrading from Zimbra 8.6.0 to current (8.8.6 as of this writing).

    Restore was fine. Gave the host an IP on a separate network. Followed a Zimbra wiki article on changing the server's hostname which worked no problem (from what I can tell). Fired up the services and Zimbra 8.6.0 came up hunky dory.

    I do a yum update and install all pending updates (not many since I try to keep prod as current as possible), reboot the test server to verify Zimbra is still happy. Everything is good.

    I download the 8.8.6 installer and current hotfix and stage them. I then snapshot the VM.

    I run the 8.8.6 installer and it completes without complaint.

    Where the problems begin. I cannot get to the Zimbra user interface. Management (7071) works fine. This points to a proxy issue.

    I check and the proxy service is not running. I fire it up manually using zmproxyctl start and wait a minute. I eventually get the following error:

    Starting proxy...nginx: [emerg] invalid URL prefix in /opt/zimbra/conf/nginx/includes/nginx.conf.zmlookup:3

    I edit the file in question and, sure enough, the production IP is listed.

    zm_lookup_handlers [PROD-IP]:7072/service/extension/nginx-lookup;

    So I change it to the IP of the test VM (also tried 127.0.0.1 for the heck of it). However, this did not resolve the problem. Attempting to start the proxy service results in the same error.

    So I test by telnetting to [TEST-IP]:7072 and it works. I try browsing to the path as shown in the config via a web browser and I get (from Chrome):

    [TEST-IP] didn’t send any data. ERR_EMPTY_RESPONSE

    Though I don't know if that indicates if there is an issue or not with whatever service is listening on 7072.

    Any ideas?



  • In case anyone needs it, here is the solution. Looks like the instructions I followed to change the hostname did not include the proxy service. So to cover all bases, use the following commands after following the article here: https://wiki.zimbra.com/wiki/ZmSetServerName

    zmprov ms `zmhostname` zimbraReverseProxyUpstreamLoginServers new.hostname.com
    zmprov ms `zmhostname` zimbraReverseProxyUpstreamEwsServers new.hostname.com
    zmprov mcf zimbraReverseProxyUpstreamLoginServers new.hostname.com
    zmprov mcf zimbraReverseProxyUpstreamEwsServers new.hostname.com
    /opt/zimbra/libexec/zmproxyconfgen
    zmproxyctl restart


  • @anthonyh said in Testing Zimbra Upgrade - 8.6.0 to 8.8.6:

    I restored our production Zimbra server (CentOS 7) from backup to use as a testing environment for upgrading from Zimbra 8.6.0 to current (8.8.6 as of this writing).

    Restore was fine. Gave the host an IP on a separate network. Followed a Zimbra wiki article on changing the server's hostname which worked no problem (from what I can tell). Fired up the services and Zimbra 8.6.0 came up hunky dory.

    I do a yum update and install all pending updates (not many since I try to keep prod as current as possible), reboot the test server to verify Zimbra is still happy. Everything is good.

    I download the 8.8.6 installer and current hotfix and stage them. I then snapshot the VM.

    I run the 8.8.6 installer and it completes without complaint.

    Where the problems begin. I cannot get to the Zimbra user interface. Management (7071) works fine. This points to a proxy issue.

    I check and the proxy service is not running. I fire it up manually using zmproxyctl start and wait a minute. I eventually get the following error:

    Starting proxy...nginx: [emerg] invalid URL prefix in /opt/zimbra/conf/nginx/includes/nginx.conf.zmlookup:3

    I edit the file in question and, sure enough, the production IP is listed.

    zm_lookup_handlers [PROD-IP]:7072/service/extension/nginx-lookup;

    So I change it to the IP of the test VM (also tried 127.0.0.1 for the heck of it). However, this did not resolve the problem. Attempting to start the proxy service results in the same error.

    So I test by telnetting to [TEST-IP]:7072 and it works. I try browsing to the path as shown in the config via a web browser and I get (from Chrome):

    [TEST-IP] didn’t send any data. ERR_EMPTY_RESPONSE

    Though I don't know if that indicates if there is an issue or not with whatever service is listening on 7072.

    Any ideas?

    @anthonyh said in Testing Zimbra Upgrade - 8.6.0 to 8.8.6:

    In case anyone needs it, here is the solution. Looks like the instructions I followed to change the hostname did not include the proxy service. So to cover all bases, use the following commands after following the article here: https://wiki.zimbra.com/wiki/ZmSetServerName

    zmprov ms `zmhostname` zimbraReverseProxyUpstreamLoginServers new.hostname.com
    zmprov ms `zmhostname` zimbraReverseProxyUpstreamEwsServers new.hostname.com
    zmprov mcf zimbraReverseProxyUpstreamLoginServers new.hostname.com
    zmprov mcf zimbraReverseProxyUpstreamEwsServers new.hostname.com
    /opt/zimbra/libexec/zmproxyconfgen
    zmproxyctl restart
    

    To quote this further..

    Edit file /opt/zimbra/conf/nginx/includes/nginx.conf.zmlookup

    Modify URL to match the below (change hostname with yours):

    zm_lookup_handlers https://mail.hostname.com:7072/service/extension/nginx-lookup;
    

    Disable module chunkin because since 1.3.9 & above, Nginx core already has built-in support for the chunked request bodies, hence its no longer needed.

    Verify Nginx version to see if it has been upgraded to 1.7.1

    [[email protected] ~]$ nginx -v
    nginx version: nginx/1.7.1
    

    Edit file /opt/zimbra/conf/nginx/includes/nginx.conf.web

    Comment the following:

    # chunkin on;
    

    Edit file /opt/zimbra/conf/nginx/includes/nginx.conf.web.https.default

    Comment these 4 lines & save the file:

    #	chunkin handler
    # 	location @chunkin_handler {
    #   chunkin_resume;
    #	}
    

    Finally restart the proxy service:

    zmproxyctl restart
    

    Hope this helps 🙂

    Kind regards,
    Viraj