Changing default page Advanced Client to Basic Client

Background

Advanced Client is Zimbra Web Client default mode which some people consider too slow particularly on older computers. Basic Client mode is faster (for bandwidth-challenged connection) and more tolerant to browser variants (notably accepting use of Konqueror web browser from KDE version 3.5.6). Next are steps taken to change from default Advanced Client first to Basic Client first thus changing entire domain's Zimbra Web Client default behaviour. These require familiarity with Zimbra command line interface and knowledge to configure a webserver package not from Zimbra default install package (even though Apache webserver is commonly found webserver offering from any modern Free/Open Source Software operating system).

NOTE: This will be a feature in Zimbra 5.0. We have a single login page with a pull-down that defaults to the best client for your browser/PC. You can also select 'Preferred' which will look at your user pref which can be set in options to pick your favorite client. --KevinH 10:08, 7 July 2007 (CDT)

Modification Steps

Changing Zimbra Web client from Advanced Client mode to Basic Client mode is actually as simple as changing URL in Zimbra server:

http://mail.example.com     - Advanced Client
http://mail.example.com/h/   - Basic Client

So, by simply add another webserver - Apache, in this case - to redirect user as soon as they landed on a URL to Zimbra Basic Client URL, administrators can customize entire domain's default page behaviour.

Since Zimbra by default installation procedure is already using port TCP/80 (HTTP), Apache will surely not be able to serve first landing URL page. Therefore Zimbra have to move to other port, most frequently chosen is port TCP/81. First, to make sure Zimbra is really using TCP/80 port, in Linux, administrators can use commandline:

# lsof -P -i -n|grep ":80"|grep java

It will show, similar to:

TCP *:80 (LISTEN)

Now, to change Zimbra HTTP port from TCP/80 to TCP/81, in Linux' root, administrator must use commandline:

# su zimbra
$ zmprov
zmprov> ms mail.example.com zimbraMailPort 81
zmprov> exit
$ tomcat restart
$ exit
#

Now, to make sure Zimbra HTTP port is changed to TCP/81, administrators can use above commandline with slightly changing parameter:

# lsof -P -i -n|grep ":81"|grep java

Next, arrange Apache to serve a static HTML page - say, index.html - for your first landing URL. This index.html file will contains following HTML code:

<META HTTP-EQUIV="Refresh"
     CONTENT="0; URL=http://mail.example.com:81/h/">

Administrators should modify second landing URL above to point to Zimbra's new URL. Notice port 81 is now part of second landing URL. When mail users open mailserver URL, they will instantly redirected to Zimbra Basic Client mode without user interaction.

Caveats

Some administrator of HTTP Proxy - most popular perhaps Squid Cache - sometimes restricts their users by automagically redirect traffic of destination port TCP/80 to HTTP Proxy's port. This is known as Transparent caching. When Squid administrators employs Transparent caching, only stating port TCP/80 (HTTP) and TCP/443 (HTTPS) in Squid configuration, and in combination with very restrictive firewall (denied everything but HTTP and HTTPS), it is more likely their users will experience Zimbra Web client load failure.

Bug / Workaround

A problem arise related to bug found in Zimbra which is unpatched at least until Zimbra version 4.5.6. Changing Zimbra port to TCP/81 (zimbraMailPort command mentioned above) did not automatically changing Zimbra MTA Authentication URL to include this new port thus affecting Zimbra SASL Authentication (SMTP AUTH). SASL Authentication is vital part of Zimbra since SMTP Authentication required during process of SMTP relaying from roaming authenticated user (e.g. from PDA over GPRS or Thunderbird mail client in laptop over wireless hot-spot). To indicate if really this situation is happening, following command could be typed in command line:

# su - zimbra
$ zmprov gs mail.example.com | grep zimbraMtaAuthURL

The result, if bug is still unpatched, should result similar to:

zimbraMtaAuthURL: http://mail.example.com/service/soap/

To fix this situation, initiate following command line (assuming still as user zimbra):

$ zmprov ms mail.example.com zimbraMtaAuthHost mail.example.com
$ zmsaslauthdctl restart

Change entry mail.example.com with corresponding domain name. What above command do is actually refresh current URL to include the newly configured port. Then second line told SASL Auth daemon to reload its configuration. The result could be confirmed by reapplying previous command:

$ zmprov gs mail.example.com | grep zimbraMtaAuthURL

And the result should be:

zimbraMtaAuthURL: http://mail.example.com:81/service/soap/

Notice that new Zimbra port is included in the URL.

Jump to: navigation, search