HOW TO
Instructions provided describe install and test steps for Apache 1.3.12 Web server with JServ 1.1.2 and ArcIMS 3.0 on Solaris 2.7.
a. Check to see if these required packages exist:
# pkginfo SUNWarc
system SUNWarc Archive Libraries
# pkginfo SUNWbtool
system SUNWbtool CCS tools bundled with SunOS
# pkginfo SUNWi1of
system SUNWi1of ISO-8859-1 (Latin-1) Optional Fonts
# pkginfo SUNWsprot
system SUNWsprot Solaris Bundled Tools
If not, all of these packages are available on the Solaris OS
Media CDs.
b. Insert the Solaris 2.x Software CD and change directory to the
product directory on the CD:
# cd /cdrom/cdrom0/¡�/Product
To add the necessary package(s):
# pkgadd ¨Cd . SUNWsprot SUNWarc SUNWbtool SUNWi1of ¡�
c. Security & Recommended patches for Solaris [2.6/2.7]
To see what patches are loaded, type:
# showrev ¨Cp
Get patches and patch information at http://sunsolve.sun.com
NOTE: Install the Solaris Java 2 patches after installing JRE
and/or JDK.
d. See if a C-compiler (either Sun or GNU 2.8.1 or 2.95.2) exists on
the system:
# which cc
no cc in /usr/bin . /usr/sbin /bin
# which gcc
no gcc in /usr/bin . /usr/sbin /bin
# pkginfo | grep ¨Ci compiler
If there is no compiler, obtain a C-compiler and compiler
information:
¡ñ SUN compiler licensed product purchased from SUN Microsoft
¡ñ GNU ¡°gcc¡± compiler available from http://www.gnu.org
To Install C-compiler, if necessary:
1. Expand .tar file of source code into working directory
# tar xvf /source/gcc-2.95.2-sol7-sparc-local.tar
2. Add SMCgcc package (as root).
(pkgadd installs binaries into /usr/local/bin and other locations)
# pkgadd -d gcc-2.95.2-sol7-sparc-local
3. Add /usr/local/bin to the path, making sure that /usr/local/bin
is before /usr/ccs/bin (if it exists in the path).
# PATH=/usr/local/bin:$PATH;export PATH
e. Install GNU Make utility [required]. See if the GNU Make
utility is on the system:
# which make
# ls /usr/local/bin/make
The GNU Make utility is available from http://www.gnu.org.
To install the Make utility:
1. Expand the GNU make-3.79.tar file:
# tar xvf /source/make-3.79.tar
x make-3.79, 0 bytes, 0 tape blocks
x make-3.79/Makefile.in, 25784
bytes, 51 tape blocks
....
2. Change into the make-3.79 directory and read the INSTALL document.
It is important to run the following commands: Create the Makefile
It is important to do this using the gcc compiler located at:
/usr/local/bin/gcc (from C-compiler previously described).
Also, make sure the /usr/ccs/bin is in the path, and after
/usr/local/bin).
A Make utility is necessary. To make the
GNU Make utility, use the Solaris /usr/ccs/bin/make.
However, later, when the Apache software is compiled, the GNU Make
utility needs to be used. Once the GNU Make utility is created
and installed, the path causes all subsequent Make(s) to use
the /usr/local/bin/make (GNU make). This should be noted.
# ./configure
3. "make" the GNU make file
# ./make
4. Install the GNU Make command
# ./make install
By default, Make and its associated files are installed under
/usr/local.
a. Install either JDK or JRE:
¡ñ Java Development Kit 1.2 (JDK1.2.2_05 or JDK1.2.2_05a)
Install JDK from http://www.javasoft.com/products/jdk/1.2.
Expand the .tar file to a logical destination directory (e.g.,
/usr/local, or /opt). The notes explain that JAVA_HOME environment
variable needs to be set to the JRE destination directory so that
this can be utilized.
# cd /usr/local
# tar xvf /source/jdk1.2.tar
¡ñ Java Runtime Environment 1.2 (JRE 1.2.2_05 or JRE 1.2.2_05a)
Install JRE by executing the Solaris_JRE_1.2.2_05_sparc.bin
script on the ArcIMS CD:
# ./cdrom/cdrom0/Solaris_JRE_1.2.2_05_sparc.bin
b. Java Required patches for Solaris [2.6/2.7]
To see what patches are loaded:
# showrev ¨Cp
Get patches and patch information for Java at http://java.sun.com.
a. Add Solaris user (as root) with admintool or with the following command:
# groupadd ¨Cg <gid> group
# useradd -u <uid> -g <gid> -d <directory> -m -s /bin/csh user
For example:
# groupadd ¨Cg 200 apache
# useradd ¨Cu 222 ¨Cg apache ¨Cd /opt/apache_1.3.12 ¨Cm ¨Cs /bin/csh apache
b. Create login and shell scripts for account. (If useradd is used, local.* scripts
is placed in new home directory; otherwise these default
files can be copied from /etc/skel).
# su ¨C apache
% mv local.cshrc .cshrc
% mv local.login .login
c. Add environment variables to .cshrc file (use textedit or vi).
setenv APPHOST `/usr/bin/uname ¨Cn`
setenv JDK_DIR /usr/local/jdk1.2
setenv JRE_DIR /usr/local/Solais_JRE_1.2.2_05
setenv JAVA_HOME /usr/local/jdk1.2
setenv APACHEHOME /usr/local/apache_1.3.12
setenv LD_LIBRARY_PATH /usr/lib:/lib:$JAVA_HOME/lib
set path = ( $JAVA_HOME/bin /usr/local/bin $path /usr/ccs/bin \ /opt/netscape_4.7
$APACHEHOME/bin )
set prompt = ¡°`/bin/logname`% ¡°
a. To see if Apache is loaded and running, type:
# ps ¨Cef | grep httpd
Get Apache and Apache information at http://www.apache.org.
b. Install Apache. Log in or switch user to the Apache account.
% su ¨C apache
apache% cd /source
apache% zcat apache_1.3.12.tar.Z | tar xvf -
apache% cd apache_1.3.12
apache%./configure --prefix=/usr/local/apache_1.3.12
c. Verify that the correct Make is being used. If so, compile and
install Apache.
apache% which make
/usr/local/bin/make
apache% make
apache% make install
This install of Apache is to create configure files and
create the Apache directory structure. JSDK and ApacheJServ are installed inside of the Apache source code directory and
Apache is compiled again in a later step.
d. JSDK 2.0 is required for Apache JServ 1.1 and greater.
e. Expand .tar file inside Apache install directory.
apache% cd $APACHEHOME
apache% zcat /source/jsdk20-solaris2-sparc.tar.Z | tar xvf -
Information on JSDK is available from:
http://java.sun.com/products/servlet/download.html.
f. Expand .tar file inside Apache install directory.
apache% cd $APACHEHOME
apache% zcat /source/jdk1.2.tar.Z | tar xvf -
Information on JDK is available from http://java.sun.com.
g. For those sites that have an existing Apache installation, see
if ApacheJServ is currently loaded and compiled into Apache. This
allows users to see if a new compile of Apache including ApacheJServ
is required):
apache% cd $APACHEHOME/bin
apache% ./httpd ¨Cl
Look for the ¡°mod_jserv.c¡± module. If loaded, test the ApacheJServ
installation:
http://localhost/servlets/<test_servlet>
To install Apache Jserv
1. Expand .tar file inside working directory.
apache% cd /source
apache% zcat ApacheJServ-1.1.tar.Z | tar xvf -
apache% cd ApacheJServ-1.1.2
2. Create a configure-options file containing the following lines:
--prefix=/usr/local/apache_1.3.12/jserv-1.1.2
--with-apache-src=/source/apache_1.3.12
--with-jdk-home=/usr/local/apache_1.3.12/jdk1.2
--with-JSDK=/usr/local/apache_1.3.12/JSDK2.0/lib/jsdk.jar
--disable-debugging
3. Create the Makefile with configure and Make and install
the ApacheJServ.
apache%./configure
¡�
apache% make
¡�
apache% make install
¡�
4. Customize the Apache configuration files:
apache%
apache% cd $APACHEHOME/conf
apache% vi httpd.conf
Find Replace
Port 8080 Port 80
User nobody User apache
Group nobody Group apache
#ServerName {hostname} ServerName <hostname>
DirectoryIndex index.html DirectoryIndex index.html default.htm
Add
#
# JServ-1.1.2 support
#
Include /usr/local/apache_1.3.12/jserv-1.1.2/etc/jserv.conf
Recompile Apache which now has imbedded ApacheJServ source
code. The ¡°make¡± and ¡°make install¡± process updates the Apache
configuration.
apache% cd /source/apache_1.3.12
apache% make
¡�
apache% make install
¡�
Get ApacheJServ-1.1.2 and ApacheJServ information at
http://www.apache.org.
a. Start Apache WebServer. Start Apache with root since the default port is set to 80.
apache% cd
apache% su root
Password: *******
# cd bin
# ./apachectl start
If the error "httpd: cannot determine local host name" is received,
use ¡°ServerName¡± directive in $APACHEHOME/conf/httpd.conf file to set
this. More information can be found in that file.
b. To test Apache Web Server, start Netscape Navigator and type the
following URL: http://<hostname>/
The Apache Start Page should be visible. If not, make sure the Apache
daemon is running:
% ps ¨Cef | grep httpd
If the daemon is running, access the following URL:
http://<hostname>/index.html
c. If Apache seems to be working properly, test Jserv:
http://<hostname>/servlets/IsItWorking
If IsItWorking is not present, run any servlet in
<jserv_install_dir>/servlets. Once Apache and Jserv are working
properly, stop the Apache service.
# $AIMSHOME/bin/apachectl stop
a. Add Solaris user (as root) with admintool or with the following
command:
# groupadd ¨Cg <gid> group
# useradd -u <uid> -g <gid> -d <directory> -m -s /bin/csh user
For example (arcims user in esri group):
# groupadd ¨Cg 200 esri
# useradd ¨Cu 222 ¨Cg esri ¨Cd /opt/esri/aims30exe ¨Cm ¨Cs /bin/csh arcims
b. Create login and shell scripts for the account. (If using useradd,
local.* scripts is placed in new home directory, otherwise
these default files can be copied from /etc/skel.)
# su ¨C esri
% mv local.cshrc .cshrc
% mv local.login .login
c. Add environment variables to .cshrc file (use textedit, vi, or
emacs):
setenv AIMSBASE /disk1/arcims
setenv AIMSHOME /opt/esri/aims30exe
setenv AIMSWEB $AIMSBASE/Website
set path = ( $JAVA_HOME/bin $path $AIMSHOME/bin /opt/netscape_4.7 )
set LD_LIBRARY_PATH \ /usr/lib:/lib:$JAVA_HOME/lib:$AIMSHOME/
bin:$AIMSHOME/lib
To set up ArcExplorer variables:
setenv AEJHOME /opt/esri/aej30exe
set path=($AEJHOME/bin $path)
d. Make ArcIMS working directories:
% mkdir ¨Cp $AIMSBASE/Website $AIMSBASE/Axl $AIMSBASE/Output
e. Install ArcIMS:
1. Load the ArcIMS CDROM and run install script:
/cdrom/cdrom0/ArcIMS3.0/install ¨Cload
2. At the Enter CD-ROM mount point: [/cdrom/cdrom0/Solaris/ArcIMS3.0]
prompt, type the location and press <Return>.
3. At the Enter pathname to install directory: prompt, type the path
to where the ArcIMS is to be installed on the system. The ArcIMS
version and date display.
4. At the ArcIMS Application Server and Connectors Package numbers
to load: [none] prompt, type ¡°?¡± to display a list of available
packages. Type the numbers of the packages to be installed,
type ¡°all¡± to load all packages, or press <Return> to accept
the default and load no packages.
NOTE: For ArcIMS to function, it is necessary to install the Application
Server and at least one connector.
5. At the ArcIMS Manager Applications Package numbers to load: [all]
prompt, press <Return> to accept the default and install
all packages.
6. At the ArcIMS Spatial Server Software Package numbers to
load: [all] prompt, press <Return> to accept the default and
install all packages.
7. At the ArcIMS Sample Applications and Data Package numbers to
load: [none] prompt, type ¡°?¡± to display a list of available
packages. Type the numbers of the packages to be installed,
type ¡°all¡± to load all packages, or press <Return> to accept
the default and load no packages. The Package selection complete
message and a list of the packages chosen to install display.
8. At the Is this correct? [yes] prompt, press <Return> to
accept the default and install ArcIMS. The size of the
selected packages and available space displays.
a. Make directories
% mkdir ¨Cp $AIMSBASE/Website $AIMSBASE/Axl $AIMSBASE/Output
b. Customize Apache configuration files:
% su ¨C apache
% vi $APACHEHOME/conf/httpd.conf
Add:
#
# ArcIMS mount points
#
Alias /output {AIMSBASE}/Output
<Directory "{AIMSBASE}/Output">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Alias /website {AIMSBASE}/Website
<Directory "{AIMSBASE}/Website">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Alias /Manager {AIMSHOME}/Manager
<Directory "{AIMSHOME}/Manager">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
c. Other modifications:
% cd $APACHEHOME/jserv-1.1.2/etc
% cp zone.properties esrimap.properties
% vi esrimap.properties
Find repositories=... and replace it with
repositories={AIMSHOME}/Middleware/Servlet_Connector
% vi jserv.properties
Find wrapper.classpath={APACHEHOME}/jserv-1.1/libexec/ApacheJServ.jar
wrapper.classpath={APACHEHOME}/JSDK2.0/lib/jsdk.jar
and add:
wrapper.classpath={AIMSHOME}/Middleware/Servlet_Connector wrapper.classpath={APACHEHOME}/JSDK2.0/examples
Find zones=root and replace with zones=root,esrimap
Find root.properties={APACHE_INSTALL_DIR}/jserv-1.1/etc/zone.properties
and add:
esrimap.properties={APACHE_INSTALL_DIR}/jserv-1.1/etc/esrimap.properties
% vi $APACHEHOME/jserv-1.1.2/etc/jserv.conf
Find ApJServMount /servlet /root and replace with ApJServMount /servlet /esrimap
% su ¨C arcims
Password: *****
% vi ./Middleware/Servlet_Connector/Esrimap_prop
Find AppServer=APPSMACHINE and replace with AppServer={APPHOST}
% cd Xenv
% vi aimsdefaults.properties
Find WorkingDir= and replace with WorkingDir={AIMS_BASE}/Axl
% vi aimsappsrvr
Find
AIMSHOME=/<path_to_install_dir>/aims30exe; export AIMSHOME
APP_SRVR_LOGFILE=$AIMSHOME/log/app_srvr.log;export APP_SRVR_LOGFILE
JAVA_HOME=<path_to)install_dir>; export JAVA_HOME
and replace with
AIMSHOME=/opt/esri/aims30exe; export AIMSHOME
APP_SRVR_LOGFILE=$AIMSHOME/log/app_srvr.log;export APP_SRVR_LOGFILE
JAVA_HOME=/usr/local/jdk1.2; export JAVA_HOME
% vi aimstasker
Find
AIMSHOME=/<path_to_install_dir>/aims30exe; export AIMSHOME
APP_SRVR_LOGFILE=$AIMSHOME/log/app_srvr.log;export APP_SRVR_LOGFILE
JAVA_HOME=<path_to)install_dir>; export JAVA_HOME
and replace with
AIMSHOME=c; export AIMSHOME
APP_SRVR_LOGFILE=$AIMSHOME/log/app_srvr.log;export APP_SRVR_LOGFILE
JAVA_HOME=/usr/local/jdk1.2; export JAVA_HOME
DEBUG=DEBUG
Find
$JAVA_HOME/bin/java -cp $AIMSHOME/Middleware/Tasker com.esri.mtier.ImsScavenger DEBUG > $TASKER_LOGFILE 2>&1 &
and replace with
$JAVA_HOME/bin/java -cp $AIMSHOME/Middleware/Tasker com.esri.mtier.ImsScavenger $DEBUG > $TASKER_LOGFILE 2>&1 &
% vi aimsmonitor
Find
AIMSHOME=/path_to_install_directory/aims30exe; export AIMSHOME
MONITOR_LOGFILE=$AIMSHOME/log/monitor.log; export MONITOR_LOGFILE
AIMSAPPSERVER={APPHOST}; export AIMSAPPSERVER
JAVA_HOME=/path_to_install_directory; export JAVA_HOME
LD_LIBRARY_PATH=$AIMSHOME/lib:$AIMSHOME/bin; export LD_LIBRARY_PATH
and replace with
AIMSHOME=/opt/esri/aims30exe; export AIMSHOME MONITOR_LOGFILE=$AIMSHOME/log/monitor.log; export MONITOR_LOGFILE
AIMSAPPSERVER=`/usr/bin/uname ¨Cn`; export AIMSAPPSERVER JAVA_HOME=/usr/local/jdk1.2; export JAVA_HOME
LD_LIBRARY_PATH=$AIMSHOME/lib:$AIMSHOME/bin; export LD_LIBRARY_PATH
DEBUG=DEBUG
Find
$JAVA_HOME/bin/java -cp $AIMSHOME/Monitor com.esri.mtier.ImsMonitor $AIMSAPPSERVER 5353 $AIMSHOME/bin DEBUG > $MONITOR_LOGFILE 2>&1 &
and replace with
$JAVA_HOME/bin/java -cp $AIMSHOME/Monitor com.esri.mtier.ImsMonitor $AIMSAPPSERVER 5353 $AIMSHOME/bin $DEBUG > $MONITOR_LOGFILE 2>&1 &
NOTE: Once the ArcIMS installation is validated, change
the "DEBUG=DEBUG" lines to "DEBUG="
d. Square away all of the ownership and permissions (as root).
# /usr/ucb/chown ¨CR arcims.arcims /opt/esri/aims30exe
# chmod ¨CR +w /opt/esri/aims30exe/log
At this point it is possible to start the ArcIMS daemons and restart Apache:
# su
# cd /usr/local/apache_1.3.12/bin
# apachectl start
# su ¨C arcims
# $AIMSHOME/Xenv/aimstasker start
# $AIMSHOME/Xenv/aimsmonitor start
# $AIMSHOME/Xenv/aimsappsrvr start
To set these services up to start at boot time, follow the
instructions at the beginning of each file. For instance, use
a text editor to open aimstasker and follow the instructions in
the comments section of that script. The user copies
the three scripts to /etc/init.d directory and creates
symbolic links to them in /etc/rc3.d directory with a
prefix of S<filename>.
Get help from ArcGIS experts
Download the Esri Support App