JBoss Web Setup
Introduction
This document introduces several ways to set up JBoss Web for running on different platforms. Please note that some advanced setup issues are not covered here: the full distribution (ZIP file or tarball) includes a file called RUNNING.txt which discusses these issues. We encourage you to refer to it if the information below does not answer some of your questions.
Windows
Installing JBoss Web on Windows can be done easily using the Windows installer. Its interface and functionality is similar to other wizard based installers, with only a few items of interest. NOT YET SUPPORTED in 3.0.x
- Installation as a service: JBoss Web will be installed as a Windows NT/2k/XP service no matter what setting is selected. Using the checkbox on the component page sets the service as "auto" startup, so that JBoss Web is automatically started when Windows starts. For optimal security, the service should be run as a separate user, with reduced permissions (see the Windows Services administration tool and its documentation).
- Java location: The installer will use the registry or the JAVA_HOME environment variable to determine the base path of a J2SE 5 JRE.
- Tray icon: When JBoss Web is run as a service, there will not be any tray icon present when JBoss Web is running. Note that when choosing to run JBoss Web at the end of installation, the tray icon will be used even if JBoss Web was installed as a service.
- Refer to the Windows Service HOW-TO for information on how to manage JBoss Web as Windows NT service.
The installer will create shortcuts allowing starting and configuring JBoss Web. It is important to note that the JBoss Web administration web application can only be used when JBoss Web is running.
Unix daemon
JBoss Web can be run as a daemon using the jsvc tool from the commons-daemon project. Source tarballs for jsvc are included with the JBoss Web binaries, and need to be compiled. Building jsvc requires a C ANSI compiler (such as GCC), GNU Autoconf, and a JDK.
Before running the script, the JAVA_HOME
environment
variable should be set to the base path of the JDK. Alternately, when
calling the ./configure
script, the path of the JDK may
be specified using the --with-java
parameter, such as
./configure --with-java=/usr/java
.
Using the following commands should result in a compiled jsvc binary,
located in the $CATALINA_HOME/bin
folder. This assumes
that GNU TAR is used, and that CATALINA_HOME
is an
environment variable pointing to the base path of the JBoss Web
installation.
Please note that you should use the GNU make (gmake) instead of the native BSD make on FreeBSD systems.
Download a commons-daemon binary from the Jakarta Commons download page,
and place jsvc.tar.gz and commons-daemon.jar in the
$CATALINA_HOME/bin
folder.
cd $CATALINA_HOME/bin tar xvfz jsvc.tar.gz cd jsvc-src autoconf ./configure make cp jsvc .. cd ..
JBoss Web can then be run as a daemon using the following commands.
cd $CATALINA_HOME ./bin/jsvc -cp ./bin/bootstrap.jar \ -outfile ./logs/catalina.out -errfile ./logs/catalina.err \ org.apache.catalina.startup.Bootstrap
jsvc has other useful parameters, such as -user
which
causes it to switch to another user after the daemon initialization is
complete. This allows, for example, running JBoss Web as a non privileged
user while still being able to use privileged ports.
jsvc --help
will return the full jsvc usage
information. In particular, the -debug
option is useful
to debug issues running jsvc.
The file $CATALINA_HOME/bin/jsvc/native/tomcat.sh
can be
used as a template for starting JBoss Web automatically at boot time from
/etc/init.d
. The file is currently setup for running
Tomcat 4.1.x, so it is necessary to edit it and change the classname
from BootstrapService
to Bootstrap
.
Note that the Commons-Daemon JAR file must be on your runtime classpath to run JBoss Web in this manner. The Commons-Daemon JAR file is in the Class-Path entry of the bootstrap.jar manifest, but if you get a ClassNotFoundException or a NoClassDefFoundError for a Commons-Daemon class, add the Commons-Daemon JAR to the -cp argument when launching jsvc.