PDA

查看完整版本 : windows下全面整合apache+Mysql+php+jsp(Tomcat)+CGI+asp


Tony
2004-05-25, 03:53 AM
1、安装前的准备
程序清单:
apache_2.0.47-win32-x86-no_ssl.msi
mysql-4.0.12-win
php-4.3.2-Win32
j2sdk-1_4_2-windows-i586-iftw.exe
jakarta-tomcat-5.0.4.exe
mod_jk-2.0.46.dll
ActivePerl-5.6.1.635-MSWin32-x86
iASP2.1.01.exe
这些程序基本上都是目前最新的版本,可以从它们的官方网站进行下载,具体方法可以进入google.com等搜索引擎进行查找!


2、安装Apache
点击文件apache_2.0.47-win32-x86-no_ssl.msi进行安装,目标目录选择:G:\amicrasy\MyWeb\... (几个服务均安装在这个目录下,...指对应服务的目录名,下面同上)。
进入G:\amicrasy\MyWeb\Apache Group\Apache2\conf\httpd.conf修改httpd.conf
----------------------------------------
#UserDir "My Documents/My Website" //前面加#
AddDefaultCharset GB2312 //默认编码
DirectoryIndex index.html index.htm index.php index.jsp //默认页面
----------------------------------------
启动Monitor Apache Servers,这时候apache就安装完成。

3、MYSQL安装
打开mysql-4.0.12-win目录的SETUP.EXE进行安装,目标目录选择:G:\amicrasy\MyWeb\... 。安装完成后,重新启动计算机,启动WinMySQLadmin,这时候就可以启动mysql。
启动mysql后,接下来我们进行一下操作,试试使用mysql:
开始->运行->"cmd",输入一下命令:
g:
cd amicrasy\myweb\mysql\bin
mysql
show databases;
use mysql;
show tabales
select host,user,password from user
select user();
create database mydata;
drop database mydata;
quit;
exit
通过这些操作我们就可以对mysql进行简单操作了。

4、PHP安装
php-4.3.2-Win32目录复制到相应目录G:\amicrasy\MyWeb\...,并改目录名为php。
接下来进行相关配置:进入G:\amicrasy\MyWeb\php,将文件名php.ini-dist改为php.ini,打开php.ini,修改参数:
----------------------------------------
session.save_path c:/windows/temp
----------------------------------------
注意c:/windows/temp,windows目录根据安装的操作系统不同而不同,如win2000则这个目录为winnt,这个temp目录必须存在,一般情况下都会有,这个设置很关键,因为php在windows安装,session如果没有这样配置会出问题。
然后将php.ini复制到c:\windows(Windows 9x/ME/XP)c:\winnt(Windows NT/2000 )。
最后将php4ts.dll复制到c:\windows\system(for Windows 9x/ME)c:\winnt\system32(for Windows NT/2000)c:\windows\system32(for Windows XP)。

至此php的安装配置基本上完成,接下来需要配置一下apache,使其可以使用php。
进入G:\amicrasy\MyWeb\Apache Group\Apache2\conf\httpd.conf修改httpd.conf,添加以下代码:
----------------------------------------
LoadModule php4_module "G:/amicrasy/MyWeb/php/sapi/php4apache2.dll"
AddType application/x-httpd-php .php
----------------------------------------
//注意上面的G:/amicrasy/MyWeb/php/sapi/php4apache2.dll根据前面复制的php目录不同而不同。
到这里,我们的配置完全完成,接下来我们测试一下:
编写测试文件 info.php (拷贝到目录 G:\amicrasy\MyWeb\Apache Group\Apache2\htdocs\下),文件内容:(就一行)
----------------------------------------
<? phpinfo(); ?>
----------------------------------------
重新启动apache,启动IE,地址栏输入:http://localhost/info.php,就可以看到页面了。
关于apache和php的安装配置可以查看下面两个php官方网站安装指南:链接1,链接2。
http://www.php.net/manual/zh/install.apache2.php#install.apache2.windows
http://www.php.net/manual/zh/install.windows.php

我们接下来可以从网站下载一些php+mysql的源代码程序,然后试试看,我下载了一个Discuz!2.0的论坛试了一下,完成成功,这些程序做得都非常网上,只要先配置一下里面的一个配置文件,输入mysql的帐号,密码,其他基本上不用设置,然后运行install.php,这样包括数据库、表都会帮你建好,一个php+mysql的论坛就完成了,然后在区下载一个文章程序和留言程序,修改一下界面,一个自己的优秀个人网站就出来了。哈。
前面介绍了apache+mysql+php在windows系统的安装,接下来我们还要让apache可以运行jsp。

5、j2sdk安装
先说一下jdk和j2sdk的关系:J2SDk包含了Java Development kit(JDK)、Java Runtime Environment(JRE)和Java Plug-in。原先sun的JAVA软件开发工具包是JDK,现在就称为J2SDk了。JRE和plug-in:J2RE包含了java plug-in。J2SDk是提供给开发JAVA程序所用,应用程序用户是不需要开发工具的。而JRE顾名思义是JAVA程序要运行所需要的环境,所谓跨平台就是要各种平台都有一个中间代理,那就是JRE。一般采用JAVA技术开发出的软件都得带这个,所以sun就单独提供了JRE安装文件,以供JAVA应用程序发布时所用。
点击j2sdk-1_4_2-windows-i586-iftw.exe,进行安装,目标目录选择:G:\amicrasy\MyWeb\...。
安装完成后,开始->运行->"cmd",输入一下命令:"java",看看是不是出现java的help文件,如果是,那么j2sdk就安装完成了。

6、Tomcat安装
点击jakarta-tomcat-5.0.4.exe,进行安装,目标目录选择:G:\amicrasy\MyWeb\...。中间安装过程需要输入的一些参数包括(端口:8080、管理Tomcat的帐号密码、j2re1.4.2安装目录选择等)。这样Tomcat就安装完成了,接下来赶紧试试我们的成果吧!启动Start Tomcat,打开ie,输入:http://localhost:8080/,点击example例程,看看,是不是已经可以执行jsp了呢!

接下来我们要试试java的运行环境,即一般初学者都要学习的HelloWorld。
首先设置环境变量:我的电脑->右键->属性->高级->环境变量
添加一下三个项目:
JAVA_HOME=G:\amicrasy\MyWeb\j2sdk1.4.2
TOMCAT_HOME=G:\amicrasy\MyWeb\tomcat
CLASSPATH=G:\amicrasy\MyWeb\j2sdk1.4.2\lib\dt.jar;G:\amicrasy\MyWeb\j2sdk1.4.2\lib\tools.jar
修改path项目,添加以下部分“;%JAVA_HOME%\bin;%TOMCAT_HOME%\bin”,然后重新启动计算机。
关于环境变量的设置,这里有一篇文章有激烈的讨论,值得看看!
http://www.cn-java.com/forum/show_topic.php?forum_id=2&topic_id=40

然后我们编写文件HelloWorld.java,记事本输入以下内容,并保存成HelloWorld.java:
----------------------------------------
public class HelloWorld
{
public static void main(String args[])
{
System.out.println("Hello World!");
}
}
----------------------------------------
然后开始->运行->"cmd",输入一下命令:
g:
cd amicrasy\javafiles
javac HelloWorld.java //编译HelloWorld.java,生成HelloWorld.class
java -classpath . HelloWorld //运行HelloWorld,出现“Hello World!”
至此调试java运行环境宣告成功!

7、apache整合Tomcat

首先将mod_jk-2.0.46.dll复制到G:\amicrasy\MyWeb\Apache Group\Apache2\modules目录下。
接下来配置apache的httpd.conf:
进入G:\amicrasy\MyWeb\Apache Group\Apache2\conf\httpd.conf修改httpd.conf,添加以下内容:
----------------------------------------
LoadModule jk_module modules/mod_jk_2.0.46.dll
JkWorkersFile "G:/amicrasy/MyWeb/Tomcat/conf/workers.properties"
JkLogFile "G:/amicrasy/MyWeb/Tomcat/logs/mod_jk2.log"
JkLogLevel info
JkMount /servlet/* ajp13
JkMount /*.jsp ajp13
----------------------------------------
目的是设置Apache与Tomcat之间的连接,让Apache遇到jsp文件时,在后台将其交由Tomcat去处理,注意:上面的目录应该随着自己Tomcat安装目录的不同而修改。

而我们注意上面添加的语句中有用到一个JkWorkersFile,接下来我们就生成这个文件:
进入G:/amicrasy/MyWeb/Tomcat/conf目录,然后我们编写文件workers.properties,记事本输入以下内容,并保存成workers.properties:
----------------------------------------
workers.tomcat_home=G:\amicrasy\MyWeb\Tomcat
workers.java_home=G:\amicrasy\MyWeb\j2sdk1.4.2
ps=\
worker.list=ajp13
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
worker.ajp13.lbfactor=1
----------------------------------------
同样注意到上面的目录应该随着自己Tomcat以及j2sdk安装目录的不同而修改,一般情况下host=localhost,如果有不同可以进行相应修改。

至此,apache整合Tomcat顺利完成,接下来我们进行测试,重新启动apache(点击Monitor Apache Servers)和Tomcat(点击Start Tomcat),顺利启动完成,打开浏览器,地址栏分别输入:http://localhost:8080/jsp-examples/jsp2/simpletag/hello.jsp 和 http://localhost/jsp-examples/jsp2/simpletag/hello.jsp,发现两个页面显示同样内容,至此,我们apache整合Tomcat测试顺利每种完成!

8、继续配置Tomcat
到目前的这一步,我们也仅仅只是使得apache可以运行jsp(事实上只是转向),apache主目录下还不能运行jsp,为了统一网站,我们就需要将Tomcat的主目录设置成和apache主目录一样,即目前的G:\amicrasy\MyWeb\Apache Group\Apache2\htdocs,为此我们进行以下操作:

首先在htdocs目录下建一个目录jsp,该目录下再建一个目录WEB-INF,WEB-INF目录下再建一个classes目录,然后我们编写文件web.xml,记事本输入以下内容,并保存成web.xml,将它放入WEB-INF目录中:
----------------------------------------
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>
<display-name>Welcome to Tomcat</display-name>
<description>
Welcome to Tomcat
</description>
</web-app>
----------------------------------------
总结,在jsp目录下的文件大致是:jsp文件和WEB-INF目录(WEB-INF目录中包括web.xml和classes目录)。

接下来修改Tomcat的server.xml:进入G:/amicrasy/MyWeb/Tomcat/conf目录,打开server.xml,在</Host>标识前面(注意是前面!)添加以下内容:
----------------------------------------
<Context path="/jspfiles" docBase="G:\amicrasy\MyWeb\Apache Group\Apache2\htdocs\jsp" debug="0" reloadable="true"/>
----------------------------------------
保存server.xml,接下来开启serlvet访问的默认方式,打开conf目录下的web.xml。查找到273行到278行左右,将其中的HTML注释标记符 <!- 和 --> 去掉,即<servlet>和</servlet>之间的注释去掉。重新启动Tomcat,这样就可以使用jsp目录,访问地址如下:http://localhost/jspfiles/*.jsp (*代表任意文件名)。至此我们就把jsp文件的目录整合到apache的主目录了。

接下来我们要考虑做的事情是如何使得Tomcat只能作为apache的辅助,而不能单独作为服务运行,即我们让http://localhost:8080/jspfiles/*.jsp,访问无效,只能使用http://localhost/jspfiles/*.jsp访问。

禁止apache的目录浏览,进入G:\amicrasy\MyWeb\Apache Group\Apache2\conf\httpd.conf修改httpd.conf,删除主目录Options的indexs属性,大致按以下修改:
----------------------------------------
<Directory />
Options FollowSymLinks #(去掉里面的indexs)
AllowOverride None
</Directory>
----------------------------------------

禁止Tomcat的目录浏览(这一步不是很必须,可做可不作),修改web.xml,web.xml可能分布在好几个位置,均进行修改,修改的部分如下:
----------------------------------------
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value> #(原来是true,改为false)
</init-param>
----------------------------------------
如果没有就是上述语句就把它添加进去,位置按以下所示:
----------------------------------------
<servlet>
......
#添加在这个地方,最底部。
</servlet>
----------------------------------------
在我们前面设置的那个jspfiles目录下WEB-INF子目录的web.xml,要进行修改。

禁止Tomcat单独运行,其实很简单,只要把Tomcat的8080端口去掉就可以了,进入G:/amicrasy/MyWeb/Tomcat/conf目录,打开server.xml,查找 port="8080" ,将这个语句删除,保存即可。

到这里,我们完全整合了apache和Tomcat,Tomcat只能作为apache的辅助,当然去掉端口并不是严密的策略,如果地址栏浏览的是jsp文件,这样apache会将其发送到Tomcat进行执行解析,如果存在则同样还会执行,所以只是一个治标不治本的方法,但是它也是一个相对比较有效的方法。

9、让apache支持CGI
进行到这一步已经基本上接近终点了,一切还很顺利!接下来配置CGI,当初在linux下配置的死去活来还是不行,不知道今天会不会很顺利?首先先要安装perl(ActivePerl-5.6.1.635-MSWin32-x86,现在地址:http://downloads.activestate.com/ActivePerl/Windows/5.6/ActivePerl-5.6.1.635-MSWin32-x86.zip),安装过程很简单,打开Installer.bat,设置一下perl安装路径,和上面路径进行统一,选择:G:\amicrasy\MyWeb\Perl,(安装到c:\usr,不用修改*.cgi文件)接下来只要负责回车就可以了。安装完成后我们来测试perl是否安装成功,我们编写文件Test.pl,记事本输入以下内容,并保存成Test.pl,位置在g:\amicrasy\downloads目录:
----------------------------------------
print "hello,bincon!";
----------------------------------------
然后开始->运行->"cmd",输入一下命令:
g:
cd amicrasy\Myweb\perl\bin
perl g:\amicrasy\downloads\Test.pl
出现 hello,bincon!,至此调试Perl宣告成功!

剩下了就是对apache做简单配置,让它支持CGI,进入G:\amicrasy\MyWeb\Apache Group\Apache2\conf\httpd.conf修改httpd.conf,修改以下3个内容:
----------------------------------------
#1
ScriptAlias /cgi-bin/ "G:/amicrasy/MyWeb/Apache Group/Apache2/cgi-bin/"
#2
<Directory "G:/amicrasy/MyWeb/Apache Group/Apache2/cgi-bin">
AllowOverride None
Options ExecCGI #增加ExecCGI
Order allow,deny
Allow from all
</Directory>
#3
AddHandler cgi-script .cgi .pl
----------------------------------------
上面三个地方对照进行修改,然后保存httpd.conf,重新启动apache,这时候apache就支持CGI了。我们赶紧进行测试,编写文件Test.cgi,记事本输入以下内容,并保存成Test.cgi,位置在G:/amicrasy/MyWeb/Apache Group/Apache2/cgi-bin目录:
----------------------------------------
#!G:\amicrasy\MyWeb\Perl\bin\perl.exe
print "content-type: text/html\n\n";
print "hello,bincon!";
----------------------------------------
打开ie浏览器,地址栏输入:http://localhost/cgi-bin/test.cgi,显示hello,bincon!,则测试成功!

可以执行cgi,接下来我们就赶紧来应用,装一个网上非常知名的CGI论坛,从cgier.com下载LB5000XP300简体中文版(ftp://218.104.78.88/LB5000XP300.zip),解压后把里面cgi-bin复制到G:/amicrasy/MyWeb/Apache Group/Apache2/cgi-bin目录,并将其改名LB5000XP,接下来要对LB5000XP里面CGI文件进行修改,将其每个文件的“#!/usr/bin/perl”改为“#!G:\amicrasy\MyWeb\Perl\bin\perl.exe”,这时候就要用到一个工具“UltraEdit”,里面的“在文件中替代”,修改顺利结束,打开ie浏览器,地址栏输入:http://localhost/cgi-bin/LB5000XP/install.cgi,就可以顺利看到安装界面,接下来就是按照里面的提示一步一步完成,地址栏:http://localhost/cgi-bin/LB5000XP/leoboard.cgi,经典的论坛就出现了,我们的所有任务也就已经完成!

10、让apache可以执行asp
网上搜索了一下资料,对比发现普遍推荐Iasp(iASP2.1.01.exe),下载地点:http://www.stryon.com/chooseproduct.asp。这个程序安装需要j2sdk的支持,前面已经有安装,安装过程十分简单,也不要什么配置,只需要选择一些选项。不过安装后启动Iasp服务成功,但是启动apache服务时发现启动失败,找不出什么原因,从网上查找文档阅读后发现普遍认为Iasp不支持最新版apache的缘故,只好放弃这个东西,当然,还有其他途径可以解决apache执行asp脚本的问题,不过想想还是选择放弃尝试。所以干脆装个IIS来解决执行asp脚本得问题,虽然这对喜欢寻求完美的我来说是一个很大的遗憾,不过话又说回来,asp脚本还是在IIS上可以寻求得到最大的支持,毕竟归同一家,而这几年随着IIS的不断升级,其稳定性和性能也不断得到提高,勤打补丁,漏洞问题就可以很好解决。
安装过程很简单,安装盘放入光驱,开始->控制面板->添加/删除程序->添加/删除windows组件->Internet信息服务(IIS)打勾,详细信息,只选择(Internet信息服务管理单元、公用文件)->下一步->选择路径->完成安装。配置IIS的时候要注意端口更改,因为80端口已经被apache占用了。至此IIS安装完成,执行asp脚本问题也就解决。