By Jonathan Peck
Introduction
This document is a guideline for a basic install of Apache's web server
version 2.2.2 and the Tomcat java servlet version 5.5.17 and integrating it with
your current OES Linux setup. A proof of concept and feasibility test that the
latest Apache and Tomcat versions would integrate with iManager, Virtual Office,
and Remote Manager was required before implementation on production servers.
This article assumes that you already have a good understanding of the Linux
operating system, command structure and are comfortable moving about inside the
environment. If you are not, it is suggested that you obtain assistance during
the install or stop and review Linux system administration.
Standard Disclaimer
(The lawyers made me do it!)?No liability for the contents of this document
can be accepted. Use of the concepts, examples, and all other content is
conducted at your own risk. As this is a new edition of this document, there may
be errors, inaccuracies, or other configurations that might not be suited for
your environment and could lead to damaging or corrupting parts of, or all of,
your system. It is highly suggested that you proceed with caution and review
this document carefully before implementing your setup. Although it is highly
unlikely that you will experience problems to the degree where your system is
damaged, I do not accept responsibility incase of occurrence.
All copyrights are held by their respective owners, unless specifically noted
otherwise. Use of a term in this document should not be regarded as affecting
the validity of any trademark or service mark. Naming of particular products or
brands should not be seen as endorsements.
Opinions, Narratives, Flames, Comments and Suggestions
The greatest thing about Linux is its ability to be customized. There is more
than one-way to accomplish your desired result and many opinions abound about
how to accomplish said result. Although being an avid fan and proponent of
Linux, as well as having worked with it since late 2000, no claims of being a
guru or expert are made, rather I enjoy Linux for the sake of the fact that it
allows me to experiment and learn about computers. I heartily welcome comments
and suggestions as well as opinions.
Nitty-Gritty
An out of the box installation of Novell OES SP2 generally includes Apache
2.0.49, Tomcat 4.1.31 and Sun Java2 1.4.2. As further enhancements are made and
new features are developed you might find yourself in a position where you
desire to install the latest Apache web server and Tomcat servlet container. I
found myself in that very situation when it was requested to develop a proof of
concept and feasibility test to find out if the latest Apache and Tomcat
versions would successfully integrate with iManager, Virtual Office, and Remote
Manager utilizing the company's current OES settings.
First things first is to download Apache 2.2.2:
http://httpd.apache.org/download.cgi
Pick the httpd-2.2.2.tar.gz (or bz2 depending on preference of compression
tool) and download it to your home directory.
Do the same thing for Tomcat by downloading version 5.5.17 and the Tomcat
connectors from:
http://tomcat.apache.org/download-55.cgi
Under the "Binary Distributions" you will see several sections such as Core,
Developer, Embedded etc. Choose the tar.gz file under "Core" and download it to
your home directory.
http://tomcat.apache.org/download-connectors.cgi
Under the "KEYS" section download the Source JK 1.2.15 Source Release tar.gz
file to your home directory.
I chose not to upgrade for several reasons. The first being since this was a
proof of concept I wanted to control the test right from the start. Making
modifications to the existing Apache configuration could have complicated the
process by introducing unwanted elements such as broken symbolic links and/or
module errors. The other being, and this is a personal preference, I am not
particularly fond of the default Apache 2.0.49 and Tomcat 4.1.31 configuration
in OES. Here is why:
Too many directory locations.
Location of Apache 2.0.49 Files |
Location of Tomcat 4.1.31 Files |
/etc/apache2 |
/etc/opt/novell/tomcat4 |
/etc/opt/novell/httpd |
/opt/novell/tomcat4 |
/etc/sysconfig/apache2 |
/var/opt/novell/tomcat4 |
/usr/include/apache2 |
|
Before the flames start on why or why not that is a superior set up, I can
only say that some people like the modular approach to Apache with multiple
locations and configuration files, however I do not. I prefer what I consider a
more streamlined approach of one-control directory. I also find it is easier for
another administrator to come in behind me and have an easier learning curve of
how the system is configured.
Installation
Apache 2.2.2
*Note* When building from source files some administrators like to
work out of the /usr/local/src directory. They can keep track of files that have
been built from source and installed to the server. From the standpoint of the
author I chose to install and compile from within my home directory since this
was a test box and would ultimately be re-imaged. Generally I prefer to use
/usr/local/src.
The first thing to do is to perform the checksum on your Apache download.
Next to each file is posted the MD5 sum link that provides the checksum. You
want to compare to make sure your file is not corrupted nor was injected with
anything during download. Open up a console and if you are not already root
become so now by issuing the command: # su
Enter root's password and then navigate to the directory where you downloaded
your Apache file.
Then issue: # md5sum httpd-2.2.2.tar.gz
Upon hitting enter you should be presented with the checksum of:
a0d9f7f6f70110a5965340eb7f3a3e66 httpd-2.2.2.tar.gz
If your numbers don't match download the file again.
Next we need to expand the file for access: # tar -zxvf httpd-2.2.2.tar.gz
The -v flag is not necessary, however by personal preference I like to see
things verbose. Once it has completed extracting the file, change into the httpd
directory. We will now compile Apache for our system. I chose to install Apache
into /usr/local/apache2. Again this is just a preference. You can build
your directory wherever you would like by substituting your location for mine.
Be careful that your directory exists before compiling. Apache will not create
the directory; rather it will just dump its content in the parent. The compiling
and install time will vary depending on the power of your processor and
available memory. Expect 1-3 minutes. Execute the following commands to build
Apache. # mkdir /usr/local/apache2 <- my directory had not been created yet
# cd httpd-2.2.2 <- change into the expanded directory
# ./configure --prefix=/usr/local/apache2 <- configures apache
# make <- compiles
# make install <- installs
# make clean <- post install clean up (optional. but good habit)
Congratulations! Apache is now installed on your system. Now it's time to
install Tomcat.
Tomcat 5.5.17
Just as we did with Apache we want to make certain we have a good copy of
Tomcat. Run the md5sum command against the compressed file to compare checksum
numbers. # md5sum apache-tomcat-5.5.17.tar.gz
Upon hitting enter you should be presented with the checksum of:
994d39c0d2f462c79288e0249991dd49 *apache-tomcat-5.5.17.tar.gz
If your numbers don't match download the file again.
Next we need to expand the file for access: # tar -zxvf apache-tomcat-5.5.17.tar.gz
Again, the -v flag is not necessary, just a preference. The nice thing about
the core binary file is that you do not have to compile and build anything. Once
you have extracted the file move the directory from your home to a directory of
choice. Again, I chose to install into /usr/local/. For simplicity I
called my directory tomcat5 instead of making symbolic links to just "tomcat"
because I still have tomcat4 installed on the server and wanted to distinguish
between the two of them. Your server environment may differ and you might want
to use symbolic links instead. # mv apache-tomcat-5.5.17/ /usr/local/tomcat5
Your Tomcat files are now located in /usr/local/tomcat5. Next up is to
compile the Tomcat/Jakarta connector for the new Apache.
Tomcat 5.5.17 Connector
Here Apache.org throws a curve ball. They don't issue a MD5 checksum. They
instead have given a PGP signature. To check the validity of the signature you
will need to create the asc file. When you click on the PGP link it will present
you with the signature. Copy the text and write it out to a text file in the
same directory where your downloaded the connector file. Name it
jakarta-tomcat-connectors-1.2.15-src.tar.gz.asc. Once you have done that
issue the command: # gpg --verify jakarta-tomcat-connectors-1.2.15-src.tar.gz.asc jakarta-tomcat-connectors-1.2.15-src.tar.gz
Once you are satisfied that the file is good, the formula is very similar to
the installation of Apache. Since we are only going to build the Apache module
we don't need to worry about creating a new directory.
Expand the file for access: # tar -zxvf jakarta-tomcat-connectors-1.2.15-src.tar.gz
Once it has expanded we need to change down into the native directory
and compile the Jakarta module for Apache. Following the commands below will
build the appropriate module. # cd jakarta-tomcat-connectors-1.2.15-src/jk/native <- change into the native directory
# ./buildconf.sh <- configures libtool (for developers or if you have a custom libtool setup)
# ./configures --with-apxs=/usr/local/apache2/bin/apxs <- compiles the connector
# make install <- installs
# make clean <- post install clean up
The connector will be built and written as a file called mod_jk.so
into the directory <CONNECTOR_HOME>/jk/native/apache2.0. All that
is left is to copy mod_jk.so into your modules directory of apache:
/usr/local/apache2/modules. # cp <CONNECTOR_HOME>/jk/native/apache2.0 /usr/local/apache2/modules
Congratulations! You have completed the install of Tomcat 5.5.17. Let's move
on to the configuration of it all.
Configuration - Apache 2.2.2
The configuration of the two software components and building the necessary
configuration files is a bit more time consuming. My drink of choice for a quick
jolt of caffeine is RC Cola. The RC stands for Royal Crown for those of you who
aren't from the south. Sweet nectar. Anyways, now is a good time to grab you a
jolt of caffeine as we set off to configure the new setup.
httpd.conf
If you are familiar with Apache you know that it reads its settings from the
configuration file httpd.conf. There are two methods to implementing httpd. One
is modular and the other is monolithic. Just as in use of Linux distributions
everyone's opinion differs as to which way is superior and why. I tend to lean
towards making a hybrid of the two. I prefer one main Apache config file for the
major components of the web server (main server settings, root directory,
cgi-bin, modules etc?) and then use add-in conf files for specific tweaks such
as aliases. That is the method we'll employ for getting Apache and Tomcat to
work in harmony with each other as well as interacting with iManager, Virtual
Office and Remote Manager.
Using your favorite text editor open
/usr/local/apache2/conf/httpd.conf. I have truncated the conf file to
give you a general idea of the location of each line that needs to be modified.
Locate each line that is listed below and make the following changes, adjusting
your settings to your server environment. Items in bold are the lines you
are looking to manipulate and that which is listed between { } are items
specific to your server environment. # ServerRoot: The top of the directory tree under which the server's
# configuration, error, and log files are kept.
ServerRoot "/usr/local/apache2"
# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, instead of the default. See also the <VirtualHost>
# directive.
-------------------------------------------------------------------------------------------
Listen {IP address of your server}:80
# Dynamic Shared Object (DSO) Support
# To be able to use the functionality of a module which was built as a DSO you
# have to place corresponding `LoadModule' lines at this location so the
# directives contained in it are actually available _before_ they are used.
LoadModule jk_module modules/mod_jk.so
-------------------------------------------------------------------------------------------
# ServerAdmin: Your address, where problems with the server should be
# e-mailed. This address appears on some server-generated pages, such
# as error documents. e.g. admin@your-domain.com
ServerAdmin {administrator's email}@{domain}
-------------------------------------------------------------------------------------------
# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
ServerName {IP address of your server}:80
-------------------------------------------------------------------------------------------
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
DocumentRoot "/usr/local/apache2/htdocs"
-------------------------------------------------------------------------------------------
# This should be changed to whatever you set DocumentRoot to.
#
<Directory "/usr/local/apache2/htdocs">
--------------------------------------------------------------------------------------------
# ScriptAlias: This controls which directories contain server scripts.
# The same rules about trailing "/" apply to ScriptAlias directives as to Alias.
ScriptAlias /cgi-bin/ "/usr/local/apache2/cgi-bin/"
--------------------------------------------------------------------------------------------
# "/usr/local/apache2/cgi-bin" should be changed to wherever your ScriptAliased
# CGI directory exists, if you have that configured.
<Directory "/usr/local/apache2/cgi-bin">
--------------------------------------------------------------------------------------------
# Supplemental configuration
#
# The configuration files in the conf/extra/ directory can be
# included to add extra features or to modify the default configuration of
# the server, or you may simply copy their contents here and change as
# necessary.
Include conf/mod_jk.conf
Include conf/welcome-Apache.conf
Include conf/nps-Apache.conf
Include conf/vo-Apache.conf
Save the file back to /usr/local/apache2/conf/httpd.conf. You may have
noticed at the end we added some include lines with 4 more "confs". These
are the alias redirects and the Jakarta module property files. They need to be
created and saved in /usr/local/apache2/conf/ for Apache to reference.
Again utilizing your text editor create the following files:
mod_jk.conf
The mod_jk.conf file sets parameters for the Jakarta module you compiled
earlier. It sets where to find the workers.properties file (you will create this
later in the Tomcat configuration section), a log file and what level of output
should be written to the log file. # mod_jk.conf
# Set required file locations
JkWorkersFile "/usr/local/apache2/conf/workers.properties"
JkLogFile "/usr/local/apache2/logs/mod_jk.log"
JkLogLevel error
welcome-Apache.conf
This conf file creates the alias redirect for the Novell Welcome Page that is
included in an OES distribution. The welcome page gives you a general overview
of OES and its capabilities. Although not necessary it is good practice for
configuration purposes. (Boy that last sentence sound academic doesn't it?) # welcome-Apache.conf
# Please include this file in the Apache httpd.conf file
JkMount /welcome/*.jsp ajp13
JkMount /welcome/WelcomePage ajp13
JkMount /welcome/LoginPage ajp13
JkMount /welcome/Header ajp13
Alias /welcome "/usr/local/tomcat5/webapps/welcome"
# In general, allow access.
<Directory "/usr/local/tomcat5/webapps/welcome">
Options Multiviews FollowSymLinks
Order allow,deny
Allow from all
AllowOverride All
</Directory>
<Location "/welcome">
Allow from all
</Location>
# Deny access to the running code.
<Directory "/usr/local/tomcat5/webapps/welcome/WEB-INF/">
Order deny,allow
deny from all
</Directory>
<Location "/welcome/WEB-INF/">
deny from all
</Location>
# Deny access to the manifest, etc.
<Directory "/usr/local/tomcat5/webapps/welcome/META-INF/">
Order allow,deny
deny from all
</Directory>
<Location "/welcome/META-INF/">
deny from all
</Location>
AddCharset utf-8 .utf8
AddLanguage en .en
AddHandler type-map var
nps-Apache.conf
The nps-Apache file creates the alias redirect for Novell's iManager on your
OES server. # nps-Apache.conf
# Please include this file in the Apache httpd.conf file
JkMount /nps/*.jsp ajp13
JkMount /nps/servlet/* ajp13
JkMount /nps/portal/services/* ajp13
Alias /nps "/usr/local/tomcat5/webapps/nps"
#<Directory "/usr/local/tomcat5/webapps">
# Options +FollowSymLinks
#</Directory>
# In general, allow access.
<Directory "/usr/local/tomcat5/webapps/nps">
Options MultiViews FollowSymLinks
Order allow,deny
Allow from all
AllowOverride All
</Directory>
<Location "/nps">
Allow from all
</Location>
# Deny access to the running code.
<Directory "/usr/local/tomcat5/webapps/nps/WEB-INF/">
Order allow,deny
deny from all
</Directory>
<Location "/nps/WEB-INF/">
deny from all
</Location>
# Deny access to the manifest, etc.
<Directory "/usr/local/tomcat5/webapps/nps/META-INF/">
Order allow,deny
deny from all
</Directory>
<Location "/nps/META-INF/">
deny from all
</Location>
vo-Apache.conf
As you may have guessed, this file will create the alias redirect for
Novell's Virtual Office on your OES server. # vo-Apache.conf
# Please include this file in the Apache httpd.conf file
JkMount /vo/*.jsp ajp13
JkMount /vo/servlet/* ajp13
JkMount /vo/portal/services/* ajp13
Alias /vo "/usr/local/tomcat5/webapps/vo"
# In general, allow access.
<Directory "/usr/local/tomcat5/webapps/vo">
Options MultiViews
Order allow,deny
Allow from all
AllowOverride All
</Directory>
<Location "/vo">
Allow from all
</Location>
# Deny access to the running code.
<Directory "/usr/local/tomcat5/webapps/vo/WEB-INF/">
Order allow,deny
deny from all
</Directory>
<Location "/vo/WEB-INF/">
deny from all
</Location>
# Deny access to the manifest, etc.
<Directory "/usr/local/tomcat5/webapps/vo/META-INF/">
Order allow,deny
deny from all
</Directory>
<Location "/vo/META-INF/">
deny from all
</Location>
Once you have created these files you have successfully configured Apache.
Next up is to configure a few files for Tomcat.
Configuration - Tomcat 5.5.17
There are four files that we need to configure for our Tomcat setup.
Catalina.sh, server.xml, workers.properties and tomcat_users.xml.
catalina.sh This is the script that is responsible for
starting/stopping the Tomcat server. It sets all the environmental variables.
Using your text editor, open and modify
/usr/local/tomcat5/bin/Catalina.sh. Again, this is a truncated example of
the changes that you will need to modify. Items highlighted in bold are
things you need to enter based on your server environment. #!/bin/sh
# -----------------------------------------------------------------------------
# Start/Stop Script for the CATALINA Server
#
# Environment Variable Prequisites
#
# CATALINA_HOME May point at your Catalina "build" directory.
CATALINA_HOME=/usr/local/tomcat5
#
# CATALINA_BASE (Optional) Base directory for resolving dynamic portions
# of a Catalina installation. If not present, resolves to
# the same directory that CATALINA_HOME points to.
#
# CATALINA_OPTS (Optional) Java runtime options used when the "start",
# "stop", or "run" command is executed.
# What user should run Catalina
CATALINA_USER="nobody"
CATALINA_GROUP="nobody"
#
# CATALINA_TMPDIR (Optional) Directory path location of temporary directory
# the JVM should use (java.io.tmpdir). Defaults to
# $CATALINA_BASE/temp.
#
# JAVA_HOME Must point at your Java Development Kit installation.
# Required to run the with the "debug" or "javac" argument.
JAVA_HOME=/usr/lib/SunJava2-1.4.2
#
# JRE_HOME Must point at your Java Development Kit installation.
# Defaults to JAVA_HOME if empty.
JRE_HOME=/usr/lib/SunJava2-1.4.2/jre
#
# JAVA_OPTS (Optional) Java runtime options used when the "start",
# "stop", or "run" command is executed.
# Adjusts available memory for use with JAVA
JAVA_OPTS="-Xmx256M -Xss512k"
#
# JPDA_TRANSPORT (Optional) JPDA transport used when the "jpda start"
# command is executed. The default is "dt_socket".
#
# JPDA_ADDRESS (Optional) Java runtime options used when the "jpda start"
# command is executed. The default is 8000.
#
# JSSE_HOME (Optional) May point at your Java Secure Sockets Extension
# (JSSE) installation, whose JAR files will be added to the
# system class path used to start Tomcat.
#
# CATALINA_PID (Optional) Path of the file which should contains the pid
# of catalina startup java process, when start (fork) is used
#
# If you wish to further customize your tomcat environment, put your own definitions here
# (i.e. LD_LIBRARY_PATH for some jdbc drivers). Just do not forget to export them :)
#
LD_LIBRARY_PATH=/usr/lib
LD_LIBRARY_PATH=/opt/novell/iManager/lib:$LD_LIBRARY_PATH
LD_LIBRARY_PATH=/var/opt/novell/iManager/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
#
if [ -x $JAVA_HOME/jre/lib/i386/libjsig.so ]; then
export LD_PRELOAD=$JAVA_HOME/jre/lib/i386/libjsig.so
fi
#
# $Id: catalina.sh 394120 2006-04-14 15:25:07Z yoavs $
# -----------------------------------------------------------------------------
Two aspects about Catalina. You may or may not need to add the JAVA_OPTS
Xmx256M comment. The test server in use was near capacity on memory demands
and I found I needed to specifically allocate memory settings. You may or may
not have to do this depending on your hardware. You'll notice at the end
comments are added as well as an LD_LIBRARY_PATH export. This is
necessary for iManager to know where to pull resources when you attempt to
access it using your new Tomcat 5.5.17 setup. Note! If you do not add and
export you get the classic iManager error where you are presented with a login
screen but after authenticating it renders a blank screen.
server.xml
The server file looks more complicated than it actually is. It basically
configures Tomcat to listen on ports for requests and tells it how to handle
these requests. Items in bold need to be configured in
/usr/local/tomcat5/conf/server.xml. You will notice that I have changed
my connector port to 11009 (which is also reflected in
workers.properties). There are two reasons I modified the port would
connect on. First, Remote Manager redirects to port 8009. I didn't want a
conflict between applications. The second was I am experimenting with setting up
load balancing using two instances of Tomcat on one server. You can set your
connector to whatever desired non-conflicting port. <!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
<Connector port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true"/>
<!-- Note : To disable connection timeouts, set connectionTimeout value
to 0 -->
<!-- Note : To use gzip compression you could set the following properties :
compression="on"
compressionMinSize="2048"
noCompressionUserAgents="gozilla, traviata"
compressableMimeType="text/html,text/xml"
-->
<!-- Define a SSL HTTP/1.1 Connector on port 8443 -->
<Connector port="8443" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="11009"
enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
<!-- An Engine represents the entry point (within Catalina) that processes
every request. The Engine implementation for Tomcat stand alone
analyzes the HTTP headers included with the request, and passes them
on to the appropriate Host (virtual host). -->
<!-- You should set jvmRoute to support load-balancing via AJP ie :
<Engine name="Standalone" defaultHost="localhost" jvmRoute="ajp13">
-->
workers.properties
This file, although small, is essential for proper Tomcatting. A worker is
the actual go between for requests made to the web server for a servlet. When
Tomcat hears the request for an application it is the worker that handles the
execution of the servlet. If you remember from our Apache configuration we had
created the Jakarta module that included the location of
workers.properties. All that is needed is to create this file and save it
into /usr/local/apache2/conf/. #
# Tomcat 5.5.17 workers properties
#
# In Unix, we use forward slashes:
ps=/
# List the workers by name:
worker.list=ajp13
workers.tomcat_home=/usr/local/tomcat5
workers.java_home=/usr/lib/SunJava2-1.4.2
# Tomcat instance using ajpv13 protocol
worker.ajp13.port=11009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
tomcat_users.xml
This file is not necessary for the implementation of Apache 2.2.2 and Tomcat
5.5.17. Depending upon your security policies, whether you are an
uber-administrator or just curious, you may or may want to use it. This file
will set permission levels to access the Tomcat server management from <ip
address of server>:8080. If you chose to comment out the access in your
server.xml file then this file is moot. I included it in this article
because I used Tomcat's manager to monitor and test applications and my test
server was in a self-contained isolated lab network. You can customize it to
your needs and save it in /usr/local/tomcat/conf/. I added an
administrator account. If you do choose to use this file I highly suggest you
make sure that root owns the file and group as well as execute chmod 600
on the file as it stores passwords in clear text. <?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="role1" password="tomcat" roles="role1"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="admin" password="<insert your password>" roles="manager"/>
</tomcat-users>
There is only one more thing to modify. The goal when I started out was to
install the latest versions of Apache and Tomcat and integrate their use with
the current setup of our Novell OES (SUSE) server. It was not desired to have to
edit XML, HTML and other conf files to achieve a successful implementation.
Rather, I wanted to substitute the new install for the old and leave the rest of
the server setup alone. To accomplish this you will need to create soft links
inside your Tomcat 5 directory to point back to your existing webapps.
Do this by changing into the /usr/local/tomcat5/webapps and issue the
following commands: # ln -s /var/opt/novell/tomcat4/webapps/nps nps
# ln -s /var/opt/novell/tomcat4/webapps/vo vo
# ln -s /var/opt/novell/tomcat4/webapps/welcome welcome
Congratulations are again in order as you have just completed the
installation and configuration of Apache 2.2.2 and Tomcat 5.5.17! Now it is time
to test our work and see the results.
Testing
Start services
Since this is a default load of Novell OES SP2 Tomcat 4.1.31 and Apache
2.0.49 are installed with a start script in /etc/init.d/ that starts the
service upon a successful boot. If these are currently running stop them now by
executing: # /etc/init.d/novell-tomcat4 stop
# /etc/init.d/apache2 stop
Next it is time to start our new services for testing. Always start Tomcat
first. When you start Tomcat you will be presented with some dialogue, which is
presented below the command. Apache will return nothing if it was
successful. # /usr/local/tomcat5/bin/catalina.sh start
Using CATALINA_BASE: /usr/local/tomcat5
Using CATALINA_HOME: /usr/local/tomcat5
Using CATALINA_TMPDIR: /usr/local/tomcat5/temp
Using JRE_HOME: /usr/lib/SunJava2-1.4.2/jre
# /usr/local/apache2/bin/apachectl start
Apache 2.2.2
Open up a browser of choice and enter http://<ip address of
server>. You should be presented with the default Apache index page:
(Figure 1 - Apache default web page running)
Tomcat 5.5.17
Next let's check Tomcat by entering http://<ip address of
server>:8080. You should find yourself looking into the face of a tiger
that drank sour milk.
(Figure 2 - Tomcat 5.5.17 default web page running)
If you configured the tomcat_users.xml file you can click on "Tomcat
Manager" under the administration block and enter your username/password to
access the administrator's web page. See Figure 3 for a screenshot of the
backend.
(Figure 3 - Administration page of Tomcat 5.5.17)
Now that we have confirmed that both services are running we can check to see
if we are able to access Remote Manager, Welcome Page, iManager and Virtual
Office.
Remote Manager
To confirm we still have Remote Manager capability with our server enter
http://< ip address of server>:8008. It should redirect over to
https on port 8009 automatically and you will be presented with Figure 4.
(Figure 4 - Remote Manager login screen)
Log in and you will see Figure 5.
(Figure 5 - Remote Manager home page)
Welcome Page
Although the Welcome Page is not a necessity, since we set it up it is a good
test for the installs because it uses a mixture of java and html. Go ahead and
access the Welcome Page using your alias: http://<ip address of
server>/welcome (see Figure 6)
(Figure 6 - Welcome Page)
iManager
Access iManager via the alias redirect you built in nps-Apache.conf by
entering: http://<ip address of server>/nps. Depending upon your
server's process and memory it may take a second or two to call up, however your
browser should reveal a login screen (see Figure 7).
(Figure 7 - Novell iManager login portal)
To test if your library was exported correctly from catalina.sh, login
and reveal Figure 8.
(Figure 8 - Novell iManager main screen)
Virtual Office
Virtual Office access is very similar to iManager. Enter http://<ip
address of server>/vo in the address bar. You will be presented with the
login portal (Figure 9) and upon access with your credentials you will find
yourself on the home page (Figure 10).
(Figure 9 - Virtual Office login portal)
(Figure 10 - Virtual Office home page)
For those with eagle eyes you will see I have a message of "service
unavailable" on the home page of Virtual Office. It is referencing eGuide which
was not installed on my test server so that error was expected.
Post-Install and Afterthoughts
Congratulations?your server is now configured with a basic install of Apache
2.2.2 and Tomcat 5.5.17 utilizing Sun Java2 1.4.2!
If you intend to migrate your system to the new install of Apache and Tomcat
you should go ahead and modify the /etc/init.d scripts to no longer reference
and start the older Tomcat4 and Apache services. It is good practice to not just
delete the older services in case you find production applications that for one
reason or another are not supported by the latest and greatest install that you
just performed. Leave the older versions intact and in place until you are
satisfied that your system is stable. A good way to accomplish this is to use
chkconfig to turn off the older services in all runlevels and then add
your new ones to runlevel 3 and 5. No other major thoughts?hopefully this guide
is more of a help then a hindrance and your install went smoothly.
|