The first result of the shiny-new dok-tidy target.
[privoxy.git] / doc / webserver / user-manual / installation.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
2 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
3 <html>
4   <head>
5     <meta name="generator" content="HTML Tidy, see www.w3.org">
6     <title>
7       Installation
8     </title>
9     <meta name="GENERATOR" content=
10     "Modular DocBook HTML Stylesheet Version 1.79">
11     <link rel="HOME" title="Privoxy 3.0.18 User Manual" href="index.html">
12     <link rel="PREVIOUS" title="Introduction" href="introduction.html">
13     <link rel="NEXT" title="What's New in this Release" href="whatsnew.html">
14     <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
15     <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
16     <link rel="STYLESHEET" type="text/css" href="p_doc.css">
17 <style type="text/css">
18  body {
19   background-color: #EEEEEE;
20   color: #000000;
21  }
22  :link { color: #0000FF }
23  :visited { color: #840084 }
24  :active { color: #0000FF }
25  hr.c1 {text-align: left}
26 </style>
27   </head>
28   <body class="SECT1">
29     <div class="NAVHEADER">
30       <table summary="Header navigation table" width="100%" border="0"
31       cellpadding="0" cellspacing="0">
32         <tr>
33           <th colspan="3" align="center">
34             Privoxy 3.0.18 User Manual
35           </th>
36         </tr>
37         <tr>
38           <td width="10%" align="left" valign="bottom">
39             <a href="introduction.html" accesskey="P">Prev</a>
40           </td>
41           <td width="80%" align="center" valign="bottom">
42           </td>
43           <td width="10%" align="right" valign="bottom">
44             <a href="whatsnew.html" accesskey="N">Next</a>
45           </td>
46         </tr>
47       </table>
48       <hr width="100%" class="c1">
49     </div>
50     <div class="SECT1">
51       <h1 class="SECT1">
52         <a name="INSTALLATION">2. Installation</a>
53       </h1>
54       <p>
55         <span class="APPLICATION">Privoxy</span> is available both in
56         convenient pre-compiled packages for a wide range of operating
57         systems, and as raw source code. For most users, we recommend using
58         the packages, which can be downloaded from our <a href=
59         "http://sourceforge.net/projects/ijbswa/" target="_top">Privoxy
60         Project Page</a>.
61       </p>
62       <p>
63         Note: On some platforms, the installer may remove previously
64         installed versions, if found. (See below for your platform). In any
65         case <span class="emphasis"><i class="EMPHASIS">be sure to backup
66         your old configuration if it is valuable to you.</i></span> See the
67         <a href="whatsnew.html#UPGRADERSNOTE">note to upgraders</a> section
68         below.
69       </p>
70       <div class="SECT2">
71         <h2 class="SECT2">
72           <a name="INSTALLATION-PACKAGES">2.1. Binary Packages</a>
73         </h2>
74         <p>
75           How to install the binary packages depends on your operating
76           system:
77         </p>
78         <div class="SECT3">
79           <h3 class="SECT3">
80             <a name="INSTALLATION-PACK-RPM">2.1.1. Red Hat and Fedora
81             RPMs</a>
82           </h3>
83           <p>
84             RPMs can be installed with <tt class="LITERAL">rpm -Uvh
85             privoxy-3.0.18-1.rpm</tt>, and will use <tt class=
86             "FILENAME">/etc/privoxy</tt> for the location of configuration
87             files.
88           </p>
89           <p>
90             Note that on Red Hat, <span class="APPLICATION">Privoxy</span>
91             will <span class="emphasis"><i class="EMPHASIS">not</i></span> be
92             automatically started on system boot. You will need to enable
93             that using <b class="COMMAND">chkconfig</b>, <b class=
94             "COMMAND">ntsysv</b>, or similar methods.
95           </p>
96           <p>
97             If you have problems with failed dependencies, try rebuilding the
98             SRC RPM: <tt class="LITERAL">rpm --rebuild
99             privoxy-3.0.18-1.src.rpm</tt>. This will use your locally
100             installed libraries and RPM version.
101           </p>
102           <p>
103             Also note that if you have a <span class=
104             "APPLICATION">Junkbuster</span> RPM installed on your system, you
105             need to remove it first, because the packages conflict.
106             Otherwise, RPM will try to remove <span class=
107             "APPLICATION">Junkbuster</span> automatically if found, before
108             installing <span class="APPLICATION">Privoxy</span>.
109           </p>
110         </div>
111         <div class="SECT3">
112           <h3 class="SECT3">
113             <a name="INSTALLATION-DEB">2.1.2. Debian and Ubuntu</a>
114           </h3>
115           <p>
116             DEBs can be installed with <tt class="LITERAL">apt-get install
117             privoxy</tt>, and will use <tt class="FILENAME">/etc/privoxy</tt>
118             for the location of configuration files.
119           </p>
120         </div>
121         <div class="SECT3">
122           <h3 class="SECT3">
123             <a name="INSTALLATION-PACK-WIN">2.1.3. Windows</a>
124           </h3>
125           <p>
126             Just double-click the installer, which will guide you through the
127             installation process. You will find the configuration files in
128             the same directory as you installed <span class=
129             "APPLICATION">Privoxy</span> in.
130           </p>
131           <p>
132             Version 3.0.5 beta introduced full <span class=
133             "APPLICATION">Windows</span> service functionality. On Windows
134             only, the <span class="APPLICATION">Privoxy</span> program has
135             two new command line arguments to install and uninstall <span
136             class="APPLICATION">Privoxy</span> as a <span class="emphasis"><i
137             class="EMPHASIS">service</i></span>.
138           </p>
139           <div class="VARIABLELIST">
140             <dl>
141               <dt>
142                 Arguments:
143               </dt>
144               <dd>
145                 <p>
146                   <tt class="REPLACEABLE"><i>--install</i></tt>[:<tt class=
147                   "REPLACEABLE"><i>service_name</i></tt>]
148                 </p>
149                 <p>
150                   <tt class="REPLACEABLE"><i>--uninstall</i></tt>[:<tt class=
151                   "REPLACEABLE"><i>service_name</i></tt>]
152                 </p>
153               </dd>
154             </dl>
155           </div>
156           <p>
157             After invoking <span class="APPLICATION">Privoxy</span> with <b
158             class="COMMAND">--install</b>, you will need to bring up the
159             <span class="APPLICATION">Windows</span> service console to
160             assign the user you want <span class="APPLICATION">Privoxy</span>
161             to run under, and whether or not you want it to run whenever the
162             system starts. You can start the <span class=
163             "APPLICATION">Windows</span> services console with the following
164             command: <b class="COMMAND">services.msc</b>. If you do not take
165             the manual step of modifying <span class=
166             "APPLICATION">Privoxy's</span> service settings, it will not
167             start. Note too that you will need to give Privoxy a user account
168             that actually exists, or it will not be permitted to write to its
169             log and configuration files.
170           </p>
171         </div>
172         <div class="SECT3">
173           <h3 class="SECT3">
174             <a name="INSTALLATION-PACK-BINTGZ">2.1.4. Solaris</a>
175           </h3>
176           <p>
177             Create a new directory, <tt class="LITERAL">cd</tt> to it, then
178             unzip and untar the archive. For the most part, you'll have to
179             figure out where things go.
180           </p>
181         </div>
182         <div class="SECT3">
183           <h3 class="SECT3">
184             <a name="INSTALLATION-OS2">2.1.5. OS/2</a>
185           </h3>
186           <p>
187             First, make sure that no previous installations of <span class=
188             "APPLICATION">Junkbuster</span> and / or <span class=
189             "APPLICATION">Privoxy</span> are left on your system. Check that
190             no <span class="APPLICATION">Junkbuster</span> or <span class=
191             "APPLICATION">Privoxy</span> objects are in your startup
192             folder.&#13;
193           </p>
194           <p>
195             Then, just double-click the WarpIN self-installing archive, which
196             will guide you through the installation process. A shadow of the
197             <span class="APPLICATION">Privoxy</span> executable will be
198             placed in your startup folder so it will start automatically
199             whenever OS/2 starts.
200           </p>
201           <p>
202             The directory you choose to install <span class=
203             "APPLICATION">Privoxy</span> into will contain all of the
204             configuration files.
205           </p>
206         </div>
207         <div class="SECT3">
208           <h3 class="SECT3">
209             <a name="INSTALLATION-MAC">2.1.6. Mac OS X</a>
210           </h3>
211           <p>
212             Unzip the downloaded file (you can either double-click on the zip
213             file icon from the Finder, or from the desktop if you downloaded
214             it there). Then, double-click on the package installer icon and
215             follow the installation process.
216           </p>
217           <p>
218             The privoxy service will automatically start after a successful
219             installation (in addition to every time your computer starts up).
220             To prevent the privoxy service from automatically starting when
221             your computer starts up, remove or rename the folder named <tt
222             class="LITERAL">/Library/StartupItems/Privoxy</tt>.
223           </p>
224           <p>
225             To manually start or stop the privoxy service, use the Privoxy
226             Utility for Mac OS X. This application controls the privoxy
227             service (e.g. starting and stopping the service as well as
228             uninstalling the software).
229           </p>
230         </div>
231         <div class="SECT3">
232           <h3 class="SECT3">
233             <a name="INSTALLATION-AMIGA">2.1.7. AmigaOS</a>
234           </h3>
235           <p>
236             Copy and then unpack the <tt class="FILENAME">lha</tt> archive to
237             a suitable location. All necessary files will be installed into
238             <span class="APPLICATION">Privoxy</span> directory, including all
239             configuration and log files. To uninstall, just remove this
240             directory.
241           </p>
242         </div>
243         <div class="SECT3">
244           <h3 class="SECT3">
245             <a name="INSTALLATION-TBZ">2.1.8. FreeBSD</a>
246           </h3>
247           <p>
248             Privoxy is part of FreeBSD's Ports Collection, you can build and
249             install it with <tt class="LITERAL">cd /usr/ports/www/privoxy;
250             make install clean</tt>.
251           </p>
252           <p>
253             If you don't use the ports, you can fetch and install the package
254             with <tt class="LITERAL">pkg_add -r privoxy</tt>.
255           </p>
256           <p>
257             The port skeleton and the package can also be downloaded from the
258             <a href=
259             "https://sourceforge.net/project/showfiles.php?group_id=11118"
260             target="_top">File Release Page</a>, but there's no reason to use
261             them unless you're interested in the beta releases which are only
262             available there.
263           </p>
264         </div>
265         <div class="SECT3">
266           <h3 class="SECT3">
267             <a name="INSTALLATTION-GENTOO">2.1.9. Gentoo</a>
268           </h3>
269           <p>
270             Gentoo source packages (Ebuilds) for <span class=
271             "APPLICATION">Privoxy</span> are contained in the Gentoo Portage
272             Tree (they are not on the download page, but there is a Gentoo
273             section, where you can see when a new <span class=
274             "APPLICATION">Privoxy</span> Version is added to the Portage
275             Tree).
276           </p>
277           <p>
278             Before installing <span class="APPLICATION">Privoxy</span> under
279             Gentoo just do first <tt class="LITERAL">emerge --sync</tt> to
280             get the latest changes from the Portage tree. With <tt class=
281             "LITERAL">emerge privoxy</tt> you install the latest version.
282           </p>
283           <p>
284             Configuration files are in <tt class=
285             "FILENAME">/etc/privoxy</tt>, the documentation is in <tt class=
286             "FILENAME">/usr/share/doc/privoxy-3.0.18</tt> and the Log
287             directory is in <tt class="FILENAME">/var/log/privoxy</tt>.
288           </p>
289         </div>
290       </div>
291       <div class="SECT2">
292         <h2 class="SECT2">
293           <a name="INSTALLATION-SOURCE">2.2. Building from Source</a>
294         </h2>
295         <p>
296           The most convenient way to obtain the <span class=
297           "APPLICATION">Privoxy</span> sources is to download the source
298           tarball from our <a href=
299           "http://sourceforge.net/project/showfiles.php?group_id=11118&amp;package_id=10571"
300            target="_top">project download page</a>.
301         </p>
302         <p>
303           If you like to live on the bleeding edge and are not afraid of
304           using possibly unstable development versions, you can check out the
305           up-to-the-minute version directly from <a href=
306           "http://sourceforge.net/cvs/?group_id=11118" target="_top">the CVS
307           repository</a>.
308         </p>
309         <p>
310           To build <span class="APPLICATION">Privoxy</span> from source, <a
311           href="http://www.gnu.org/software/autoconf/autoconf.html" target=
312           "_top">autoconf</a>, <a href=
313           "http://www.gnu.org/software/make/make.html" target="_top">GNU make
314           (gmake)</a>, and, of course, a C compiler like <a href=
315           "http://www.gnu.org/software/gcc/gcc.html" target="_top">gcc</a>
316           are required.
317         </p>
318         <p>
319           When building from a source tarball, first unpack the source:
320         </p>
321         <p>
322         </p>
323         <table border="0" bgcolor="#E0E0E0" width="100%">
324           <tr>
325             <td>
326 <pre class="SCREEN">
327  tar xzvf privoxy-3.0.18-beta-src.tar.gz
328  cd privoxy-3.0.18-beta
329 </pre>
330             </td>
331           </tr>
332         </table>
333
334         <p>
335           For retrieving the current CVS sources, you'll need a CVS client
336           installed. Note that sources from CVS are typically development
337           quality, and may not be stable, or well tested. To download CVS
338           source, check the Sourceforge documentation, which might give
339           commands like:
340         </p>
341         <p>
342         </p>
343         <table border="0" bgcolor="#E0E0E0" width="100%">
344           <tr>
345             <td>
346 <pre class="SCREEN">
347   cvs -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa login
348   cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co current
349   cd current
350 </pre>
351             </td>
352           </tr>
353         </table>
354
355         <p>
356           This will create a directory named <tt class=
357           "FILENAME">current/</tt>, which will contain the source tree.
358         </p>
359         <p>
360           You can also check out any <span class="APPLICATION">Privoxy</span>
361           <span class="QUOTE">"branch"</span>, just exchange the <span class=
362           "APPLICATION">current</span> name with the wanted branch name
363           (Example: v_3_0_branch for the 3.0 cvs tree).
364         </p>
365         <p>
366           It is also strongly recommended to not run <span class=
367           "APPLICATION">Privoxy</span> as root. You should
368           configure/install/run <span class="APPLICATION">Privoxy</span> as
369           an unprivileged user, preferably by creating a <span class=
370           "QUOTE">"privoxy"</span> user and group just for this purpose. See
371           your local documentation for the correct command line to do add new
372           users and groups (something like <b class="COMMAND">adduser</b>,
373           but the command syntax may vary from platform to platform).
374         </p>
375         <p>
376           <tt class="FILENAME">/etc/passwd</tt> might then look like:
377         </p>
378         <p>
379         </p>
380         <table border="0" bgcolor="#E0E0E0" width="100%">
381           <tr>
382             <td>
383 <pre class="SCREEN">
384   privoxy:*:7777:7777:privoxy proxy:/no/home:/no/shell
385 </pre>
386             </td>
387           </tr>
388         </table>
389
390         <p>
391           And then <tt class="FILENAME">/etc/group</tt>, like:
392         </p>
393         <p>
394         </p>
395         <table border="0" bgcolor="#E0E0E0" width="100%">
396           <tr>
397             <td>
398 <pre class="SCREEN">
399   privoxy:*:7777:
400 </pre>
401             </td>
402           </tr>
403         </table>
404
405         <p>
406           Some binary packages may do this for you.
407         </p>
408         <p>
409           Then, to build from either unpacked tarball or CVS source:
410         </p>
411         <p>
412         </p>
413         <table border="0" bgcolor="#E0E0E0" width="100%">
414           <tr>
415             <td>
416 <pre class="SCREEN">
417  autoheader
418  autoconf
419  ./configure      # (--help to see options)
420  make             # (the make from GNU, sometimes called gmake)
421  su               # Possibly required
422  make -n install  # (to see where all the files will go)
423  make -s install  # (to really install, -s to silence output)
424 </pre>
425             </td>
426           </tr>
427         </table>
428
429         <p>
430           Using GNU <b class="COMMAND">make</b>, you can have the first four
431           steps automatically done for you by just typing:
432         </p>
433         <p>
434         </p>
435         <table border="0" bgcolor="#E0E0E0" width="100%">
436           <tr>
437             <td>
438 <pre class="SCREEN">
439   make
440 </pre>
441             </td>
442           </tr>
443         </table>
444
445         <p>
446           in the freshly downloaded or unpacked source directory.
447         </p>
448         <p>
449           To build an executable with security enhanced features so that
450           users cannot easily bypass the proxy (e.g. <span class="QUOTE">"Go
451           There Anyway"</span>), or alter their own configurations, <b class=
452           "COMMAND">configure</b> like this:
453         </p>
454         <p>
455         </p>
456         <table border="0" bgcolor="#E0E0E0" width="100%">
457           <tr>
458             <td>
459 <pre class="SCREEN">
460  ./configure  --disable-toggle  --disable-editor  --disable-force
461 </pre>
462             </td>
463           </tr>
464         </table>
465
466         <p>
467           Then build as above. In Privoxy 3.0.7 and later, all of these
468           options can also be disabled through the configuration file.
469         </p>
470         <p>
471           <span class="emphasis"><i class="EMPHASIS">WARNING:</i></span> If
472           installing as root, the install will fail unless a non-root user or
473           group is specified, or a <tt class="LITERAL">privoxy</tt> user and
474           group already exist on the system. If a non-root user is specified,
475           and no group, then the installation will try to also use a group of
476           the same name as <span class="QUOTE">"user"</span>. If a group is
477           specified (and no user), then the support files will be installed
478           as writable by that group, and owned by the user running the
479           installation.
480         </p>
481         <p>
482           <b class="COMMAND">configure</b> accepts <tt class=
483           "LITERAL">--with-user</tt> and <tt class=
484           "LITERAL">--with-group</tt> options for setting user and group
485           ownership of the configuration files (which need to be writable by
486           the daemon). The specified <span class="emphasis"><i class=
487           "EMPHASIS">user must already exist</i></span>. When starting <span
488           class="APPLICATION">Privoxy</span>, it must be run as this same
489           user to insure write access to configuration and log files!
490         </p>
491         <p>
492           Alternately, you can specify <tt class="LITERAL">user</tt> and <tt
493           class="LITERAL">group</tt> on the <b class="COMMAND">make</b>
494           command line, but be sure both already exist:
495         </p>
496         <p>
497         </p>
498         <table border="0" bgcolor="#E0E0E0" width="100%">
499           <tr>
500             <td>
501 <pre class="SCREEN">
502  make -s install  USER=privoxy GROUP=privoxy
503 </pre>
504             </td>
505           </tr>
506         </table>
507
508         <p>
509           The default installation path for <b class="COMMAND">make
510           install</b> is <tt class="FILENAME">/usr/local</tt>. This may of
511           course be customized with the various <b class=
512           "COMMAND">./configure</b> path options. If you are doing an install
513           to anywhere besides <tt class="FILENAME">/usr/local</tt>, be sure
514           to set the appropriate paths with the correct configure options (<b
515           class="COMMAND">./configure --help</b>). Non-privileged users must
516           of course have write access permissions to wherever the target
517           installation is going.
518         </p>
519         <p>
520           If you do install to <tt class="FILENAME">/usr/local</tt>, the
521           install will use <tt class=
522           "LITERAL">sysconfdir=$prefix/etc/privoxy</tt> by default. All other
523           destinations, and the direct usage of <tt class=
524           "LITERAL">--sysconfdir</tt> flag behave like normal, i.e. will not
525           add the extra <tt class="FILENAME">privoxy</tt> directory. This is
526           for a safer install, as there may already exist another program
527           that uses a file with the <span class="QUOTE">"config"</span> name,
528           and thus makes <tt class="FILENAME">/usr/local/etc</tt> cleaner.
529         </p>
530         <p>
531           If installing to <tt class="FILENAME">/usr/local</tt>, the
532           documentation will go by default to <tt class=
533           "FILENAME">$prefix/share/doc</tt>. But if this directory doesn't
534           exist, it will then try <tt class="FILENAME">$prefix/doc</tt> and
535           install there before creating a new <tt class=
536           "FILENAME">$prefix/share/doc</tt> just for <span class=
537           "APPLICATION">Privoxy</span>.
538         </p>
539         <p>
540           Again, if the installs goes to <tt class=
541           "FILENAME">/usr/local</tt>, the <tt class=
542           "LITERAL">localstatedir</tt> (ie: <tt class="FILENAME">var/</tt>)
543           will default to <tt class="FILENAME">/var</tt> instead of <tt
544           class="LITERAL">$prefix/var</tt> so the logs will go to <tt class=
545           "FILENAME">/var/log/privoxy/</tt>, and the pid file will be created
546           in <tt class="FILENAME">/var/run/privoxy.pid</tt>.
547         </p>
548         <p>
549           <b class="COMMAND">make install</b> will attempt to set the correct
550           values in <tt class="FILENAME">config</tt> (main configuration
551           file). You should check this to make sure all values are correct.
552           If appropriate, an init script will be installed, but it is up to
553           the user to determine how and where to start <span class=
554           "APPLICATION">Privoxy</span>. The init script should be checked for
555           correct paths and values, if anything other than a default install
556           is done.
557         </p>
558         <p>
559           If install finds previous versions of local configuration files,
560           most of these will not be overwritten, and the new ones will be
561           installed with a <span class="QUOTE">"new"</span> extension.
562           default.action and default.filter <span class="emphasis"><i class=
563           "EMPHASIS">will be overwritten</i></span>. You will then need to
564           manually update the other installed configuration files as needed.
565           The default template files <span class="emphasis"><i class=
566           "EMPHASIS">will</i></span> be overwritten. If you have customized,
567           local templates, these should be stored safely in a separate
568           directory and defined in <tt class="FILENAME">config</tt> by the
569           <span class="QUOTE">"templdir"</span> directive. It is of course
570           wise to always back-up any important configuration files <span
571           class="QUOTE">"just in case"</span>. If a previous version of <span
572           class="APPLICATION">Privoxy</span> is already running, you will
573           have to restart it manually.
574         </p>
575         <p>
576           For more detailed instructions on how to build Redhat RPMs, Windows
577           self-extracting installers, building on platforms with special
578           requirements etc, please consult the <a href=
579           "http://www.privoxy.org/developer-manual/newrelease.html" target=
580           "_top">developer manual</a>.
581         </p>
582       </div>
583       <div class="SECT2">
584         <h2 class="SECT2">
585           <a name="INSTALLATION-KEEPUPDATED">2.3. Keeping your Installation
586           Up-to-Date</a>
587         </h2>
588         <p>
589           As user feedback comes in and development continues, we will make
590           updated versions of both the main <a href=
591           "actions-file.html">actions file</a> (as a <a href=
592           "http://sourceforge.net/project/showfiles.php?group_id=11118&amp;release_id=103670"
593            target="_top">separate package</a>) and the software itself
594           (including the actions file) available for download.
595         </p>
596         <p>
597           If you wish to receive an email notification whenever we release
598           updates of <span class="APPLICATION">Privoxy</span> or the actions
599           file, <a href=
600           "http://lists.sourceforge.net/lists/listinfo/ijbswa-announce/"
601           target="_top">subscribe to our announce mailing list</a>,
602           ijbswa-announce@lists.sourceforge.net.
603         </p>
604         <p>
605           In order not to lose your personal changes and adjustments when
606           updating to the latest <tt class="LITERAL">default.action</tt> file
607           we <span class="emphasis"><i class="EMPHASIS">strongly
608           recommend</i></span> that you use <tt class=
609           "LITERAL">user.action</tt> and <tt class="LITERAL">user.filter</tt>
610           for your local customizations of <span class=
611           "APPLICATION">Privoxy</span>. See the <a href=
612           "actions-file.html">Chapter on actions files</a> for details.
613         </p>
614       </div>
615     </div>
616     <div class="NAVFOOTER">
617       <hr width="100%" class="c1">
618       <table summary="Footer navigation table" width="100%" border="0"
619       cellpadding="0" cellspacing="0">
620         <tr>
621           <td width="33%" align="left" valign="top">
622             <a href="introduction.html" accesskey="P">Prev</a>
623           </td>
624           <td width="34%" align="center" valign="top">
625             <a href="index.html" accesskey="H">Home</a>
626           </td>
627           <td width="33%" align="right" valign="top">
628             <a href="whatsnew.html" accesskey="N">Next</a>
629           </td>
630         </tr>
631         <tr>
632           <td width="33%" align="left" valign="top">
633             Introduction
634           </td>
635           <td width="34%" align="center" valign="top">
636             &nbsp;
637           </td>
638           <td width="33%" align="right" valign="top">
639             What's New in this Release
640           </td>
641         </tr>
642       </table>
643     </div>
644   </body>
645 </html>
646