AIX 5.3 环境下搭建ArcIMS92+Apache2.0.63+Tomcat5.5.25全工略


前言


在Windows下配置ArcIMS91、92都非常简单,一般从网上下载Apache2.0.*、Tomcat5.5.25、JDK1.5就可以非常顺利的安装成功,不会遇到什么问题。


但是在AIX环境下,因为初次使用该操作系统,虽然熟悉些Linux命令,但是毕竟这两种环境还是存在很多的不同。


因为项目需要,不得不在AIX环境下安装ArcIMS92,在全部安装成功前,走了很多的弯路,也解决了很多的问题,在此做一下总结,希望对各位能有所帮助。


 


JDK1.5 的安装


在AIX环境下已经安装了,一般目录为 /usr/java5,在此不多涉及,一般通过网上的方法就能安装成功。


在Linux下,可以参考以下方式: 

 
# chmod u+x ./j2sdk-1_4_2_04-linux-i586.bin
 
# ./j2sdk-1_4_2_04-linux-i586.bin
 
在按提示输入 
 yes 
 后, 
 jdk 
 被解压到 
 ./j2sdk1.5.2_04 
 目录下。为与下面 
 2 
 中 
 JDK 
 安装路径一致,我们进行下列操作 
 , 
 在 
 /usr/java5 
 下建立安装路径,并将文件考到该路径下:
 
# mkdir /usr/java5
 
# cp -fr ./j2sdk1.4.2_04 /usr/java5
 
 
 修改所有用户的环境变量 

 
# vi /etc/profile
 
在该文件最后加入 
 :
 
export JAVA_HOME=/usr/java5
 
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib 
 
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOMR/bin
 
 
 一定要在 
 CLASSPATH 
 路径中加入 
 $CLASSPATH: 

 

    

 
 
 Tomcat5.5.25 
 的安装 

 
#gzip –d apache-tomcat-5.5.25.tar.gz
 
#tar –xvf apache-tomcat-5.5.25.tar
 
#mv apache-tomcat-5.5.25 tomcat55
 
 
 设置路径: 

 
#vi /etc/profile
 
在该文件的最后加入:
 
export TOMCAT_HOME=/usr/ tomcat5
 
退出后执行
 
#./etc/profile
 
或者退出重新登录使环境变量生效
 
 
 修改 
 Tomcat 
 管理员密码 

 
然后在 
 $TOMCAT_HOME/conf/tomcat-users.xml 
 修改成如下形式:
 
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager"/>
<role rolename="admin"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="role1" password="tomcat" roles="role1"/>
<user username="admin" password="admin" roles="admin,manager"/>
</tomcat-users> 
这样在启动 
 Tomcat 
 是,就可以在首页的 
 Tomcat Manager 
 中用 
 admin/admin 
 登录,查看各发布程序的状态了。
 
 
 到此为止,如果在 
 Linux 
 下, 
 Tomcat 
 的安装就算大功告成了,但是在 
 AIX5.3 
 下却不是这样,错误出在 
 Tomcat 
 不能解析 
 Servlet 
 ,最简单的就是自身带的 
 Servlets-examples 
 不能运行。需要将几个包考到 
 Tomcat/common/lib 
 下。 

 
进入 
 Tomcat 
 的 
 webapps/jsp-examples/WEB-INF/classes 
 ,将下列文件打包:
 
#jar cvf compressionFilters.jar compressionFilters
 
#jar cvf filters.jar filters
 
然后将这两个 
 jar 
 拷贝到 
 Tomcat/common/lib 
 。
 
再重启 
 tomcat 
 就可以了。
 
 
 另外,还可以在这里修改 
 tomcat 
 的虚拟内存: 

 
$TOMCAT_HOME/bin/catalina.sh 
 的前面,增加如下设置:
 
   
 JAVA_OPTS='-Xms 
 【初始化内存大小】 
  -Xmx 
 【可以使用的最大内存】 
 '
 
  需要把这个两个参数值调大。例如:
 
   
 JAVA_OPTS='-Xms256m -Xmx512m'
 
  表示初始化内存为 
 256MB 
 ,可以使用的最大内存为 
 512MB 
 。
 
 
 Apache2.0.63 
 的安装 

 
Apache 
 的安装不算麻烦,一般装完就能用,但是最为复杂的是与 
 tomcat 
 的 
 jk 
 安装,从网上找了很多很多的资料,但是基本没有找到能配置成功的。最后,又看了 
 apache 
 的介绍文档,终于找到了解决办法:
 
 
 在 
 AIX 
 下一般没有 
 Linux 
 的编译工具,需要自己安装: 

 
 
 gcc g++ for aix5.3 install guide 

 
1 bos.adt fileset is required
 check:   lslpp -l| grep bos.adt
 if there is nothing output, install bos.adt( it's in first install cd, installp/ppc/bos.adt ),use command "smit install_latest" to install.
2 download and install rpms from http://www-03.ibm.com/servers/aix/products/aixos/linux/download.html install rpm, you jutst need type: rpm -ivh *.rpm (the rpms you want install)
 you may reuire these: 
autoconf213-2.13-1.aix5.1.noarch.rpm
 
autoconf-2.59-1.aix5.1.noarch.rpm
 
automake-1.8.5-1.aix5.1.noarch.rpm
 
gcc-4.0.0-1.aix5.3.ppc.rpm
 
gcc-cplusplus-4.0.0-1.aix5.3.ppc.rpm
 
gdb-6.0-1.aix5.1.ppc.rpm
 
indent-2.2.7-2.aix4.3.ppc.rpm
 
libgcc-4.0.0-1.aix5.3.ppc.rpm
 
libstdcplusplus-4.0.0-1.aix5.3.ppc.rpm
 
libstdcplusplus-devel-4.0.0-1.aix5.3.ppc.rpm
 
libtool-1.5.8-2.aix5.1.ppc.rpm
 
m4-1.4.1-1.aix5.1.ppc.rpm
 
make-3.80-1.aix5.1.ppc.rpm
 
vim-common-6.3-1.aix5.1.ppc.rpm
 
vim-enhanced-6.3-1.aix5.1.ppc.rpm
 
vim-minimal-6.3-1.aix5.1.ppc.rpm
 
 
 Apache 
 的安装: 

 
#gzip –d httpd-2.0.63.tar.gz
 
#tar -zxvf httpd-2.0.63.tar 
 
#mv httpd-2.0.59 apache
 
#cd apache
 
# 
 配置 
 (prefix 
 是安装路径 
 ,enable-mods-shared=all 
 表示编译配置所有 
 so 
 文件 
 )
 
#./configure --prefix=/usr/local/apache --enable-mods-shared=all
 
 
 (/usr/local/apache 
 为安装目录 
 ) 

 
#make
 
#make install
 
 
 配置 
 httpd.conf 

 
vi /usr/local/apache/conf/httpd.conf
 
ServerName  
 配置为 
  127.0.0.1,服务器IP 
 或域名
 
DirectoryIndex  
 中添加 
 index.htm index.jsp default.htm default.html
 
Group nobody  
 必须要改,否则 
 apache 
 不能启动
 
#cd /usr/local/apache/bin
 
#./apachectl start
 
 
 Mod_jk 
 的安装: 

 
A.  
 在此下载编译好的 
 mod_jk.so(AIX) 
 ;
 
B. If the connector file has a different name than 'mod_jk.so', then rename it to 'mod_jk.so'. For example, if the connector file is named 'mod_jk-1.x.xx-apache-2.x.xx-solaris-sparc.so'. To rename it, type the following command:
 
#mv mod_jk-1.x.xx-apache-2.x.xx-solaris-sparc.so mod_jk.so
 
C. Copy the mod-jk.so file to the $APACHE_HOME/modules directory and grant it executable permissions.
 
#cp mod_jk.so $APACHE_HOME/modules
 
#cd $APACHE_HOME/modules
 
#chmod 755 mod_jk.so
 
D.  
 workers.properties file
 
# Define 1 real worker using ajp13
 
worker.list=worker1 
 
#
 
# ESRI IMS 9.2 Properties
 
#
 
worker.tomcat_home=/usr/tomcat55
 
worker.java_home=/usr/java5
 
worker.ajp13.host=localhost
 
#
 
# Set properties for worker1 (ajp13) 
 
#
 
worker.worker1.type=ajp13 
 
worker.worker1.host=localhost
 
worker.worker1.port=8009
 
worker.worker1.lbfactor=50
 
worker.worker1.cachesize=10
 
worker.worker1.cache_timeout=600
 
worker.worker1.socket_keepalive=1
 
worker.worker1.reclycle_timeout=300
 
E.  
 修改上面的: 
 worker.tomcat_home worker.java_home
 
F. Copy the workers.properties file to the $APACHE_HOME/conf directory. 
 
#cp workers.properties $APACHE_HOME/conf
 
G. Navigate to $APACHE_HOME/conf and open httpd.conf with a text editor. Add the following lines to the bottom of the httpd.conf file and save. 
Set JkWorkersFile to the location of the workers.properties file. In our example, it would be: 
JkWorkersFile /usr/local/apache/conf/workers.properties
 
Set JkLogFile to the the location of the mod_jk.log file. For example:
 
JkLogFile /usr/local/apache2058/logs/mod_jk.log
 
Set JkLogLevel, for example:
 
JkLogLevel info
 
The following lines will add the mapping for servlets-examples to test the communication between Apache and Tomcat:
 
JkMount /servlets-examples worker1
 
JKMount /servlets-examples/* worker1
 
d. While editing httpd.conf file, include these lines at the bottom of the file for the ArcIMS web applications:
 
JkMount /servlet worker1
 
JKMount /servlet/* worker1
 
JKMount /esriadmin worker1
 
JKMount /esriadmin/* worker1
 
JKMount /metadataexplorer worker1
 
JKMount /metadataexplorer/* worker1
 
JKMount /wmsconnector worker1
 
JKMount /wmsconnector/* worker1
 
JKMount /wfsconnector worker1
 
JKMount /wfsconnector/* worker1
 
JKMount /aimscsw worker1
 
JKMount /aimscsw/* worker1
 
JKMount /aimsharvester worker1
 
JKMount /aimsharvester/* worker1
 
JKMount /jspsamples worker1
 
JKMount /jspsamples/* worker1
 
JKMount /jspviewer worker1
 
JKMount /jspviewer/* worker1
 
H. Please follow the instructions below to enable Apache Web Server to communicate with Tomcat. 
 
a. Edit the $APACHE_HOME/conf/httpd.conf file. 
 
b. Find the last LoadModule statement and add the following line:
 
LoadModule jk_module modules/mod_jk.so
 
c. Start Tomcat and the Apache Web Server as follows:
 
$CATALINA_HOME/bin/startup.sh
 
$APACHE_HOME/bin/apachectl start
 
I. Verify that the Apache Web Server and Tomcat are communicating. Open a Web browser and navigate to the following URL: 
 
http://<server_name>/servlets-examples/servlet/HelloWorldExample
 
If a response containing "Hello World" is returned, Apache and tomcat are communicating as expected.
 
 
 ArcIMS92 
 的安装 

 
新建 
 arcims 
 用户,用来安装 
 ArcIMS92 
 ;
 
建立安装目录:
 
# cd /opt                                                -- 
 创建安装目标目录
 
# mkdir arcims
 
# chown arcims arcims/                                  -- 
 改变目录的所有者,使创建的用户具有该目录完全
 
安装 
 ArcIMS92 
 :
 
(因为地图中的图层信息含有中文,所以需要对 
 AIX 
 安装中文环境,并对 
 java 
 添加中文字体,如宋体)
 
1)          
 用新建立的用户 
 arcims 
 进入图形界面;
 
2)          
 进入 
 ArcIMS 
 的安装文件夹,运行 
  $./SetupArcIMS
 
3)          
 根据选项选择,一步一步安装,比较简单,一般都能成功;
 
4)          
 安装 
 PostInstall 
 ,需要注意, 
 选择 
  'I will manually configure my Web server / servlet engine'  
 手动配置 
 webserver 
 和 
 servlet engine.
 
(如果需要重新进行 
  Post Install,  
 可以执行 
 ./usr/arcims/tools/SetupArcIMS_PostInstall  
 脚本文件 
  $ ./SetupArcIMS_PostInstall 
 )
 
5)          
 验证系统变量配置
 
ArcIMS   
 配置中将 
  $JAVA_HOME  
 指向了 
 ArcIMS 
 自带的 
 jre 
 安装目录 
 , 
 此时应该手工修改过来 
 . 
      
 编辑 
  .profile   
 将下面两行注释或删除 
      #JAVA_HOME=/opt/arcgis/arcims/jre
 
      #export JAVA_HOME
 
      
 重新加载系统变量
 
    $ . /.bash_profile
 
6)          
 部署 
 ArcIMS servlet  
 连接器
 
a)          
 运行下面命令:
 
$ cd /opt/arcgis/arcims/Middleware/servlet_connector/
$ cp arcimsservletconnector.war servlet.war
$ mkdir build
$ cd build/
$ jar -xvf ../servlet.war       # 
 解包 
 
$ cd WEB-INF/classes
$ vi Esrimap_prop  
b)          
 修改 
  Esrimap_prop 
 文件
 
将 
 appServerMachine=mymachine  
 修改为 
  appServerMachine={serverhost-name} 
{serverhost-name} 
 为实际的服务器名 
 . 
c)          
 回到命令行 
 , 
 执行以下命令 
 : 
 
[arcims@yxgt-ims classes]$ cd ..
  [arcims@yxgt-ims WEB-INF]$ cd ..
  [arcims@yxgt-ims build]$ jar cvf servlet.war *            # 
 重新打包,解压后 
 war 
 文件好像删除了,此处出错 
$ mv servlet.war /usr/tomcat55/webapps/servlet.war        # 
 部署到 
 Tomcat 
 下
 
d)          
 重启 
 Tomcat
 
./shutdown.sh
 
./startup.sh
 
7)          
 测试 
 ArcIMS 
 是否安装成功
 
在 
 root 
 下启动 
 apache 
 、 
 tomcat
 
以 
 arcims 
 的身份登录到系统的图形界面,然后在命令窗口中输入:
 
一般需要先配置几个变量:
 
$export AIMSHOME=/usr/local/arcims/arcgis/arcims
 
$export JAVA_HOME=/usr/java5
 
$export LIBPATH=” 
 具体内容参考 
  /home/arcims/.profile  
 中的内容 
 ”
 
进入 
 arcims 
 目录中:
 
为减少出错几率,可以重启服务:
 
$cd Xenv
 
$./aims_shutdown
 
$./aims_bootup
 
$./aimsappsrvr start
 
$cd ../Xenv
 
$./manage_arcims


选择 3 ,再选择 2 ,进入 administrator 管理界面


一般可以成功,输入用户名、密码,然后就可以新建服务了。


如果出现没有虚拟主机的问题,可以重新 PostInstall 一次,记得中间有个选择是否安装 ArcIMS administrator 管理的一个界面,这里一定要选 yes ,否则会出问题。


如果上面选择系统自动配置 Apache + Tomcat ,我试了很多遍,都失败了,有错误。但是用 Apache+ServletExec 倒是可以成功。


另外,发布的地图文件,可以将 windows 下的地图文件和 axl 拷贝到 arcims 的 AXL 下继续使用,需要注意的就是,要通过 ultraEdit 编辑一下 AXL ,选择 UNIX 输出,及 UTF8 编码。


通过以上一系列的配置,就可以成功启动地图服务程序了。