Ajcody-Proxy-SETUP.TXT

Proxy-SETUP.TXT

Back To Main Proxy Page

Note - This Was Done With ZCS 5 or 6

Please note, if I recall correctly, this was done against ZCS 5 or 6 , I don't recall exactly.

The part that actually deals with configuration:

  (3) Configure system for mail proxy

    ; assume local system is ${develbox} and domain is ${develdomain}
    ; for each proxy ip, set ${proxyipN} to contain a proxy ip

    ; $ export develbox=devel.local
    ; $ export develdomain=devel.local
    ; $ export proxyip1=10.10.10.10
    ; $ export proxyip2=127.0.0.1

    $ zmprov ms ${develbox} zimbraImapCleartextLoginEnabled TRUE
    $ zmprov ms ${develbox} zimbraImapBindPort 7143
    $ zmprov ms ${develbox} zimbraImapSSLBindPort 7993
    $ zmprov ms ${develbox} zimbraImapProxyBindPort 143
    $ zmprov ms ${develbox} zimbraImapSSLProxyBindPort 993
    $ zmprov ms ${develbox} zimbraImapSSLServerEnabled TRUE

    $ zmprov ms ${develbox} zimbraPop3CleartextLoginEnabled TRUE
    $ zmprov ms ${develbox} zimbraPop3BindPort 7110
    $ zmprov ms ${develbox} zimbraPop3SSLBindPort 7995
    $ zmprov ms ${develbox} zimbraPop3ProxyBindPort 110
    $ zmprov ms ${develbox} zimbraPop3SSLProxyBindPort 995
    $ zmprov ms ${develbox} zimbraPop3SSLServerEnabled TRUE

    $ zmprov ms ${develbox} zimbraMemcachedBindPort 11211
    $ zmprov ms ${develbox} zimbraReverseProxyMailEnabled TRUE
    $ zmprov ms ${develbox} zimbraReverseProxyLookupTarget TRUE
    $ zmprov ms ${develbox} +zimbraServiceEnabled imapproxy

    $ zmprov ms ${develbox} zimbraReverseProxyImapSaslGssapiEnabled TRUE
    $ zmprov ms ${develbox} zimbraReverseProxyPop3SaslGssapiEnabled TRUE
    $ zmprov ms ${develbox} zimbraReverseProxyDefaultRealm EXAMPLE.COM

    $ zmprov ms ${develbox} zimbraReverseProxyImapStartTlsMode on
    $ zmprov ms ${develbox} zimbraReverseProxyPop3StartTlsMode on

    $ zmprov mcf +zimbraReverseProxyAdminIPAddress ${proxyip1}
    $ zmprov mcf +zimbraReverseProxyAdminIPAddress ${proxyip2}  # etc ...

    $ zmprov md ${develdomain} +zimbraVirtualIPAddress ${proxyip1}
    $ zmprov md ${develdomain} +zimbraVirtualIPAddress ${proxyip2}  # etc ...

  (3) configure system for http proxy

    ; backend mail mode is always http when proxy is in force
    $ zmprov ms ${develbox} zimbraMailMode http

    ; proxy mail mode can be mixed|both|redirect|http|https
    $ zmprov ms ${develbox} zimbraReverseProxyMailMode mixed

    ; configure backend to not send the usual http/302+location
    $ zmprov ms ${develbox} zimbraMailReferMode reverse-proxied

    ; set the backend and proxy ports
    $ zmprov ms ${develbox} zimbraMailPort 7070
    $ zmprov ms ${develbox} zimbraMailProxyPort 80
    $ zmprov ms ${develbox} zimbraMailSSLPort 7443
    $ zmprov ms ${develbox} zimbraMailSSLProxyPort 443
    $ zmprov ms ${develbox} zimbraReverseProxyHttpEnabled TRUE
    $ zmprov md ${develdomain} +zimbraVirtualHostname ${proxyname1}
    $ zmprov md ${develdomain} +zimbraVirtualHostname ${proxyname2}
    $ zmprov md ${develdomain} +zimbraVirtualHostname ${proxyip1?}
    $ zmprov md ${develdomain} +zimbraVirtualHostname ${proxyip2?}

    ; set public service global/per-domain attributes (reference bug/enhancement #29978)
    $ zmprov md ${develbox} zimbraPublicServiceHostName ${develdomain}
    $ zmprov md ${develbox} zimbraPublicServiceProtocol {http|https}
    $ zmprov md ${develbox} zimbraPublicServicePort {80|443|...}

  (3) test and apply the proxy config generation
    $ zmproxyconfgen --help
    $ zmproxyconfgen -v -D -s ${develbox}
    $ zmproxyconfgen -v -s ${develbox}

  (4) start nginx (and optionally, memcached)
    $ killall nginx
    $ killall memcached
    $ /opt/zimbra/memcached-1.2.X/bin/memcached -vv
    $ sudo /opt/zimbra/nginx/sbin/nginx -c /opt/zimbra/conf/nginx.conf 
    $ tail -f /opt/zimbra/log/nginx.log
Jump to: navigation, search