Tomcat5.0.28下AXIS完全安装手册

[不指定 2005/09/29 22:56 | by ipaddr ]
Tomcat5.0.28下AXIS完全安装手册

IPADDR(漂,一直漂,BCOMCN,ASPBIZ 马甲可真多)原创,转载请注明.

网上有一些AXIS的安装文档,不是很详细,而且,我按网上的资料安装得不是很成功,老是报错,可能是因为使用了较新版本的Tomcat,AXIS.

经过多番努力,终于配置成功,把安装过程和心得和大家分享一下.

一.简介
什么是SOAP?SOAP是一个应用程序间的基于XML的通信工具和规范.SOAP最初由MicroSoft和Userland公司开发,已经演化了好几个版本,当前的版本SOAP1.1正飞速发展.W3C的XML协议工作组正努力把它发展为一个真正的开发的标准.SOAP1.2草案已经发布,它能澄清1.1版规范的容易混淆的地方.

什么是Axis?Axis总体上是一个SOAP引擎,但又不仅仅是个引擎,它还:1)是一个简单的独立的服务器2)是一个可插入到servlet引擎(如Tomcat)中的服务3)可扩展的支持WSDL4)能根据WSDL产生JAVA文件/类5)包括一些例子程序6)包括一个可以监控TCP/IP包的工具

Axis起源于IBM的SOAP4J,是Apache SOAP的第三代产品,相对于以前的版本,它有如下特性:1)快速,它使用了基于事件的SAX解析机制.2)灵活,用户可以灵活定制扩展.3)稳定,接口将会变动很小.4)基于组件开发.5)支持WSDL1.1

二.准备
1.安装Tomcat5.0.28,这是当前稳定版本.Tomcat运行在80端口.访问http://localhost/检查Tomcat是否安装成功.
(Tomcat+Apache+Mysql的整合安装,详见另外一篇.)
2.下载AXIS:
官方站点:http://xml.apache.org/axis/index.html
下载软件:axis-bin-1_2_1.tar.gz
3.下载相关包:
a.mail.jar 下载地址:http://java.sun.com/products/javamail
b.activation.jar 下载地址:http://java.sun.com/products/javabeans/glasgow/jaf.html
c.xerces.jar 下载地址:http://xml.apache.org/xerces-j/index.html
d.xmlsec-1.2.1.jar 下载地址:http://xml.apache.org/security/

三.安装
1.将四个相关包,全部拷到<CATALINA_HOME>/common/lib目录(Tomcat安装目录下的common/lib)下
2.解压axis-bin-1_2_1.tar.gz,将压缩包里的webapps/axis拷到网站根目录下(如果Tomcat是默认配置,那就是<CATALINA_HOME>/webapps/ROOT目录).
3.
修改Tomcat的配置文件server.xml(<CATALINA_HOME>/conf/server.conf)
在</Host>前加入:
<Context path="/axis" docBase="C:\Program Files\Apache Software Foundation\Tomcat\webapps\ROOT\axis" debug="0" reloadable="true" > </Context>
(docBase里是你的实际axis存放的目录)
注意,此步至关重要,AXIS的安装文档中没有提到此步,导致很多人安装不成功.
如果没有此步,访问http://localhost/axis时,提示如下错误:
Can't find bundle for base name i18n, locale en_US(zh_CN)
表面是上看i18n国际化的问题,但既使i18n.properties,i18n_zh_cn.properties存在,也无法找到.
网上很多朋友安装到此,无法继续下去,我也找了很多资料,都没有解决.后来查看Tomcat的文档,猜测是Tomcat配置的问题,经测试,终于成功.
可能Tomcat的前期版本,不需此设置.没有测试过.
另外,也可以将axis/WEB-INF/classes/*,axis/WEB-INF/lib/*的所有文件,拷到<CATALINA_HOME>/common/lib/这个方法比较麻烦.
注:AXIS客户端,需要拷贝axis/WEB-INF/lib/*到<CATALINA_HOME>/common/lib/

四.测试
重新启动Tomcat.
1.访问:http://localhost/axis
点击:Validation - Validate the local installation's configuration测试是否有错.
2.
写个小程序:
public class HelloService
{
public String sayHello(String username)
{
 return "Hello:"+username;
}
}
另存为axis目录下HelloService.jws
再能过WEB访问:
http://loalhost/axis/HelloService.jws
http://loalhost/axis/HelloService.jws?method=sayHello&parameter=ipaddr


另外,如果是Apache+Tomcat整合在一块,以上配置后,还需要更改Apache的配置,在httpd.conf中加入:
JkMount /axis/* ajp13
通过Apache可以访问axis的Servlet

五.AXIS介绍补充
Apache Axis是Apache WebService项目中的子项目,其最初起源于IBM的"SOAP4J",应该属于最早的一批用于构造基于SOAP应用的Framework。

目前Apache Axis已经发展到了第三代,其核心是一个SOAP处理器,用于开发包括客户端,服务器端,SOAP Gateway等各种应用。事实上Apache Axis在了1.0版后,其发行版本还包括了完整的J2EE服务器插件, WSDL支持和生成,TCP/IP监视器等组件,从这个意义上来说Apahce Axis已不仅仅是个SOAP框架了,它包含了除了UDDI外对整个Web Service协议栈(Protocol Stack)的支持。

对大多数关心Macromedia产品的人来说,Macromedia是Axis小组的核心成员之一,他们在几乎所有J2EE服务器端的产品线中包含了Axis,也就是说Macromedia对WebService的支持是通过Apache Axis实现的,这其中包括了JRun, Flex, ColdFusion。即便是Flash Remoting,由于其核心还是SOAP,所以也是使用了Axis的SOAP框架。

和.NET的WS不同,Axis是一个非常易于扩展的体系结构,其设计的核心思想是建立一个数据处理的管道,通过把handler编织成一条处理链从而无限扩展其可能性。打个比方,在输入部分开发人员既可以编写基于HTTP Basic Authentication的用户验证模块也可以插入SOAP Auth模块用于验证请求,而输出部分既可以通过XML binding把结果输出为SOAP XML也可以象Flash Remoting那样把结果输出成binary格式。

同时Axis也提供了所有的处理模块,使得用户能在最快的时间把服务器组件发布成WS.总的来说Axis有以下几个特点:


速度 - Axis 使用 SAX 而不是 DOM 来处理XML请求,所以速度上有很大的改善。
灵活性 - 刚才也提到了,Axis的体系结构是一个全开放式的处理器,所以扩展模块极为方便。面向组件的发布方式 - 处理链上可重复使用组件来完成类似的操作。
Transport 框架 - Axis的核心和底层的transport完全分离,也就是说不管WS的Transport是HTTP, FTP, MAIL, MESSAGE QUEUE,只要插入对应的Transport模块即可,而不需改动其他部分。
WSDL1.1支持 - 可自动由Java Object生成WSDL


Lucene不是一个完整的全文索引应用,而是是一个用Java写的全文索引引擎工具包,它可以方便的嵌入到各种应用中实现针对应用的全文索引/检索功能。

Lucene的作者:Lucene的贡献者Doug Cutting是一位资深全文索引/检索专家,曾经是V-Twin搜索引擎(Apple的Copland操作系统的成就之一)的主要开发者,后在Excite担任高级系统架构设计师,目前从事于一些INTERNET底层架构的研究。他贡献出的Lucene的目标是为各种中小型应用程序加入全文检索功能。

Lucene的发展历程:早先发布在作者自己的www.lucene.com,后来发布在SourceForge,2001年年底成为APACHE基金会jakarta的一个子项目:http://jakarta.apache.org/lucene/

参考:

http://www.chedong.com/tech/lucene.html

http://hedong.3322.org/archives/000206.html

Linux下Apache-Tomcat整合安装

[不指定 2005/09/20 22:58 | by ipaddr ]
Apache-Tomcat整合安装

1.安装PHP+Mysql+Apache2
...
注意,Apache要带上--enable-so

ipaddr(aspbiz)原创,转载请注明


2.安装JDK环境
到Java网站下载:
j2sdk-1_4_2_07-linux-i586.bin

#chmod a+x j2sdk-1_4_2_07-linux-i586.bin
#./j2sdk-1_4_2_07-linux-i586.bin
#mv j2sdk-1_4_2_07 /usr/local/jdk
#vi /etc/profile
export JAVA_HOME=/usr/local/jdk
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$JAVA_HOME/lib
如果是RHEL3的话,还需要删除原来的空Java环境
#rm -f /usr/bin/java
#rm -f /usr/bin/javac
#rm -f /etc/alternatives/java
#rm -f /etc/alternatives/javac

重新登录

#java -version
查看是否正确.

3.安装Tomcat
到Apache的网站上下载:
jakarta-tomcat-5.0.30.tar.gz
#tar xzvf jakarta-tomcat-5.0.30.tar.gz
#mv jakarta-tomcat-5.0.30 /usr/local/tomcat

运行/usr/local/tomcat/bin/startup.sh启动Tomcat,
http://IP:8080/查看是否安装成功.

4.安装mod_jk2
下载:
jakarta-tomcat-connectors-jk2-2.0.4-src.tar.gz

#tar zxvf jakarta-tomcat-connectors-jk2-2.0.4-src.tar.gz
#cd jakarta-tomcat-connectors-jk2-2.0.4-src/
#cd jk/native2
#./configure --with-apxs2=/usr/local/apache2/bin/apxs  
#make
#cp ../build/jk2/apache2/mod_jk2.so /usr/local/apache2/modules
(如果不成功,有提示错误的话,请安装libtool的高版本:
http://www.gnu.org/software/libtool/
tar zxvf libtool-1.5.14.tar.gz
cd libtool-1.5.14
./configure
make
make install
)

5.配置
a.httpd.conf(/usr/local/apache2/conf/)
不让/WEB-INF下的文档暴露

   Order allow,deny
   Deny from all

加载jk2模块
LoadModule jk2_module modules/mod_jk2.so

b.workers2.properties(/usr/local/apache2/conf/此文件为新建)
[logger.apache2]
 level=info       #日志级别

[shm]
 file=/var/logs/httpd/shm.log
 size=1048576    #这个不知道干什么的??

[channel.socket:localhost:8009]
 port=8009  #apache和tomcat的通讯端口
 host=127.0.0.1

[ajp13:localhost:8009]
 channel=channel.socket:localhost:8009

[uri:/*.jsp]  
 worker=ajp13:localhost:8009

[uri:/servlet/*]
 worker=ajp13:localhost:8009

c./usr/local/tomcat/conf/server.xml
在前面加上:


6.启动测试
启动Tomcat和Apache测试.

7.启动脚本
可以在/etc/init.d/下面,按照httpd格式建一个启动脚本,

/usr/local/tomcat/bin/startup.sh启动
/usr/local/tomcat/bin/shutdown.sh停止
注意,脚本前要加上/etc/profile里的环境变量.

chkconfig --add tomcat
chkconfig tomcat on

8.参考:
http://ms.mblogger.cn/andijo/posts/8534.aspx
http://chinaunix.net/jh/13/306170.html


http://blogger.org.cn/blog/more.asp?name=sixsun&id=1027
http://www.jmyes.com/viewthread.php?tid=9952&extra=page%3D1

[来源:http://laozei.blogchina.com]

VHCS现在已完全是一个可以立即投入商业用途的成熟程序。

VHCS2.2版的时候还不是很成熟,很多功能没有,但现在,随着2.4版的推出(2005.5.16发布稳定版),它已经成长并成熟起来了。

以下是对其部分功能的描述:

1.多级管理:分管理员,代理商,最终用户三个级别
2.虚拟主机管理(基于主机名和基于IP)
3.多个顶级域名绑定,无限级二级域名
4.DNS管理
5.FTP用户管理
6.EMAIL帐号及EMAIL服务管理(有WEBMAIL)
7.CGI,PHP,SSI支持的配置及管理
8.支持MYSQL数据库创建与管理
9.硬盘空间限制
10.(服务器)IP地址管理
11.备份与恢复
12.SSL支持
13.页面或目录的密码保护(通过.htaccess实现)
14.自定义错误页面(401, 403, 404 和500)
15.流量统计
16.多国语言支持(已经有中文语言包)
17.可换肤
18.。。。

程序构成:
1.VHCS的WEB管理界面是基于PHP的
2.VHCS的核心部分是用C和PERL写的

下面是VHCS的工作关系示意图


怎么样,够成熟吧?

去看一下它的演示,你会发现更多功能,可以说是免费版的CPANEL。

如果你想卖HTML,PHP或CGI空间,可以立马用它来做了。

由于是国外开发的程序,而在国外(西方国家)服务器大多是按流量来收费的,所以程序中对流量的限制进行了控制,没有对并发连接数或CPU利用率进行控制,可能这一点对于国内的虚拟主机商来说不是太合适。可以找程序员把这个功能加上去,那就完美了。


官方站:http://vhcs.net/new/
在线演示:http://vhcs.net/new/modules/wfchannel/index.php?pagenum=7
(分别有管理员,代理商,域名用户即最终用户,WEBMAIL,文件管理这几项在线演示)
下载:http://vhcs.net/new/modules/PDdownloads/viewcat.php?cid=2

安装需求:


SuSE Linux 7.x 8.x and 9.x

Red Hat Linux 7.x and 9.0

Debian Linux sid, woody and sarge

Fedora Core1, Core2 and Core 3
分别有对应以上操作系统的安装包。


FreeBSD和Solaris平台的版本正在制作中


各版本的安装问题和其它问题可以去官方论坛查找或求助

Zimbra是一个开源的邮件系统,其操作界面和 Gmail 类似,Zimbra 把 Ajax 运用得淋漓尽致,甚至有过之而无不及。它还运用了 Javascript 的 Prototype ,诸如 drag and drop 也用上了(移动邮件到其他目录的操作)

别的不多说,其官方站:http://www.zimbra.com/index.html

源码,二进制码,文档,一应具全。

如何:使用 IISLockdown.exe

[不指定 2005/09/19 22:59 | by ipaddr ]
目标
使用本模块可以实现:

• 使用 IISLockdown 确保运行 ASP.NET 的 IIS Web 服务器的安全。


返回页首
适用范围
本模块适用于下列产品和技术:

• Microsoft® Windows® 2000 Server

• Internet 信息服务


返回页首
如何使用本模块
为了充分理解本模块内容,请:

• 务必具有管理 Internet 信息服务的经验。

• IIS Web 服务器上必须安装 .NET Framework。

• 阅读相关的模块: 如何:使用 URLScan。该模块描述了如何使用与 IISLockdown 一起安装的 URLScan ISAPI 筛选器。


返回页首
摘要
通过运行 IISLockdown 工具,基本可以自动执行保护 Web 服务器安全的过程。它使您能够选择特定类型的服务器角色,然后使用禁用各种功能或确保功能安全的自定义模板来改进该服务器的安全性。

本模块描述了如何使用 IISLockdown 工具确保用来处理 ASP.NET 页的 Internet 信息服务 (IIS) 服务器的安全。

详情参考:

http://www.microsoft.com/china/technet/security/guidance/secmod113.mspx

另外,也可采用SecureIIS来提高IIS的安全性。

Linux下Apache+Mysql+Resin的安装

[不指定 2005/09/19 22:58 | by ipaddr ]
Apache+Mysql+Resin的安装
1.安装Mysql
官方网址:http://www.mysql.org
下载Linux下的RPM包,直接安装(我习惯用4.0.X,4.1.X的,认证方式有点变化)
rpm -ivh *.rpm
自启动:
chkconfig mysql on

ipaddr(aspbiz)原创,转载请注明

2.安装Apache
官方网址:http://www.apache.org
下载Tgz的源代码包:
# tar -zxvf httpd-2.0.5X.tar.gz
# cd httpd-2.0.5X.tar.gz
# ./configure --enable-so
# make
# make install
自启动的话,可以将/usr/local/apache2/bin/apachectl start加到/etc/rc.d/rc.local
也可以自己写一个启动调本,调用apachectl,放在/etc/init.d/下面,用Chkconfig加载.
或者如下:
将apache 加入到 ntsysv中
比如说你的apache源码包在dir目录下,
cp dir/support/apachectl /etc/rc.d/init.d/httpd
编辑该httpd文件,加入如下类似两行
#chkconfig: 345 85 15
#description:some words you like!!

记得chmod a+x httpd
最后chkconfig --add httpd
chkconfig httpd on

3.安装JDK
到Java网站下载:
j2sdk-1_4_2_07-linux-i586.bin

#chmod a+x j2sdk-1_4_2_07-linux-i586.bin
#./j2sdk-1_4_2_07-linux-i586.bin
#mv j2sdk-1_4_2_07 /usr/local/jdk
#vi /etc/profile
export JAVA_HOME=/usr/local/jdk
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$JAVA_HOME/lib
如果是RHEL3的话,还需要删除原来的空Java环境
#rm -f /usr/bin/java
#rm -f /usr/bin/javac
#rm -f /etc/alternatives/java
#rm -f /etc/alternatives/javac

重新登录

#java -version
查看是否正确.

4.安装Resin
官方网址:http://www.caucho.com/
下载源代码包:resin-3.0.14-src.tar.gz
# tar zxvf resin-3.0.14-src.tar.gz
# cd resin-3.0.14
# chmod a+x configure
# ./configure --prefix=/usr/local/resin --with-apxs=/usr/local/apache2/bin/apxs
# make
# make install

修改/usr/local/resin/bin/httpd.sh里的环境变量:JAVA_HOME,RESIN_HOME
/usr/local/resin/bin/httpd.sh start
单独启动resin,并通过http://ip:8080/查看是否成功运行.
(怪怪的,我这样安装,/usr/local/resin/bin/httpd.sh start能启动,但访问不了,不知问题出在哪,最后只好用编译好的版本.编译了的版本,直接解压到/usr/local/resin就可.)
将源代码包里resin-3.0.14/contrib下的init.resin 拷到 /etc/init.d 下 改名为 resin
修改里面的JAVA_HOME,RESIN_HOME,USER=apache变量.
chmod a+x resin
chkconfig --add resin
chkconfig resin on

5.整合Apache+Resin
Resin编译时用了--with-apxs,就会自动生成一个Apache模块.并且,在httpd.conf里,自动加上了LoadModule ResinConfigServer CauchoStatus这三个指令.
在httpd.conf里,再加上以下几句:


SetHandler caucho-status


在/usr/local/resin/conf/resin.conf里,修改根文档路径.

<server>
 <host id="">
   <document-directory>/usr/local/apache2/htdocs</document-directory>
   ...
 </host>
</server>



重启Resin,Apache
6.测试
通过http://ip/caucho-status/查看Resin状态。
在/usr/local/apache2/htdocs里建一个测试文件jsp.jsp
<%@page language="java"%>  
2+2=
通过http://ip/jsp.jsp访问看看结果是否正确。

在/etc/crontab里,定时执行检测脚本,检测系统的Apache,和Mysql进程是否超出标准,超标的话,自动重启,没有的话,记录进程数据.

Crontab的内容(每30分钟执行一次,并将结果记录在/var/log/chksys.log)

0,30 * * * * root /usr/local/chksys.sh >> /var/log/chksys.log

/usr/local/chksys.sh代码:

#!/bin/bash
#check apache,mysql thread and auto reboot system
#Powered by ipaddr(aspbiz)

#config
MaxApacheThread=300
MaxMysqlThread=250

NeedReboot=0

ApacheThread=`ps -A|grep http|wc -l`
MysqlThread=`ps -A|grep mysql|wc -l`

if [ $ApacheThread -gt $MaxApacheThread ]
then
NeedReboot=1
fi

if [ $MysqlThread -gt $MaxMysqlThread ]
then
NeedReboot=1
fi

if [ $NeedReboot -eq 1 ]
then
echo "-----------------------------"
echo $(date +"%y-%m-%d %H:%M:%S")
echo "-----------------------------"
echo "Apache:$ApacheThread;Mysql:$MysqlThread."
echo "System is busy,reboot"
reboot
else
echo "-----------------------------"
echo $(date +"%y-%m-%d %H:%M:%S")
echo "-----------------------------"
echo "Apache:$ApacheThread;Mysql:$MysqlThread."
echo "System is normal"
fi

分页: 1/1 第一页 1 最后页 [ 显示模式: 摘要 | 列表 ]