Added XML and Sablotron support to PHP, dropped support for mod_jserv, added mod_jk support, enhanced support for Tomcat, updated software mentioned in the HOWTO, minor SGML enhancements

This commit is contained in:
delouw 2003-02-09 19:54:59 +00:00
parent 0cbd976f1d
commit ce219eeedf
1 changed files with 251 additions and 130 deletions

View File

@ -2,7 +2,7 @@
<article>
<artheader>
<title>Apache Compile HOWTO (Linux edition)</title>
<title>Apache Compile HOWTO</title>
<author>
<firstname>Luc</firstname>
@ -16,6 +16,15 @@
<revhistory>
<revision>
<revnumber>1.9.18</revnumber>
<date>2003-02-09</date>
<revremark>Added XML and Sablotron support to PHP, dropped support for mod_jserv, added mod_jk support, enhanced support for Tomcat,
updated software mentioned in the HOWTO, minor SGML enhancements
</revremark>
</revision>
<revision>
<revnumber>1.9.17</revnumber>
<date>2002-10-16</date>
@ -42,8 +51,8 @@
<revision>
<revnumber>1.9.14</revnumber>
<date>2002-06-19</date>
<revremark>Updated to Apache 1.3.26 to fix security-hole CERT CA-2002-17 it is strongly recommanded that users shoud update
immediately, Added (temporay) patch to get mod_ssl 2.8.8 working with 1.3.26, Added --without-debug to MySQL configure
<revremark>Updated to Apache 1.3.26 to fix security-hole CERT CA-2002-17 it is strongly recommended that users should update
immediately, Added (temporary) patch to get mod_ssl 2.8.8 working with 1.3.26, Added --without-debug to MySQL configure
</revremark>
</revision>
@ -155,7 +164,7 @@
</artheader>
<warning><title>Securityhole in <application>Apache</application> older than 1.3.26</title>
<warning><title>Security hole in <application>Apache</application> older than 1.3.26</title>
<para>
Do NOT use any <application>Apache</application> version older than 1.3.26. See
<ulink url="http://www.cert.org/advisories/CA-2002-17.html">http://www.cert.org/advisories/CA-2002-17.html</ulink>
@ -250,7 +259,7 @@ for more information
<title>Copyright Information</title>
<para>
This document is copyrighted (c) 2000, 2001, 2002 Luc de Louw and is
This document is copyrighted (c) 2000, 2001, 2002, 2003 Luc de Louw and is
distributed under the terms of the Linux Documentation Project
(LDP) license, stated below.
</para>
@ -498,9 +507,9 @@ a Application to build Server and client-Certificates.</para>
<screen>
cd /usr/local
tar -xvzf openssl-0.9.6g.tar.gz
tar -xvzf openssl-0.9.7.tar.gz
cd openssl-0.9.6g
cd openssl-0.9.7
./config shared
@ -511,6 +520,13 @@ make install
echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
ldconfig
</screen>
<tip><title>Select your CPU to improve speed</title>
<para>
By default the Makefile generates code for the i486 CPU. You can change this by editing the
<filename>Makefile</filename> after running <command>config </command><option>shared</option>.
Search for <option>-m486</option> and replace it i.e with <option>-march=athlon</option>
</para></tip>
</sect3>
@ -572,7 +588,7 @@ ldconfig
<para>
<application>MySQL</application> is a very fast, powerful and very nice to handle Database.</para>
<para>Especially for webapplication where most access is read and few write,
<para>Especially for webapplications where most access is read and few write,
MySQL is the first choice. The newest
Version is also transaction-capable. If you plan a Webapplication,
that writes a lot of Data into the DB, maybe PostgreSQL is
@ -593,8 +609,8 @@ Origin-Site: <ulink url="http://www.mysql.com/downloads/">http://www.mysql.com/d
<screen>
cd /usr/local
tar -xvzf mysql-3.23.53.tar.gz
cd mysql-3.23.53
tar -xvzf mysql-3.23.55.tar.gz
cd mysql-3.23.55
./configure \
--prefix=/usr/local/mysql \
@ -694,8 +710,8 @@ inside those shared memory segments. </para></blockquote>
</sect3>
<sect3><title>Download</title>
<para>Origin Site: <ulink url="ftp://ftp.ossp.org/pkg/lib/mm/mm-1.2.1.tar.gz">
ftp://ftp.ossp.org/pkg/lib/mm/mm-1.2.1.tar.gz</ulink>
<para>Origin Site: <ulink url="ftp://ftp.ossp.org/pkg/lib/mm/mm-1.2.2.tar.gz">
ftp://ftp.ossp.org/pkg/lib/mm/mm-1.2.2.tar.gz</ulink>
</para>
</sect3>
@ -704,9 +720,9 @@ ftp://ftp.ossp.org/pkg/lib/mm/mm-1.2.1.tar.gz</ulink>
<screen>
cd /usr/local
tar -xvzf mm-1.2.1.tar.gz
tar -xvzf mm-1.2.2.tar.gz
cd mm-1.2.1
cd mm-1.2.2
./configure
make
@ -783,7 +799,7 @@ if you hacked your kernel and edited your <filename>/etc/security/limits.conf</f
<caution><title>Avoid running out of tasks</title>
<para>
With wrong settings this could end as a &ldquo;self-denial-of-service-attack&rdquo;!!
With wrong settings this could end as a »self-denial-of-service-attack«
Be sure you have enough processes left for root)</para>
</caution>
@ -833,8 +849,8 @@ Webserver might crash or can not be started.
<screen>
cd /usr/local/
tar -xvzf mod_ssl-2.8.11-1.3.27.tar.gz
cd mod_ssl-2.8.11-1.3.27/
tar -xvzf mod_ssl-2.8.12-1.3.27.tar.gz
cd mod_ssl-2.8.12-1.3.27/
./configure --with-apache=../apache_1.3.27
</screen>
@ -899,7 +915,7 @@ Now the two static modules <application>mod_ssl</application> and <application>m
<sect3><title>Building and installing</title>
<screen>
EAPI_MM=&quot;/usr/local/mm-1.2.1&quot; SSL_BASE=&quot;/usr/local/ssl&quot; &bsol;
EAPI_MM=&quot;/usr/local/mm-1.2.2&quot; SSL_BASE=&quot;/usr/local/ssl&quot; &bsol;
./configure &bsol;
--enable-module=unique_id &bsol;
--enable-module=rewrite &bsol;
@ -987,8 +1003,14 @@ cd mod_dav-1.0.3-1.3.6
make
make install
</screen>
<para>Notice: the filename <filename>mod_dav-1.0.3-1.3.6</filename> suggests that it will only run with Apache 1.3.6 but it
<tip><title>Confusing filename</title>
<para>The filename <filename>mod_dav-1.0.3-1.3.6</filename> suggests that it will only run with Apache 1.3.6 but it
actually will run with all Apaches &gt;= 1.3.6</para>
</tip>
</sect3>
</sect2>
@ -1196,7 +1218,7 @@ access the server.</para></blockquote>
<para>From the authors point of view: </para>
<para>Mod_roaming is ideed valueable. Unfortunately it does not work over proxy-connection.
<para>Mod_roaming is indeed valuable. Unfortunately it does not work over proxy-connection.
You can keep your <application>Netscape</application> 4.x bookmarks etc. synchronized on different machines. It is not supported
by any other browsers, including <application>Mozilla</application> and <application>Netscape</application> 6.x.
</para>
@ -1284,15 +1306,20 @@ pay for every GB delivered and CPU-power does not matter, then mod_gzip is the c
<sect2><title>mod_gzip</title>
<sect3><title>Download the source</title>
<para>Origin-Site: <ulink url="http://www.remotecommunications.com/apache/mod_gzip/">http://www.remotecommunications.com/apache/mod_gzip/</ulink>
<para>Origin-Site: <ulink url="http://prdownloads.sourceforge.net/mod-gzip/mod_gzip-1.3.26.1a.tgz?download">http://prdownloads.sourceforge.net/mod-gzip/mod_gzip-1.3.26.1a.tgz?download</ulink>
</para>
</sect3>
<sect3><title>Building and installing</title>
<para>To successfully compile mod_gzip you need to edit the <filename>Makefile</filename> and provide the correct path to
<command>apxs</command></para>
<screen>
/usr/local/apache/bin/apxs -i -a -c -lz mod_gzip.c
make
make install
</screen>
</sect3>
<sect3>
@ -1436,7 +1463,8 @@ tar -xvfz imap.tar.Z
cd imap
make slx SSLTYPE=unix <co id="imap">
<!-- make slx SSLTYPE=unix <co id="imap"> -->
make slx SSLTYPE=nopwd <co id="imap">
</screen>
<para>
@ -1474,9 +1502,9 @@ SSL support.</para>
<screen>
cd /usr/local
tar -xvzf postgresql-7.2.3.tar.gz
tar -xvzf postgresql-7.3.2.tar.gz
cd postgresql-7.2.3
cd postgresql-7.3.2
./configure &bsol;
--with-perl &bsol;
@ -1496,6 +1524,35 @@ ldconfig
</sect4>
</sect3>
<sect3 id="sablotron"><title>Sablotron</title>
<sect4><title>What is Sablotron</title>
<blockquote><attribution>http://www.gingerall.com/charlie/ga/xml/p_sab.xml</attribution>
<para>Sablotron is a fast, compact and portable XML toolkit implementing XSLT 1.0,
DOM Level2 and XPath 1.0. Sablotron is an open project; other users and developers
are encouraged to use it or to help us testing or improving it. The goal of this
project is to create a lightweight, reliable and fast XML library processor
conforming to the W3C specification, which is available for public and can be
used as a base for multi-platform XML applications.</para></blockquote>
</sect4>
<sect4><title>Download the source</title>
<para>Origin-Site: <ulink url="http://download-2.gingerall.cz/download/sablot/Sablot-0.97.tar.gz">http://download-2.gingerall.cz/download/sablot/Sablot-0.97.tar.gz</ulink>
</sect4>
<sect4><title>Building and installing</title>
<screen>
tar -xvzf Sablot-0.97.tar.gz
cd Sablot-0.97
./configure
make
make install
ldconfig
</screen>
</sect4>
</sect3>
<sect3><title>pdflib</title>
<sect4><title>What is pdflib</title>
@ -1506,9 +1563,11 @@ to generate PDF on your server, convert text and graphics, or implement PDF outp
<para>From the authors point of view:</para>
<para>
This is a commercial Product. Read the license carefully to see if you need a commercial license or not
<caution><title>This is a commercial product</title>
<para>PDFLIB is a commercial Product. Read the license carefully to see if you need a commercial license or not
</para>
</caution>
</sect4>
@ -1607,10 +1666,11 @@ ldconfig
<screen>
cd /usr/local
tar -xvzf php-4.2.3.tar.gz
tar -xvzf php-4.3.0.tar.gz
cd php-4.2.3
cd php-4.3.0
export LDFLAGS=-lstdc++
./configure &bsol;
--with-apxs=/usr/local/apache/bin/apxs &bsol;
@ -1629,7 +1689,22 @@ cd php-4.2.3
--with-mm=/usr/local/mm-1.1.3 &bsol;
--with-jpeg-dir=/usr/lib &bsol;
--with-zlib-dir=/usr/local &bsol;
--enable-wddx &bsol;
--with-mcrypt &bsol;
--with-mhash &bsol;
--with-mcal=/usr &bsol;
--enable-exif &bsol;
--enable-xslt &bsol;
--with-xslt-sablot=/usr/local &bsol;
--with-dom &bsol;
--with-dom-xslt &bsol;
</screen>
<para>Edit the <filename>Makefile</filename> and add <option>-lstdc++</option> to the variable <varname>EXTRA_LIBS</varname>. This is currently
only needed, when using Sablotron version 0.9.7</para>
<screen>
make
make install
</screen>
@ -1658,7 +1733,7 @@ LoadModule php4_module libexec/libphp4.so
<para>Copy the sample <filename>php.ini-dist</filename> to <filename>/usr/local/lib/php.ini</filename></para>
<screen>
cp /usr/local/php-4.2.3/php.ini-dist /usr/local/lib/php.ini
cp /usr/local/php-4.3.0/php.ini-dist /usr/local/lib/php.ini
</screen>
<para>uncomment (remove the &num; at begin of line) the following lines in
@ -1802,7 +1877,9 @@ or your whole setup will not work.
<sect3><title>Download the binary</title>
<para>Origin-Site: <ulink url="https://www.zend.com/store/free_download.php?pid=13">https://www.zend.com/store/free_download.php?pid=13</ulink></para>
<tip><title>Register at zend.com</title>
<para>You have to register yourself at zend.com to get access to the download-page</para>
</tip>
</sect3>
@ -1815,14 +1892,14 @@ platforms. The filename varies according your platform, the sample is for Linux
<screen>
cd /usr/local
tar -xvzf ZendOptimizer-1.3.3-Linux_glibc21-i386.tar.gz
tar -xvzf ZendOptimizer-2.1.0-Linux_glibc21-i386.tar.gz
cd ZendOptimizer-1.3.3-Linux_glibc21-i386
cd ZendOptimizer-2.1.0-Linux_glibc21-i386
./install.sh
</screen>
<para>The install script is self-explanatory, if you compiled Apache and PHP like descibed in this document, you can just press
<para>The install script is self-explanatory, if you compiled Apache and PHP like described in this document, you can just press
<keycap>ENTER</keycap> on all questions about the pathnames.</para>
</sect3>
@ -1830,85 +1907,8 @@ cd ZendOptimizer-1.3.3-Linux_glibc21-i386
</sect1>
<sect1 id="ssjava"><title>Server Side Java</title>
<sect2><title>mod_jserv</title>
<sect3><title>What is mod_jserv</title>
<blockquote><attribution>java.apache.org</attribution>
<para>
Apache JServ is a 100&percnt; pure Java servlet engine fully compliant with the JavaSoft Java Servlet APIs 2.0
specification. Since we believe in the great value complete portability between different servlet platforms,
together with portability of Java binary code, we worked very close with JavaSoft and other JVM implementers to
provide correct interpretations or Java specifications both for servlets and for the Java language itself.
</para></blockquote>
<para>From the authors point of view:</para>
<para>mod_jserv is very comfortable to maintain</para>
<para>Unfortunately mod_jserv is no longer actively developed,
only bugfixes if bugs where found. Tomcat is the successor of mod_jserv
As soon as the author gets enough time and experience with Tomcat he will extend this HOWTO.</para>
<para>JSDK2.0 is out of Date too. It is needed for mod_jserv only. </para>
</sect3>
<sect3><title>Prerequisites</title>
<sect4><title>JSDK 2.0 (mod_jserv req.)</title>
<sect5><title>What is JSDK</title>
<para>It is the <abbrev>API</abbrev> from Sun Microsystems for developing Servlets</para>
</sect5>
<sect5><title>Download</title>
<para>Origin-Site: <ulink url="http://java.sun.com/products/servlet/archive.html">
http://java.sun.com/products/servlet/archive.html</ulink></para>
</sect5>
<sect5><title>Building and installing</title>
<para>Since JSDK is closed source there is nothing to build.</para>
<tip><title>Confusing filename</title>
<para>The filename <filename>jsdk20-solaris2-sparc.tar.Z</filename> suggests to be a binary for sparc platform.
Ignore it, this will work on all platforms</para>
</tip>
<screen>
cd /usr/local/
uncompress jsdk20-solaris2-sparc.tar.Z
tar -xvf jsdk20-solaris2-sparc.tar
</screen>
</sect5>
</sect4>
</sect3>
<sect3><title>Download the source</title>
<para>Origin-Site: <ulink url="http://java.apache.org/jserv/dist/">http://java.apache.org/jserv/dist/</ulink></para>
</sect3>
<sect3><title>Building and installing</title>
<screen>
cd /usr/local
tar -xvzf ApacheJServ-1.1.2.tar.gz
cd ApacheJServ-1.1.2
./configure &bsol;
--prefix=/usr/local/jserv &bsol;
--with-apxs=/usr/local/apache/bin/apxs &bsol;
--with-JSDK=/usr/local/JSDK2.0 &bsol;
--enable-EAPI &bsol;
make
make install
</screen>
<caution><title>Extended API</title>
<para>Here it is important to use the compilerflag <option>--enable-EAPI</option> if Apache is compiled with
mod_ssl.</para>
</caution>
</sect3>
</sect2>
<sect2><title>jakarta-tomcat</title>
<sect3><title>What is Tomcat</title>
<sect1 id="tomcat"><title>Jakarta Tomcat</title>
<sect2><title>What is Tomcat</title>
<blockquote><attribution>jakarta.apache.org</attribution>
<para>Tomcat is the servlet container that is used in the official Reference Implementation for the Java Servlet and JavaServer Pages technologies. The Java Servlet and JavaServer Pages specifications are developed by Sun under the Java Community Process.</para>
<para>From the authors point of view:</para></blockquote>
@ -1928,21 +1928,21 @@ basic support for Tomcat installed from binaries.</para>
<para>The Author is searching for some volunteers who tries to build Tomcat from source and tells what steps are required</para>
</sect3>
<sect3><title>Prerequisites</title>
<sect4><title>Java2</title>
<sect5><title>What is Java2>
</sect2>
<sect2><title>Prerequisites</title>
<sect3><title>Java2</title>
<sect4><title>What is Java2</title>
<para>Please see java.sun.com</para>
<para>Too much for this HOWTO, please see <ulink url="http://java.sun.com/j2se/1.3/docs/relnotes/features.html">http://java.sun.com/j2se/1.3/docs/relnotes/features.html</ulink></para>
</sect5>
<sect4><title>Download the binaries</title>
</sect4>
<sect3><title>Download the binaries</title>
<para>Go to <ulink url="http://java.sun.com/j2se/1.3/">http://java.sun.com/j2se/1.3/</ulink> <footnote><para>
There is also version 1.4.0 of Java available, if you do not care about possible instability you can downloads this version.</para>
There is also version 1.4.1 of Java available, but Tomcat seems not to run with that version of Java.</para>
</footnote>,choose your platform and follow the steps on the site.</para>
</sect4>
</sect3>
<sect4><title>Installing the binaries</title>
<sect3><title>Installing the binaries</title>
<para>
Execute the binary:
@ -1955,23 +1955,23 @@ chmod +x j2sdk-1_3_1_02-linux-i386.bin
<para>After accepting the license, unpack the stuff and move the resulting directory to <filename>/usr/lib</filename>
and set an appropriate symbolic link</para>
</sect4>
</sect3>
</sect2>
<sect3><title>Download the binaries</title>
<sect2><title>Download the binaries</title>
<para>Origin-Site:
<ulink url="http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/v4.0.4/bin/jakarta-tomcat-4.0.4.tar.gz">
http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/v4.0.4/bin/jakarta-tomcat-4.0.4.tar.gz</ulink></para>
<ulink url="http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/v4.1.18/src/jakarta-tomcat-4.1.18-src.tar.gz">
http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/v4.1.18/src/jakarta-tomcat-4.1.18-src.tar.gz</ulink></para>
<sect3><title>Installing the binaries</title>
<screen>
cd /usr/local
tar -xvzf jakarta-tomcat-4.0.6.tar.gz
tar -xvzf jakarta-tomcat-4.1.8.tar.gz
cd jakarta-tomcat-4.0.6
cd jakarta-tomcat-4.1.8
cd bin
@ -1981,20 +1981,141 @@ echo export JAVA_HOME=/usr/lib/java/ >> /etc/profile
. /etc/profile
</screen>
<para>To enable the Tomcat manager, you need to modify <filename>/usr/local/jakarta-tomcat-4.1.8/conf/tomcat-users.xml</filename>
add a user »admin« or with the role »manager«. The result should look like this:</para>
<screen>
&lt;?xml version='1.0' encoding='utf-8'?&gt;
&lt;tomcat-users&gt;
&lt;role rolename="manager"/&gt;
&lt;role rolename="tomcat"/&gt;
&lt;role rolename="role1"/&gt;
&lt;user username="admin" password="secret" roles="manager"/&gt;
&lt;user username="tomcat" password="tomcat" roles="tomcat"/&gt;
&lt;user username="role1" password="tomcat" roles="role1"/&gt;
&lt;user username="both" password="tomcat" roles="tomcat,role1"/&gt;
&lt;/tomcat-users&gt;
</screen>
<para>Now you should be able to startup tomcat:
<screen>
/usr/local/apache/jakarta-tomcat-4.0.6/bin/startup.sh
/usr/local/apache/jakarta-tomcat-4.1.8/bin/startup.sh
</screen>
<para>You should now be able to connect to: <ulink url="http://localhost:8080/index.html">http://localhost:8080/index.html</ulink></para>
<para>You should now be able to connect to: <ulink url="http://localhost:8080/index.jsp">http://localhost:8080/index.jsp</ulink></para>
</sect2>
<sect2 id="modjk"><title>mod_jk</title>
<sect3><title>Download the source</title>
<para>If you like to have a native interface into your Apache Webserver, you need to build mod_jk with must be downloaded separately here:
<ulink url="http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/v4.1.18/src/jakarta-tomcat-connectors-4.1.18-src.tar.gz">
http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/v4.1.18/src/jakarta-tomcat-connectors-4.1.18-src.tar.gz</ulink>.
</para>
</sect3>
<sect3><title>Building and installing</title>
<screen>
tar -xvzf jakarta-tomcat-connectors-4.1.18-src.tar.gz
cd jakarta-tomcat-connectors-4.1.18-src/jk/native
./buildconf
./configure --with-apxs=/usr/local/apache/bin/apxs
make
make install
</screen>
</sect3>
<sect3><title>Customizing</title>
<para>Now follows the annoying part, the customizing of the config files. First edit
<filename>/usr/local/jakarta-tomcat-connectors-4.1.18-src/jk/conf/workers.properties</filename>,
and copy the file to <filename>/usr/local/apache/conf</filename></para>
<para>I made a sample <filename>workers.properties</filename> that works with the example JSPs and servlets
that comes with the Tomcat distribution. It is based on the sample workers.properties from Tomcat</para>
<example><title>workers.properties</title>
<screen>
workers.tomcat_home=/usr/local/jakarta-tomcat-4.1.18
# workers.java_home should point to your Java installation. Normally
# you should have a bin and lib directories beneath it.
#
workers.java_home=/usr/lib/java2
# You should configure your environment slash... ps=\ on NT and / on UNIX
# and maybe something different elsewhere.
#
ps=/
# The workers that your plugins should create and work with
#
worker.list=worker1
#------ DEFAULT ajp13 WORKER DEFINITION ------------------------------
#---------------------------------------------------------------------
# Defining a worker named ajp13 and of type ajp13
# Note that the name and the type do not have to match.
#
worker.worker1.port=8009
worker.worker1.host=localhost
worker.worker1.type=ajp13
#------ CLASSPATH DEFINITION -----------------------------------------
#---------------------------------------------------------------------
# Additional class path components.
#
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)tomcat.jar
# The JVM that we are about to use
#
# Unix - Sun VM or blackdown
worker.inprocess.jvm_lib=$(workers.java_home)$(ps)jre$(ps)lib$(ps)i386$(ps)classic$(ps)libjvm.so
# Setting the place for the stdout and stderr of tomcat
#
worker.inprocess.stdout=$(workers.tomcat_home)$(ps)logs$(ps)inprocess.stdout
worker.inprocess.stderr=$(workers.tomcat_home)$(ps)logs$(ps)inprocess.stderr
</screen>
</example>
<para>Next, you need to configure your apache config file <filename>httpd.conf</filename>.
The following example matches the examples provided by Tomcat.</para>
<screen>
LoadModule jk_module libexec/mod_jk.so
AddModule mod_jk.c
JkWorkersFile /usr/local/apache/conf/workers.properties
JkLogFile /var/log/httpd/mod_jk.log
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkRequestLogFormat "%w %V %T"
JkMount /examples/servlet/* worker1
JkMount /examples/*.jsp worker1
</screen>
<para>After restarting Apache, you should now be able to connect to your JSP's via Apache. I.e:
<ulink url="http://localhost/examples/jsp/num/numguess.jsp">http://localhost/examples/jsp/num/numguess.jsp</ulink>
</para>
<para>
For the further steps like installing your servlets and jsp-files, you are responsible by yourself...</para>
<tip><title>Environment Variables</title>
<para>
If Tomacat fails to start and/or your sevlets could not be started the most common error made is having not
If Tomcat fails to start and/or your servlets could not be started the most common error made is having not
all needed classes in the <varname>CLASSPATH</varname> variable.
</para>
</tip>