Windows XP 下安装整合Apache2+Mysql5+Tomcat5.5+PHP5+JSP+ASP
软件:
Apache(2.2.4):http://httpd.apache.org/download.cgi
PHP(5.2.3,zip包):http://www.php.net/downloads.php
MySQL(5.0.41):http://dev.mysql.com/downloads/
phpMyAdmin(2.10.2):http://www.phpmyadmin.net/home_page/downloads.php
Tomcat5.5 http://tomcat.apache.org/...
1. 安装PHP5,路径可以自己调整,记得在用到路径时使用自己设置的路径就没问题。
直接解压压缩包到c:\php
更改环境变量:我的电脑属性》高级》环境变量》双击"Path",追加c:\php;c:\php\ext
2.安装Apache2.2
双击msi安装包,domain和server可以用自己本地的ip或者localhost
配置Apache
用记事本打开%apache-root%/conf/httpd.conf,找到:
# LoadModule foo_module modules/mod_foo.so
追加:
LoadFile "c:/php/php5ts.dll"
LoadFile "c:/php/libmysql.dll"
PHPIniDir "c:/php"
LoadModule php5_module "c:/php/php5apache2_2.dll"
找到:
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
追加:
AddType application/x-httpd-php .php
这样就可以支持php5和mysql
接下来更改网站目录:
DocumentRoot "c:/wwwroot"
更改为你的apache的web根目录,我的是D:/develop/apache2/htdocs
<Directory "D:/develop/apache2/htdocs">
更改默认页面:
DirectoryIndex index.html index.php (这里可以追加一堆你想要的,什么defult.hml,index.jsp...etc)
暂时没什么可以更改的了,稍后整合还要修改。
php的配置
把php.ini-dist复制一份,改名为 php.ini然后修改:
在Data Handling下找到post_max_size = 8M
这是PHP将接受的POST数据最大大小,可更改为20M。
在Paths and Directories下找到extension_dir=
这里设置的是PHP搜索扩展库的位置,将其路径设为extensions文件夹的位置,即改成:
extension_dir="c:\php\ext"
在File Uploads下找到upload_max_filesize = 2M,允许上传的的最大文件大小
可更改为20M。
Dynamic Extensions这里是PHP扩展设置部分,列出了PHP所有的可支持扩展,前面都加了分号注释,表示目前PHP配置不支持扩展,我们可以将分号去掉让PHP支持该扩展下面列出的是几个常用且较实用的PHP扩展把下面几句前面的分号去掉
;extension=php_mbstring.dll
;extension=php_dba.dll
;extension=php_dbase.dll
;extension=php_filepro.dll
;extension=php_gd2.dll
;extension=php_imap.dll
;extension=php_mysql.dll
好了一切准备就绪!
修改好之后COPY php.ini一份到C:\Windows下
3.重起APACHE,在主目录下新建一个记事本文件test在里面输入
<?php
phpinfo();
?>
保存后修改后缀名为PHP。在浏览器输入http://127.0.0.1/test.php是不是看到PHP版本信息,没错,这样PHP的配置就完成了。
4. 安装MYSQL5。
第一步:双击.exe文件出现的第一个需要选择的对话框是Setup Type 也就是
安装种类,这里我们可以选择Custom,根据自己的需要来安装组件和配置安装路径
点击Next,右键点击对话框出现几个硬盘形状的图标,根据自己的需要选择安装组件,
点击窗口右下的Change按钮更改安装路径的,设置好后,点击Next开始安装安装到最
后会有如下一个对话框在这里的三个选项分别是:
1:如果你没有MYSQL.com帐户,选第一个,创造一个新的免费的MYSQL.com帐户
2:如果你有MYSQL.com帐户,选第二个,填入已经注册好的邮箱名和密码(最好跳过,懒得麻烦,又没什么大用处)
3:跳过此步骤
我们选第一个
接下来会一次出现三个对话框,在三个对话框中有* 号的部分是必须要填的,
按顺序分别是邮箱名,密码,确认密码;first name ,last name;邮政编码,
国家,省名。国家名选china,省名选other or N/A即可4.1.x和4.0.x系列版
本很大一个区别就是在安装完毕后不是运行 mysql文件夹下面的winmysqladmin.exe来
启动服务器后设置选项,而是有一个设置的过程。
第二步:设置MYSQL
首先你会看到这样的一个窗口,这里有两个选项,分别是详细配置和标准配置,
小型应用选第二项就可以了点击Next后出现下面的对话框,这里是重要的,一定
要在下拉菜单里选择MySQL41,否则不能正常启动,下面的选项是是否应用命令行,
最好选上点击Next后设置数据库密码的对话框,中间偏右和下面的选项分别是是否
允许远程控制和是否允许匿名帐号登入,为了安全,不要选择好了,点击Next后出
现最后的对话框,点击Execute按钮数据库服务器便启动了,依次出现四个对号后
点击Finish结束安装
5.装上PHPMYADMIN
安装很简单,解压缩即可,放在...yourapacheinstallationpath/htdocs/下,通过web访问,http://localhost/phpmyadmin/
如果遇到如下提示,do not worry.
#1251 - Client does not support authentication protocol requested by server; consider upgrading MySQL client
在开始菜单找到刚刚安装的MYSQL命令行工具,输入root的密码后键入如下的字样:
mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('刚才设置的ROOT密码')
-> WHERE Host = 'localhost' AND User = 'root';
mysql> FLUSH PRIVILEGES;(注意FLUSH后有空格)
然后浏览"http://localhost/phpmyadmin"
OH YEAH! 测试成功!
6。安装Tomcat5.5
好了,以上安装好了Apache2+PHP5+Mysql5.下面接着要安装Tomcat5来支持JSP啦。
tomcat需要JAVA支持,所以要先安装JDK1.5,(JDK1.6太新了,最好不要用,不过你可以尝试,呵呵),从SUN网站上下载安装即可,要把路径写入环境变量
这个就不要我说了吧。稍微用过Java的地球人的知道,大家都是从"Hello World!"过来的。
从apache2上下载tomcat5.5的windows安装文件,文件名为"apache-tomcat-5.5.20.exe" ,一路安装,应该没什么问题。
默认端口是8080,不必修改。安装好之后启动tomcat5,在browser下访问http://localhost:8080
我猜你一定看到熟悉的tomcat界面了。
7。整合apache2+tomcat5
不要采用传统的JK模块进行整合了,用apache2自带的模块很不错的
因为apache2.2.4采用mod_proxy连接apache与tomcat,所以配置非常简单。
这里我们只需要改动...yourpath\Apache2.2\conf\ 下的httpd.conf的两个地方即可:
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
去掉"#"
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
然后加上如下两行,意思是将apache2/htdocs/下的所有文件转发给JSP处理
ProxyPass / ajp://127.0.0.1:8009/
ProxyPassReverse / ajp://127.0.0.1:8009/
或许这并不是你想要的。如果你的WEB服务主要用来出来JSP,那么当然你可以这样,加入如下这句
ProxyPass /img ! img是htdocs下的目录名,你可以修改为你自己的
意思img目录下的文件不转发给tomcat处理,由apache+php自己处理。
另外,还要修改tomcat的server.xml配置文件,使tomcat端口和根目录指向htdocs.有多种方法修改指向,一是在server.xml中写明
而是配置conf\Catalina\localhost\下的ROOT,文件,在这里我修改ROOT文件为:
<?xml version='1.0' encoding='utf-8'?>
<Context path="" reloadable="ture" docBase="D:\Develop\Apache2.2\htdocs\jsp\" >
</Context>
为了方便大家,我也贴出我的server.xml文件。
<Server port="8005" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<Listener className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/>
<GlobalNamingResources>
<Environment name="simpleValue" type="java.lang.Integer" value="30"/>
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
</GlobalNamingResources>
<Service name="Catalina">
<Connector port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="7443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
<Connector port="8443" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" keystoreFile="conf/tomcat.keystore" keystorePass="pea4ch"/>
<Connector port="8009"
enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
</Engine>
</Service>
</Server>
我做得比较整洁。并且有使用SSL配https,
<Connector port="8443" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" keystoreFile="conf/tomcat.keystore" keystorePass="pea4ch"/>
这段是可以忽略的。
---------------------××××××××××××××××××××××××××××××××----------------------------
我自己是这样的。因为我使用了apache2的虚拟主机,
两个虚拟主机
www.zhuheng.com 的根目录在 D:\Develop\Apache2.2\htdocs
www.zhuheng.org 的根目录在 G:\WWW 下
我的JSP文件放在D:\Develop\Apache2.2\htdocs\jsp下。
于是我在httpd-vhosts文件中这样设置:
#henry added @2007-11-26 for virtual hosts test
<VirtualHost *:80>
ServerName www.zhuheng.com
DocumentRoot "D:/Develop/Apache2.2/htdocs"
ProxyPass /jsp/ ajp://localhost:8009/
ProxyPassReverse /jsp/ ajp://localhost:8009/
</VirtualHost>
<VirtualHost *:80>
ServerName www.zhuheng.org
DocumentRoot "H:/www"
</VirtualHost>
-------------
解释:
ProxyPass /jsp/ ajp://localhost:8009/
ProxyPassReverse /jsp/ ajp://localhost:8009/
这两句的意思是把D:\Develop\Apache2.2\htdocs\jsp的文件交给tomcat解析。成功啦!
当然之前要修改httpd.conf,打开load proxy mod的功能:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
就是这样啦。也还蛮简单的。
8。整合ASP
也是用apache下面的一个模块,叫mod_aspdotnet 2.0.0
我的安装过程如下:
下载安装windows asp.net framework2.0
URL:http://www.microsoft.com/downloa ... &DisplayLang=en,选择网络类型下载
默认安装即可,缺省安装路径是:C:\WINDOWS\Microsoft.NET
从http://sourceforge.net/project/d ... r2.msi&50319130
下载apache2支持ASP的模块mod_aspdotnet 2.0.0
默认安装在apache2的路径下。
安装完成之后,修改httpd.conf
在httpd.conf最后追加如下内容:
#asp.net
LoadModule aspdotnet_module "modules/mod_aspdotnet.so"
AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj licx rem resources resx soap vb vbproj vsdisco webinfo
<IfModule mod_aspdotnet.cpp>
# Mount the ASP.NET example application
AspNetMount /active/ "D:/ASP"
# Map all requests for /active to the application files
Alias /active "D:/ASP"
# Allow asp.net scripts to be executed in the active example
<Directory "D:/ASP">
Options FollowSymlinks ExecCGI
Order allow,deny
Allow from all
DirectoryIndex Default.htm Default.aspx
</Directory>
# For all virtual ASP.NET webs, we need the aspnet_client files
# to serve the client-side helper scripts.
AliasMatch /aspnet_client/system_web/(d+)_(d+)_(d+)_(d+)/(.*) "C:/Windows/Microsoft.NET/Framework/v1.1.4322/ASP.NETClientFiles/$4"
<Directory "C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/ASP.NETClientFiles">
Options FollowSymlinks
Order allow,deny
Allow from all
</Directory>
</IfModule>
-------×××××××××××××××××××××××××-------------------------
因为我使用了虚拟主机,所以我又在httpd-vhost.conf文件中添加了如下内容:
<VirtualHost *:80>
ServerName www.zhuheng.com
DocumentRoot "D:/Develop/Apache2.2/htdocs"
ProxyPass /jsp/ ajp://localhost:8009/
ProxyPassReverse /jsp/ ajp://localhost:8009/
<IfModule mod_aspdotnet.cpp>
AspNetMount /active/ "D:/ASP"
Alias /active "D:/ASP"
<Directory "D:/ASP">
Options FollowSymlinks ExecCGI
Order allow,deny
Allow from all
DirectoryIndex Default.htm Default.aspx index.htm index.html
</Directory>
<Directory "C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/ASP.NETClientFiles">
Options FollowSymlinks
Order allow,deny
Allow from all
</Directory>
</IfModule>
</VirtualHost>
-------×××××××××××××××××××××××××-------------------------
解释:
在apache2/htdocs下建一个active的空目录,然后通过【AspNetMount /active/ "D:/ASP"】指向到ASP的工作路径,
当然你可以修改为你自己的。active也是可以自己随意命名的,只是起一个转向作用。
写到这里基本上几完成了,在整合过程中,你需要不断重启apache,用"net stop|start apache2"命令,你也可以不断在控制台中使用"apache2\bin\httpd.exe -S" 这个命令,检查你的的httpd.conf配置文件
是否有错误。它会给你很好的提示。最后我贴出我的httpd.conf,httpd-vhosts.conf,server.xml,ROOT.xml ,希望对你有帮助。更多详情,请访问我的个人网站http://www.2008kid.cn:8888
httpd.conf
###########below is my httpd.conf##############
ThreadsPerChild 250
MaxRequestsPerChild 0
ServerRoot "D:/Develop/Apache2.2"
Listen 80
LoadModule actions_module modules/mod_actions.so
LoadModule alias_module modules/mod_alias.so
LoadModule asis_module modules/mod_asis.so
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule authn_default_module modules/mod_authn_default.so
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authz_default_module modules/mod_authz_default.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule cgi_module modules/mod_cgi.so
LoadModule dir_module modules/mod_dir.so
LoadModule env_module modules/mod_env.so
LoadModule imagemap_module modules/mod_imagemap.so
LoadModule include_module modules/mod_include.so
LoadModule isapi_module modules/mod_isapi.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule mime_module modules/mod_mime.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule userdir_module modules/mod_userdir.so
LoadModule php5_module "D:\Develop\PHP5\php5apache2_2.dll"
PHPIniDir "D:\Develop\PHP5\"
LoadFile "D:\Develop\PHP5\libmysql.dll"
LoadFile "D:\Develop\PHP5\libmcrypt.dll"
LoadFile "D:\Develop\PHP5\php5ts.dll"
ServerAdmin zh1229@gmail.com
ServerName www.zhuheng.com:80
DocumentRoot "D:/Develop/Apache2.2/htdocs"
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
Satisfy all
</Directory>
<Directory "D:/Develop/Apache2.2/htdocs">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<IfModule dir_module>
DirectoryIndex index.html index.htm index.php index.jsp default.jsp default.php default.aspx
</IfModule>
#2007-11-26 henry 整合apache2.2.4和tomcat5.5 ,不用jk2模块
#<IfModule mod_proxy.c>
#ProxyRequests On
#ProxyVia On
#<Proxy /*>
#Order deny,allow
#Deny from all
#Allow from localhost
#</Proxy>
#ProxyPass /img !
#ProxyPass / http://localhost:8009/
#ProxyPassReverse / http://localhost:8009/
#</IfModule>
<FilesMatch "^\.ht">
Order allow,deny
Deny from all
</FilesMatch>
ErrorLog logs/error.log
LogLevel warn
<IfModule log_config_module>
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
<IfModule logio_module>
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
</IfModule>
CustomLog logs/access.log common
</IfModule>
<IfModule alias_module>
ScriptAlias /cgi-bin/ "D:/Develop/Apache2.2/cgi-bin/"
</IfModule>
<Directory "D:/Develop/Apache2.2/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
DefaultType text/plain
<IfModule mime_module>
TypesConfig conf/mime.types
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
Handler cgi-script .cgi
AddType application/x-httpd-php .php
AddType application/x-httpd-php .html
AddType application/x-httpd-php .htm
</IfModule>
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>
#asp.net
LoadModule aspdotnet_module "modules/mod_aspdotnet.so"
AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj licx rem resources resx soap vb vbproj vsdisco webinfo
<IfModule mod_aspdotnet.cpp>
Mount the ASP.NET example application
AspNetMount /active/ "D:/ASP"
Alias /active "D:/ASP"
<Directory "D:/ASP">
Options FollowSymlinks ExecCGI
Order allow,deny
Allow from all
DirectoryIndex Default.htm Default.aspx
</Directory>
AliasMatch /aspnet_client/system_web/(d+)_(d+)_(d+)_(d+)/(.*) "C:/Windows/Microsoft.NET/Framework/v1.1.4322/ASP.NETClientFiles/$4"
<Directory "C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/ASP.NETClientFiles">
Options FollowSymlinks
Order allow,deny
Allow from all
</Directory>
</IfModule>
2.httpd-vhosts.conf
################below is my httpd-vhosts.con#################
<VirtualHost *:80>
ServerName www.zhuheng.com
DocumentRoot "D:/Develop/Apache2.2/htdocs"
ProxyPass /jsp/ ajp://localhost:8009/
ProxyPassReverse /jsp/ ajp://localhost:8009/
<IfModule mod_aspdotnet.cpp>
AspNetMount /active/ "D:/ASP"
Alias /active "D:/ASP"
<Directory "D:/ASP">
Options FollowSymlinks ExecCGI
Order allow,deny
Allow from all
DirectoryIndex Default.htm Default.aspx index.htm index.html
</Directory>
<Directory "C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/ASP.NETClientFiles">
Options FollowSymlinks
Order allow,deny
Allow from all
</Directory>
</IfModule>
</VirtualHost>
<VirtualHost *:80>
ServerName www.zhuheng.org
DocumentRoot "H:/www"
</VirtualHost>
server.xml & ROOT.xml文件已经贴过了
That's ALL. Good Luck to you. more information, please browse my personal website, http://www.2008kid.cn:8888.
2 条评论:
majong
http://majong.socialgo.com
真愛旅舍視頻聊天室
真愛旅舍視頻聊天室
真愛旅舍視頻聊天室
成熟女人社區
風情天下社區
戀母論壇
真實媽媽論壇
徐娘社區
柘城QQ交友
全球倫理片網
無碼一級片
中國性健康網
藍玫瑰求包養網
藍玫瑰包養網
都市包養網
三陪美女
三陪女大學生
學生包養網
精英包養網
求包養網
高端交友包養美女網站
心儀交友網
55包養網
紅玫瑰求包養網
九八情侶網
真實富婆包養網
富婆網
久久求包養網
重慶包養網
廣西包養網
小可愛視訊聊天室
ut視訊 網際空間聊天
真愛旅舍視頻聊天室
0401影音視訊聊天室
真愛旅舍視頻聊天室
同城—夜情交友qq群
夜色視頻多人聊天室
男人女人做愛視頻
ut聊天室
午夜良宵網同城約會
夫妻真人秀聊天室
同城交友視頻
live173影音視訊live秀
午夜美女真人聊天室
聊天室哪個黃
碧聊視頻語音聊天室
聊天室你懂的
聊視頻語音聊天室
免費視頻聊天室
寂寞富婆同城聊天
奇摩女孩聊天室
同城寂寞白領交友網
奇摩女孩真人視頻網
聊天室美女熱舞視頻
6699影音視訊聊天室
美女熱舞直播視頻
6699台灣辣妹視訊聊天室
美女主播性感熱舞視頻
QQ樂真人視訊交友網
台灣甜心女孩視訊
夫妻真人秀視頻聊天室
夫妻真人秀視頻聊天室
173免費視訊
173免費視訊
台灣一對一視頻聊天室
发表评论