淘主机 发表于 2009-12-1 14:50:07

Windows下服务器平台(APACHE+JSP+CGI+PHP+ASP+MYSQL)

一、下载软件包:

需要下载几个软件包:

1. php-5.0.2-Win32
2. apache_2.0.52-win32-x86-no_ssl
3. mysql-5.0.1-alpha-snapshot-win
4.iASP2.1.01
5.tomcat-5.0.28
7.j2sdk-1_4_2-windows-i586
8.phpMyAdmin-2.6.0-pl2
9.ActivePerl-5.8.4.810-MSWin32-x86

二,安装与配置

1. 安装Apache
       安装apache_2.0.52-win32-x86-no_ssl.msi,将其安装在C:\WebServer\Apache2\文件夹下面,安装过程就不用说了,一路NEXT就可以,安装完了就可以在任务栏的地方看将这样的图标 ,表示已经启动成功。打开网页http://127.0.0.1,出现安装成功的页面。

       接下来对 Apache 的配置文件进行配置,使其支持PHP,用C:\WebServer\Apache2\conf\ (我这里是按照默认安装路径安装,后面的设置按照自己的安装路径做相应的改变) 目录下的 httpd.conf 文件,定位到下面这行:

DirectoryIndex index.html index.html.var

在其后面添加一个 PHP 默认页,通常是 index.php ,如下:

DirectoryIndex index.html index.html.var index.php

为了使 Apache 识别 PHP 的相关扩展名,搜索并定位到下面这个部分:

<Directory "C:/WebServer/Apache2/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>

在后面添加如下两行:

AddType application/x-httpd-php .php .phtml .php3 .php4
AddType application/x-httpd-php-source .phps

指定 php 模块,找到并定位到如下这行:

#LoadModule ssl_module modules/mod_ssl.so

在下面添加一行:

LoadModule php5_module D:\PHP\php5apache2.dll

使它指向 PHP5 目录下的 php5apache2.dll 文件,路径一定要准确。

为了指定 Apache 识别中文,我们指定 GB2312 为默认编码。应该找到并定位到下面这行
AddDefaultCharset ISO-8859-1

将其修改为:

AddDefaultCharset GB2312

另外,如果要禁止目录浏览,查找并定位到下面这几行:

#……
#一些注释
#……
Options Indexes FollowSymLinks
去掉几行注释下面进跟着的一行的 Indexes 即可,修改后:
#……
#一些注释
#……
Options FollowSymLinks

OK,保存 httpd.conf 文件后重起 Apache 服务器。

2.安装PHP 5.0.2

将 下载来的 PHP5 RC3(php-5.0.0RC3-Win32.zip) 解压缩到 D:\PHP\ 目录下。复制 D:\PHP\ 目录下的 php5ts.dll 文件到 C:\windows\(如果是 windows 2000 操作系统,则为 C:\WINNT\ 目录,下同,不再重复说明) 目录下。

复制 D:\PHP\ 目录下的下列 dll 文件于 C:\windows\system32\ 目录下:

fdftk.dll
fribidi.dll
gds32.dll
libeay32.dll
libintl-1.dll
libmhash.dll
libmysql.dll
libmysqli.dll
ntwdblib.dll
ntwdblib.dll
yaz.dll

其中 libmysql.dll 为 MySQL 4.1 之前版本的扩展支持,libmysqli.dll 为 MySQL 4.1 之后版本的扩展支持。因为我上面下载的是 MySQL 4.0.20 ,所以其实复制 libmysql.dll 即可。

复制 C:\PHP5\ 目录下的 php.ini-dist 文件到 C:\windows\ 目录下,并改名为 php.ini ,并用记事本打开编辑:

定位到下面两行:

; Directory in which the loadable extensions (modules) reside.
extension_dir = "./"

修改下面一行使它指向 D:\PHP\ext\ 目录,修改后如下:

; Directory in which the loadable extensions (modules) reside.
extension_dir = "D:\PHP\ext\"

再修改参数:

----------------------------------------
session.save_path c:/windows/temp
----------------------------------------

注意c:/windows/temp,windows目录根据安装的操作系统不同而不同,如win2000则这个目录为winnt,这个temp目录必须存在,一般情况下都会有,这个设置很关键,因为php在windows安装,session如果没有这样配置会出问题。

测试 PHP 是否配置成功:

打开记事本,输入如下这行代码:

<?php phpinfo(); ?>

保存为 phpinfo.php 文件,存放于 Apache2\htdocs\ 目录下,好了,打开浏览器,在地址栏中输入: http://localhost/phpinfo.php 并回车,如果一切顺利的话你将看到下面这个页面,到此 PHP5 的配置大功告成:

3.安装mysql-5.0.1-alpha-snapshot-win

很简单,不多说了。我们假设把它安装在D:\mysql目录下,打开该目录下的bin文件夹,运行winmysqladmin.exe配置mysql

输入管理员的用户名和密码就可以了。

以后每次启动,都可以在服务里面看到MYSQL进程已经打开。

4,安装phpMyAdmin-2.6.0-pl2

      phpadmin 不需要安装,直接COPY到网页目录下即可,将其命名为phpadmin。打开C:\Windows/php.ini文件, 查找 extension=php_mysql.dll 字串.删除掉前面的 ; 号extension=php_mysql.dll,启动 PHP 对 MYSQL 模块支持.

打开phpmyadmin文件夹下面的config.inc.php3文件,定位到下面的内容:

$cfg['Servers'][$i]['host']   = 'localhost'; // MySQL hostname or IP address
$cfg['Servers'][$i]['auth_type']   = 'config';   // Authentication method (config, http or cookie based)?
$cfg['Servers'][$i]['user']   = 'root';   // MySQL user
$cfg['Servers'][$i]['password']   = ';   // MySQL password (only needed
                      // with 'config' auth_type)

将host,user和password修改成你自己的IP地址,用户和密码,打开网页http://127.0.0.1/phpmyadmin/index.php,如果可以看到下面的页面,恭喜你,安装成功了。

5,安装ActivePerl-5.8.4.810-MSWin32-x86

       安装过程很简单,一路Next就可以了。我们将其安装在D:\usr下面,注意,ActivePerl-5.8.4.810-MSWin32-x86默认 的根目录是Perl文件夹,按照国际上面的惯例,最好是usr作我根目录,以免在以后调试程序时候出现麻烦。

      配置Apache让其支持CGI和PL文件。用记事本打开 D:\Apache2\conf\ (我这里是按照默认安装路径安装,后面的设置按照自己的安装路径做相应的改变) 目录下的 httpd.conf 文件,寻找

#ScriptAlias /cgi-bin/ "C:/WebServer/Apache2/cgi-bin/"

把前面的#号去掉 ,把C:/WebServer/Apache2/cgi-bin/新开为你需要支持CGI程序的目录,我设置的是D:/wwwtoot/cgi-bin。

寻找
<Directory "C:/WebServer/Apache2/cgi-bin">

也修改为D:/wwwtoot/cgi-bin,其他几处修改后如下

<Directory "D:/wwwroot/cgi-bin">
AllowOverride All
Options ExecCGI
Order allow,deny
Allow from all
</Directory>

寻找
AddHandler cgi-script .cgi

后面加上.pl ,即 AddHandler cgi-script .cgi .pl

OK,自己写个CGI程序测试一下:

#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "Hello, World.";

保存为hello.cgi,放置在F:\WEB\CGI-BIN文件夹下面,使用浏览器打开http://127.0.0.1/cgi-bin/hello.cgi,显示正常,则安装成功。

6,安装j2sdk-1_4_2-windows-i586

由于安装tomcat前需要安装j2sdk,所以要先安装j2sdk-1_4_2-windows-i586,过程很简单,安装到D:\j2sdk文件夹。

设置环境变量,

JAVA_HOME=D:\j2sdk
TOMCAT_HOME=C:\WebServer\Tomcat
CLASSPATH=D:\j2sdk\lib\dt.jar;D:\j2sdk\lib\tools.jar

修改path项目,添加以下部分“;%JAVA_HOME%\bin;%TOMCAT_HOME%\bin”

在Path最后附加:

Path = ......;%JAVA_HOME%\bin

打开CMD,输入java –version,显示下面的内容

java version "1.4.2"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2-b28)
Java HotSpot(TM) Client VM (build 1.4.2-b28, mixed mode)

输入javac,显示:

C:\Documents and Settings\lin>javac
Usage: javac <options> <source files>
where possible options include:
-g         Generate all debugging info
-g:none         Generate no debugging info
-g:{lines,vars,source}   Generate only some debugging info
-nowarn         Generate no warnings
-verbose         Output messages about what the compiler is doing
-deprecation       Output source locations where deprecated APIs are us
ed
-classpath <path>   Specify where to find user class files
-sourcepath <path>   Specify where to find input source files
-bootclasspath <path>   Override location of bootstrap class files
-extdirs <dirs>   Override location of installed extensions
-d <directory>       Specify where to place generated class files
-encoding <encoding>   Specify character encoding used by source files
-source <release>   Provide source compatibility with specified release
-target <release>   Generate class files for specific VM version
-help         Print a synopsis of standard options
表示JAVAC也安装成功。

7.Tomcat安装

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

      使用MYIE打开 http://127.0.0.1:8080/index.jsp ,可以看到如下的页面,再次恭喜你,tomcat也安装成功。tomcat默认的HTTP端口和用户名可以去C:\WebServer\Tocat\conf目录下修改server.xml和tomcat-user.xml文件。

8.整合Apache和Tomcat。

      用记事本打开 D:\Apache2\conf\ 目录下的httpd.conf文件,在最后面增加下面的内容:
LoadModule jk2_module modules/mod_jk2.so

      在D:\Apache2\conf目录下新建一个workers2.properties文件,内容如下:


info=Scoreboard. Requried for reconfiguration and status with multiprocess servers.
file=anon

# Defines a load balancer named lb. Use even if you only have one machine.


# Example socket channel, override port and host.

port=8009
host=127.0.0.1

# define the worker

channel=channel.socket:localhost:8009
group=lb

# Map the Tomcat examples webapp to the Web server uri space

group=lb


info=Status worker, displays runtime information


info=The Tomcat /jkstatus handler
group=status:

如果懒得写代码,将该文件夹下面的workers2.properties.sample改成workers2.properties即可。

写一个JSP文件,内容如下:

<% out.println( "Welcome to LVs BLog" http://www.blogcn.com/images/wink.gif; %>

      保存放置在C:\WebServer\Tocat\webapps\examples目录下,打开网页http://127.0.0.1/examples/index.jsp,就可以看到Hello, world.字样,这个效果和使用地址http://127.0.0.1:8080/examples/index.jsp看到的页面是一样的,说明Apache和Tomcat已经整合成功。

9、继续配置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进行执行解析,如果存在则同样还会执行,所以只是一个治标不治本的方法,但是它也是一个相对比较有效的方 法。

10.安装iASP2.1.01

安装过程iASP2.1.01会自动找到JDK的安装路径,所以安装过程很很是简单,我们将其安装在d:/Instant文件夹下面。

主要是后面的配置:

第一步:代理服务(proxy)选择:instant asp native servlet support
第二步:WEB SERVER选择:apache。(可以不管它提示)
第三步:选择apache的配置文件:httpd.conf的位置。我的为:D:\Program Files\Apache Group\Apache2\conf\\httpd.conf

版本选择2.X(根据您的apache版本选择)。

proxy:如果您有固定ip,添入您的固定ip。如果没校 蔷吞恚?27.0.0.1。
port: 这是apache与iasp之间的代理接口。使用默认(9098)即可。
server manager port:远程管理端口,选择默认(9095)即可。

第四步:配置完成。

配置完成以后,程序会自动在apache的配置文件httpd.conf最后加入了以下语句:

# iASP Setting
LoadModule iasp_module "d:/Instant/bin/apache/win32/2.0/iasp.dll"

Alias /iasp "d:/Instant"
IaspConfig server "d:/Instant/properties/server.properties"
IaspConfig rules "d:/Instant/properties/rules.properties"

通过更改httpd.conf更改apache的默认首页:

DirectoryIndex index.htm
DirectoryIndex index.php
DirectoryIndex index.asp

更改完毕后,保存,重启apache

执行:开始->程序->Instant ASP 2.1.01->Install iASP as NT Service

这样,iasp就被加到了windows server的服务中。

执行:开始->程序->Instant ASP 2.1.01->Start Instant ASP

这样,iasp就被立即打开。apache可以支持asp了!

从新启动Apache,发现如下:

这 个主要是因为Iasp还不支持我们用的APACHE版本,问一个朋友要了一个支持apache_2.0.52的iasp.dll,替换d: /Instant/bin/apache/win32/2.0/iasp.dll,从新启动Apache成功,写一个ASP文件保存为 index.asp.
<%
Response.Write "<BR><h1>Congradulations!<BR>Instant ASP has worked for you!</h1>"
%>
打开网页http://127.0.0.1/index.asp
出现:

这个iasp.dll不是很好,如果你希望在Apache安装ASP,建议使用Apache低一点的版本,使其有支持的iasp.dll文件.

注意:为了不与系统表情符号冲突,一些关键字如#,:都转化为对应的全码形式,请自行改变。

淘主机 发表于 2012-10-21 23:22:25

转移到win应用版块!
页: [1]
查看完整版本: Windows下服务器平台(APACHE+JSP+CGI+PHP+ASP+MYSQL)