Ajcody-Proxy-SETUP.TXT
From Zimbra :: Wiki
Proxy-SETUP.TXT
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
