Windows下Apache+Tomcat+MySQL+jsp+php的配置-

时间:2022-10-22 00:18:10

(1) j2sdk-1_4_2-windows-i586.exe
地址:http://java.sun.com/j2se/1.4.2/download.html
jdk
的版本关系倒不是很大,不影响ApacheTomcat的整合,配置环境变量时注意一些就行了.
(2) apache_2.0.49-win32-x86-no_ssl.exe
地址:http://www.apache.org/dist/httpd/binaries/win32/
apache
版本对整合影响不是太大,但最好利用此版本。
(3) jakarta-tomcat-4.1.30.exe
地址:http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/
版本最好用这个版本,其他的我没有试过,有可能会导致整合不成功。
(3) php-4.3.3-Win32.zip
地址:www.php.net
是一个压缩包,下载下来直接解压就行了。
(4) mod_jk.dll
地址:http://jakarta.apache.org/builds/jakarta-tomcat-connectors/jk/release/
这个module是放到apache中的module中去的,利用它来使TomcatApache之间通讯。
(5) mysql-max-3.23.46a-win.zip
地址:www.mysql.com
数据库mysql,其版本对整合影响不大.
(6) jdbc
驱动
mysql
的驱动程序,和数据库连接时用

.安装j2sdk
Windows下,直接运行下载的j2sdk-1_4_1_01-windows-i586.exe文件,根据安装向导安装
到一个目录,例如安装到d:/server/j2sdk
1.
配置环境变量:

1)如果你的操作系统是Win2000,那么按如下方式配置环境变量。右键单击"我的电脑",在弹出菜单中选择"属性""系统特性" "高级" "环境变量" 弹出环境变量对话框,就可以编辑系统的环境变量了。添加PATHJAVA_HOMECLASSPATH三个变量,变量值同下。
添加CLASSPATH变量
变量值为
./;%CLASSPATH%;D:/server/j2sdk 1.4.0/lib/dt.jar;d:/server/j2sdk1.4.0/lib/tools.jar;
d:/server/j2sdk1.4.0/bin
这个配置保证java运行时可以找到class类。
2.添加JAVA_HOME变量,变量值为d:/server/j2sdk1.4.0
3.在原来的path变量中,添加d:/server/j2sdk1.4.0/bin,这样无论在何处运行java名令都行。
重新启动

接着可以写一个简单的java程序来测试J2SDK是否已安装成功:

public class Test{

public static void main(String args[]){

System.out.println("This is a test program.");

}

}

将上面的这段程序保存为文件名为Test.java的文件。

然后打开命令提示符窗口,cd到你的Test.java所在目录,然后键入下面的命令 

javac Test.java

java Test 

此时如果看到打印出来This is a test program.的话说明安装成功了,如果没有打印出这句话,你需要仔细检查一下你的配置情况,是否是java环境变量没有配置好。


.apache安装
1.运行apache_ 2.0.49-win32-x86-no_ssl.exe,一路点"确定""接受"就行,路径选
d:/server/apache group/apache2
此时apache已经安装成功,且已运行,在IE中输入http://localhost/可以看到
apache的主页。安装成功!
2.修改httpd.conf
apache
的配置文件是httpd.conf,位于apache根目录的下的conf文件夹下

(1).修改默认网站根目录:
d:/server下建立文件夹www,以此作为网站的根目录
DocumentRoot "D:/server/Apache Group/Apache2/htdocs"
改为DocumentRoot "D:/server/www
(2).
修改字符设置

apache解析中文网页时会产生乱码,
修改AddDefaultCharset ISO-8859-1AddDefaultCharset GB2312
(3).
修改默认主页

当访问目录时,apache会自动导入的主页,优先级以先后顺序为准
DirectoryIndex index.html index.html.var改为
DirectoryIndex index.html index.jsp index.php default.jsp default.php index.html.var
(4).
设置错误页面
这样对于你的网站会更安全些,如果没设置,别人在你的网址后随便输入一个路径,会显示404
误,并且会显示你的服务器版本号,服务器配置一目了然,为了避免这种情况,可以设置错误页面。
当出现404错误,即找不到网页时,把访问者导入到一个错误页面
找到:
#
# Customizable error responses come in three flavors:
# 1) plain text 2) local redirects 3) external redirects
#
# Some examples:
#ErrorDocument 500 "The server made a boo boo."
#ErrorDocument 404 /missing.html
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
#ErrorDocument 402
http://www.example.com/subscription_info.html
#
httpd.conf
中的这一部分,#ErrorDocument 404 /missing.html
一行修改为ErrorDocument 404 /error/noFile.htm,其中noFile.htmd:/server/www/error/下一个错误文件,需

要你自己建立。当发生404错误时,进入noFile.htm页面,可以提示网页没有找到。这样就不可能看到
你的服务器软件信息了。也可以设置其它的错误导向的页面,具体http响应错误编号请查阅相关资料。
重新启动apache,如果没意外,此时已经安装成功,把静态页面放到d:/server/www/error/目录下,看能不能成功解析。
随便输入一个:http://localhost/sdagasgdasasg.htm,看是不是导向你设置的404错误,即noFile.htm错误页面.
成功了吧!
关于apache中其他参数的意义,我就不说啦,你可以去网上查,其实最好的方法是看httpd.conf中的注释部
分,已经说得很清楚啦。
好啦,到此apache安装成功,你可以休息一下,听首音乐,开始下一步的安装:)

.php安装

解压php-4.3.3-Win32.zip,d:/server/php目录下.下配置PHPApache,使之能解析php程序。
d:/server/php/目录中的“php.ini-dist”改名“php.ini,并复制到C:/windows/system32
Win2K目录为:C:/winnt/system32)下,在apache的配置文件httpd.conf中下入以下几行,使之

支持php.
ScriptAlias /php/ "d:/server/php/"
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php
AddType application/x-httpd-php .phtml
Action application/x-httpd-php "/php/php.exe"
d:/server/www下建立网页:index.php,内容为:


?
phpinfo();
?>

用文本编辑器编辑好为存为index.php,重新启动apache,IE中输入
http://localhost/index.php,如果出现php
环境变量,说明php,安装成功,如果不能解析中的部分,则说明没有成功安装。

.Tomcat的安装
我用的是jakarta-tomcat-4.1.30.exe安装文件,在windows下一路点"确定"就行了,比较简单,安装目录为
d:/server/tomcat
下面设置环境变量:
jdk的环境变量,添加变量TOMCAT_HOME,值为d:/server/tomcat;增加变量CATALINA_HOME,值为
d:/tomcat/server,在path变量中加入d:/server/tomcat/bin
下面启动tomcat,运行tomcat目录下的,bin/startup.bat文件就行啦,出现tomcat运行控制台,tomcat成功

启动.
IE中输入http://localhost:8080/,看到大猫的吧,则tomcat安装成功.

建立自己的jsp app目录

1.Tomcat的安装目录的webapps目录,可以看到ROOTexamples, tomcat-docs之类Tomcat自带的的目录;

2.webapps目录下新建一个目录,起名叫myapp

3.myapp下新建一个目录WEB-INF,注意,目录名称是区分大小写的;

4.WEB-INF下新建一个文件web.xml,内容如下:

PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"

"http://java.sun.com/dtd/web-app_2_3.dtd">

My Web Application

A application for test.

5.myapp下新建一个测试的jsp页面,文件名为index.jsp,文件内容如下:

Now time is:

6.重启Tomcat

7.打开浏览器,输入http://localhost:8080/myapp/index.jsp 看到当前时间的话说明就成功了。

.安装MySQL

第一步:解压 mysql-max- 3.23.46a-win.zip,运行mysql安装文件,把mysql安装到d:/server/mysql
第二步:在环境变量path中加入 d:/server/mysql/bin
第三步:进入d:/server/mysql/bin目录,运行winmysqladmin,刚会出现对话框,设置mysql用户密码,假设

帐号为:root 密码为:123
第四步:进入dos,进入mysql/bin下,运行以下命令打开mysql
mysqld-nt --standalone
mysql开启

然后运行:
mysql
如果开启,则出现以下文字:
Welcome to the MySQL monitor. Commonds end with ; or /g.
Your MySQL connection id is 1 to server version: 3.23.46-nt
Type 'help;' or '/h' for help. Type '/c' to clear the buffer.
mysql>
注意:此时mysql没有设置密码,为了不让别人进入你的数据库,请为mysql设置密码,具体操作请参阅mysql的中文说明文档。
至此,mysql安装成功!

.安装MySQL的驱动类jdbc
解开jdbc驱动包,把里面的org文件夹复制到jsp可以找到的位置就行啦。可以是tomcat的根目录common/classes文件夹下,也可以是jsp网站classWEB-INF/class/下。当加载驱动程序时,以便能找到相关的类。或者把jdbc包的路径加入到classpath变量中。


.TomcatApache的整合配置
Tomcat只是一个用来解析*.jsp文件的容器,它不是服务器,其解析静态htm/html文件的能力远远不如apache,
整合后在同一个端口使apache来解析静态网页,而遇到*.jsp网页时,交由tomcat来解析.
第一步:把 mod_jk.dll复制到apache根目录module文件夹下。

第二步:配置APACHE

打开apache根目录下conf/httpd.conf

添加以下语句:


#------------------------------------------

#connecting to tomcat using ajp13
LoadModule jk_module modules/mod_jk.dll
JkWorkersFile "d:/server/tomcat/conf/workers.properties"
JkMount /servlet/* ajp13
JkMount /*.jsp ajp13


#-----------------------------------------------------

注意:以上语句的基本意思是:
loadModule一行:加载mod_jk.dll动态链接库模块,使之与tomcat通讯
jkWorkersFile:指明工作时tomcat相关文件workers.properties位置
jkMount:两行指明当遇到*.jspservlet时,交由ajp13协议,继而转发给tomcat处理。
第三步:建立workers.properties文件,tomcat根目录conf下建立workers.properties文件,内容为:
workers.tomcat_home=d:/server/tomcat
workers.java_home=d:/server/j2sdk1.4.0
ps=/
# worker.list=ajp13
worker.list=ajp12,ajp13

worker.ajp12.port=8007
worker.ajp12.host=localhost
worker.ajp12.type=ajp12
worker.ajp12.lbfactor=1

worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
worker.ajp13.lbfactor=1

worker.loadbalancer.type=lb

worker.loadbalancer.balanced_workers=ajp12, ajp13
worker.inprocess.type=jni
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)classes
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)jaxp.jar

worker.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)parser.jar

worker.inprocess.class_path=$(workers.tomcat_home)$(ps)common$(ps)lib$(ps)jasper.jar

worker.inprocess.class_path=$(workers.tomcat_home)$(ps)common$(ps)lib$(ps)servlet.jar

worker.inprocess.class_path=$(workers.tomcat_home)$(ps)common$(ps)lib$(ps)webserver.jar

worker.inprocess.class_path=$(workers.java_home)$(ps)lib$(ps)tools.jar

worker.inprocess.cmd_line=-config

worker.inprocess.cmd_line=$(workers.tomcat_home)/conf/jni_server.xml

worker.inprocess.cmd_line=-home

worker.inprocess.cmd_line=$(workers.tomcat_home)

worker.inprocess.jvm_lib=$(workers.java_home)$(ps)jre$(ps)bin$(ps)classic$(ps)jvm.dll


worker.inprocess.stdout=$(workers.tomcat_home)$(ps)inprocess.stdout

worker.inprocess.stderr=$(workers.tomcat_home)$(ps)inprocess.stderr

worker.inprocess.sysprops=tomcat.home=$(workers.tomcat_home)

注意以上文件第一、二行填上tomcatjdk的相关目录.

第四步:配置tomca/conf下的server.xml文件,这个是tomcat的主要配置文件,重要配置如下:

1.虚拟目录设置:
找到下面内容:


unpackWARs="true" autoDeploy="true">
修改为:

unpackWARs="true" autoDeploy="true">
使tomcat主目录为d:/server/www.
找到下面内容:


reloadable="true" crossContext="true">
修改为

reloadable="true" crossContext="true">
这个我的理解是应该是使tomcat根目录下的jsp作为一个虚拟主机吧.
2.
设置tomcat监听端口,找到下面的内容:

port="8080" minProcessors="5" maxProcessors="75"
enableLookups="true" redirectPort="8443"
acceptCount="100" debug="0" connectionTimeout="0"
useURIValidationHack="false" disableUploadTimeout="true" />
默认的端口是8080,但这个大家都知道,最好修改一下,假设修改为:8123,则如下:

port="8123" minProcessors="5" maxProcessors="75"
enableLookups="true" redirectPort="8443"
acceptCount="100" debug="0" connectionTimeout="0"
useURIValidationHack="false" disableUploadTimeout="true" />
3.
找到以下8009端口的地方,这个很重要,通过8009,tomcatapache互相通讯,如果下面的部分

被〈!---->注释掉,一定要把〈!---->去掉.
!-- Define a Coyote/JK2 AJP 1.3 Connector on port 8009 -->
Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
port="8009" minProcessors="5" maxProcessors="75"
enableLookups="true" redirectPort="8443"
acceptCount="10" debug="0" connectionTimeout="0"
useURIValidationHack="false"
protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"/>
第五步:配置tomcatconf/web.xml文件:
类似于apache404错误页面的配置,在最后〈/web-app>一行之前加入以下内容:


error-page>
error-code>404/error-code>
location>/error/noFile.htm/location>
/error-page>
error-page>
exception-type>java.lang.NullPointerException/exception-type>
location>/error/error.jsp/location>
/error-page>
第一个〈error-page>/error-page>之间的是404未找到jsp网页的错误导向页面,使之发生404错误时,

网页导向至/error/noFile.htm,也可以用类似方法添加其多的错误代码导向页面。
第二个〈error-page>/error-page>之间的是当jsp网页出现java.lang.NullPointerException导常时
导向至/error/error.jsp错误页面。那么需要在第个jsp网页中加入以下内容:
%@ page errorPage="/error/error.jsp" %>
典型的error.jsp错误页面的程序写法如下:

%@ page contentType="text/html;charset=GB2312"%>
%@ page isErrorPage="true"%>
html>
head>title>错误页面〈/title>/head>

body>
出错了:〈/p> 错误信息: %= exception.getMessage() %>br>

Stack Trace is :
pre>font color="red">%
java.io.CharArrayWriter cw = new java.io.CharArrayWriter();
java.io.PrintWriter pw = new java.io.PrintWriter(cw,true);
exception.printStackTrace(pw);
out.println(cw.toString());
%>
/font>/pre>
/body>
/html>
当出现NullPointerException异常时tomcat会把网页导入到error.jsp,且会打印出出错信息。

第五步主要是安全考虑,在正常情况下,如果找不到网页即出现404错误或者jsp程序出错,在客户端
会列举出类似于如下的信息(tomcat为例,resin类似):
HTTP Status 404 - /sdags.jsp

--------------------------------------------------------------------------------

type Status report

message /sdags.jsp

description The requested resource (/sdags.jsp) is not available.


--------------------------------------------------------------------------------

Apache Tomcat/5.0.19

这样服务器版本会被别人看到,如果完成第五步的配置,就不会出现这种情况.
第六步:配置httpd.conf文件

这种方法把tomcatapache的根目录设置为同一目录,但是必须限制客户对目录下一些文件的访问,比如存入class
web-inf,在httpd.conf下添加以下代码:

#deny the access to WEB-INF
Directory ~ "/WEB-INF/">
Order allow,deny
Deny from all
/Directory>
这样,当试图记问
http://localhost/web-inf/时,apache将会拒绝.

到此为至,tomcatapache的整合就完成啦.重新启动tomcatapache,
jsp网页放到d:/server/www/下,例如:
html>
h1>JSP testhr>

%out.println("Hello World!");%>

/html>

存为index.jsp,在IE中输入
http://localhost:8123/index.jsp
如果出现了
Hello World!
刚说明tomcat运行正常,在IE中输入http://localhost/index.jsp,如果也出现
Hello World!
恭喜你!整合成功啦,你在jsp漫长艰辛的道路上迈出了一大步~!

以上整合文章我是在仓促的的时间完成的,可能有些错误。或考虑不周的地方,但是总体应该没