Changing default page Advanced Client to Basic Client
|This article applies to the following ZCS versions.|
Advanced Client is Zimbra Web Client default mode which some people consider too slow particularly on aging computers. Basic Client mode is faster especially over bandwidth-challenged connection (eg. dialup or GPRS) and more tolerant to browser variants, notably accepting use of Konqueror web browser from KDE window manager. Next are steps that can be taken to change from default Advanced Client first to Basic Client first thus changing server-wide login behaviour without user interaction. These steps will require familiarity with Zimbra command line interface and further knowledge to configure a webserver package not from Zimbra default install package, even though the preferred webserver application talked about - Apache webserver - is commonly included and supported webserver application 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)
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 adding 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 server-wide login 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. How to configure Apache webserver will not discussed here. The file index.html should contains following HTML code:
<META HTTP-EQUIV="Refresh" CONTENT="0; URL=http://mail.example.com:81/h/">
Administrators required to 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.
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:
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:
Notice that new Zimbra port is included in the URL.