Apache2.2+ PHP5.14+Zend3.01+MySQL 5.0.22 +tomcat5.5.17+Axis安装配置
V0.1 20060718 广州
花了一整天时间搞定了apache,tomcat,php,zend,mysql,phpMyAdmin,discuz,dedecms,axis等等php&jsp开发环境的安装配置,好辛苦啊。不忍心独享,分享给大家看看,也许有帮助吧。我选择的都是最新版的安装包(具体地址我没记录,您可以到相关的官网上去找),而本文是在我安装成功后写下的,非完全实践性教程,如有疏漏请可以联系我,我再更正!
本文提及的所有软件都安装/解压在C盘根目录下,比如php5.14解压到C:/php5,mysql5.02安装到c:/mysql5,Zend解压到C:/ZendOptimizer301。
我使用的软件包如下图:
另外,我还使用的jdk 1.6 beta(您使用1.5应该也可以,tomcat55需要1.5才能跑),您需要配置jdk环境变量等,这里我不再说明
Apache 2.2.2 的配置
在httpd.conf文件中添加/修改如下配置:
ServerName localhost:80
DocumentRoot "C:/Apache22/htdocs"
#Listen 10.200.3.127:8080
Listen 80
DirectoryIndex index.html index.htm index.php index.phtml index.jsp
apache
2.2.2
+ PHP5.1.4 不能运行的解决办法
1下载http://www.apachelounge.com/download/mods/php5apache2.dll-php5.1.x.zip这个补丁,解压
2.将 php5apache2.dll 改名为php5apache22.dll拷贝到PHP5的根目录下.
3.将 httpd.exe.manifest 文件复制到你的apache2.2安装目录下的bin文件夹下.
4.双击运行vcredist_x86.exe安装.(如果您的系统里已安装了 .NET framework 2.就可以省掉这一步)
完成!
Php5.14的安装配置
修改c:/php5下的php.ini-dist文件名为php.ini.
修改php.ini.中相关配置项:
extension_dir = "C:/php5/ext"
然后去掉
extension=php_mbstring.dll
extension=php_gd2.dll
extension=php_imap.dll
extension=php_ldap.dll
extension=php_mysql.dll
等前面的#号,当然你全部去掉也没问题,不过没什么必要,因为咱们用不到这些扩展
extension_dir = "C:/php5/ext" 指定就可以了,不用把这些dll都复制到系统目录(网上许多文章提及)。
在httpd.conf文件中添加做如下配置:
PHPIniDir "C:/php5"
LoadModule php5_module "C:/php5/php5apache2.dll"
AddType application/x-httpd-php .php
注:PHPIniDir "C:/php5" 这条很关键,指明在哪里去找php.ini文件。由于在apache的conf文件中设置了PHPIniDir,故不需要将php.ini文件复制到windows目录。
Zend引擎安装
PHP.ini文件中添加Zend支持
[Zend]
zend_extension_manager.optimizer_ts="C:/ZendOptimizer301/lib/Optimizer- 3.0.1 "
zend_extension_ts="C:/ZendOptimizer301/lib/ZendExtensionManager.dll"
zend_optimizer.optimization_level=15
将上面这一段复制到php.ini文件最后,保存就OK了。
Mysql 5.022的配置
Mysql安装后好,我使用MySQLInstanceConfig.exe程序配置的,没有直接修改my.ini文件。当然你也可以直接修改,网上已经有不少安装指南可参考。由于是开发环境,这里我把root用户的密码设置为root,必要的时候再做修改吧。
PHP连接mysql密码认证问题。使用下面的命令解决
mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('root') WHERE Host = 'localhost' AND User = 'root';
修改上面命令行中的用户名和密码
Tomcat 5.5.17 配置
我将tomcat安装到C:/Tomcat 5.5,安装时要选择jdk,它能找到jdk的安装目录就可以了。
注:如果要用apache的较早期版本连接tomcat或做集群,则需要配置conf目录里的相关文件
下载安装Tomcat Admin包,将conf和server复制到tomcat home下。从http://localhost:8080/admin登陆管理你的tomcat,用户名密码在tomcat-users.xml文件中,你可以修改。默认是admin/admin
配置tomcat的虚拟目录。在catalina/localhost目录下新建一个xxxx.xml文件,写上类似<Context path="/axis14" docBase="C:/axis14/webapps/axis" reloadable="true" debug="0"></Context>这样的内容,就指定了一个虚拟目录,自己试试吧。我这里设置到了axis14的安装目录里,你可以设置到你单独的一个应用…另外,不要设置到你的php目录哦!
顺便下载安装mysql jdbc connector吧,将解压后的jar文件放到common/lib下,以及jdk的jre/lib/ext下。注意你的环境变量哦。
配置apache与tomcat的连接
由于我的apache不仅要处理php请求,还要处理jsp请求,故连接到tomcat也是必不可少的。作法如下:
1: 在http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-
1.2.6
下载mod_jk_1.2.6_2.0.50.dll文件,将其改名为mod_jk.so后放到apache2/modules目录中。
2.
以下是apache2.0的安装,我使用的是2.22,只要配置代码就可以了。
在apache/conf/httpd.conf文件末尾,添加下面一段:
#配置apache连接tomcat
LoadModule jk_module modules/mod_jk.so
JkWorkersFile "C:/Tomcat 5.5/conf/workers.properties"
#JkMount /* ajp13
JkMount /servlet-servlet/* ajp13
#JkAutoAlias "C:/Tomcat 5.5/webapps"
3.
打开记事本,输入下列语句,以workers.properties为文件名保存在tomcat安装目录/conf目录下:
workers.tomcat_home=C:/Tomcat 5.5
workers.java_home=C:/Program Files/Java/jdk 1.6.0
ps=/
worker.list=ajp13
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
worker.ajp13.lbfactor=1
3.在2.22下设置代理就可以连接tomcat,不需要再使用JK(jk已经不更新了),在httpd.conf文件中做如下配置:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
去掉以上两句前的#号。
#禁止使用proxy_ajp代理的目录:
ProxyPass /images/ !
ProxyPass /imobile !
ProxyPass /phpMyAdmin !
ProxyPass /dedecmsv301 !
#使用proxy_ajp代理;下面的配置,是把所有目录全用代理(当然,还会跟上面的禁用配置组合成完整的规则)
ProxyPass / ajp://127.0.0.1:8009/
ProxyPassReverse / ajp://127.0.0.1:8009/
说明:代理配置花了我不少时间,网上资料太少了。apache 2.2支持代理模块很多,值得花时间去研究一下!
Axis的安装
Axis不仅仅是一个SOAP引擎,它还包括:
一个独立运行的SOAP服务器
一个servlet引擎的插件,这个servlet引擎可以是Tomcat
对WSDL的扩展支持
一个将WSDL的描述生成JAVA类的工具
一些示例代码
还有一个监控TCP/IP包的工具
要用Axis开发Web Services,你需要先安装jdk和tomcat
1.在http://ws.apache.org/axis/dist 下载新版的axis。
我使用的是1.4,下载后解压到C:/axis14
2.配置环境变量:
AXISCLASSPATH=C:/axis14/lib
AXIS_HOME=C:/Tomcat 5.5/webapps/axis
AXIS_LIB=C:/axis14/lib
CATALINA_HOME=C:/Tomcat 5.5
同时把C:/axis14/lib添加到你的classpath环境变量中去(以上路径请自选替换成你的安装路径)。
http://localhost/axis/happyaxis.jsp?locale=en
编写批处理文件,用于启动和停止服务
Start.bat:
@echo off
C:/Apache22/bin/httpd.exe -k install -n ApacheTomcat
C:/MySQL5/bin/mysqld-nt.exe --install-manual NeoMysql --defaults-file=C:/MySQL5/my.ini
net start ApacheTomcat
net start ApacheTomcat
start http://localhost
Stop.bat:
@echo off
net stop ApacheTomcat
net stop ApacheTomcat
C:/Apache22/bin/httpd.exe -k uninstall -n ApacheTomcat
C:/MySQL5/bin/mysqld-nt.exe --remove NeoMysql
以上两个批处理文件放在C盘跟目录下,批处理文件中apache和mysql的所对应的路径请自行修改。Tomcat需要设置为自动启动(当然也可以在上面的bat文件中添加启动控制语句)。
测试
1.执行start.bat启动服务。
2.访问phpinfo();页面确认php是否正常执行,zend引擎有没生效。其它加载模块是否可用。
3.mysql测试
>mysql -h localhost -u root –p
测试你的mysql是否正常运行,如果可以就可以安装你的php应用了…如果出错,可能是mysql配置上有问题,或者没正常启动。
4.配置phpmysqladmin,连接数据库…
5.访问localhost应该可以看到tomcat的index.html,对应到webapps目录。其它php应用放在禁止使用proxy_ajp的目录下。
6.安装、测试你的其它应用吧(php就放在htdoc目录下,jsp就放webapps目录下吧。必要的时候再改一下apache的proxy_ajp配置)。
Dede、Discuz等其它一些系统安装
在安装了php和mysql后,我先后安装了dede和discuz及phpmyadmin等系统,还有我自己读书时写的mysqladmin当时可比phpmyadmin好用哦,可惜俺不开放,没开源出去….
我安装的当然是最新版的phpmyadmin 2.8.01 ,它的安装有所变化,不再是直接修改config.inc.php文件。下载后直接解压到到你的htdoc目录里,访问其index.php(它会调用安装脚本),根据提示输入相应的参数,主要是mysql的用户密码什么的,最后占击界面上的download下载这个config.inc.php文件,放在phpmyadmin的目录下。如果你的配置参数无误,再次访问index.php应该可以登陆了。这里要说明的是所有配置项最好都进去update一把,不然以后要更改config.ini.php文件的参数就比较麻烦了。
Dede和discuz都很好安装,直接看看它的帮助,执行它们的脚本程序,然后admin登陆,配置你的内容吧。另外还可以安装些插件,我装了两个,还不错,再改改就是自己的风格了,这里不再赘述。
Mambo也不错,我蛮喜欢的。不过mysql5方面支持得不好,使用mysql4没问题。最后,我还是选择以前用过的dede 。
CMS方面,我还下载了Phpnuk, Drupal等,不过没安装,phpnuke以前用过,drupal就不清楚了,听评论不错。
Postgresql,我很感兴趣的东东,我不知道安装了多少次了,从最初的版本开始。8.0支持windows了,可是一直没有对它有个深入的了解和学习,这次一定借助PHP对它好好研究一下。
Smarty,我还真是第一次接触…不知道phplib现在怎样了?不过smarty有点意思。
其它一些以前记得或用过的一些系统好像落伍了,故我也没有找它们出来。我想有了dede和discuz我的目标已经达成了一大半了。
后记
写本文的目的是给php&jsp的开发者朋友一些提示和建议,由于这些软件采用的是最新版的,安装配置时难免遇到问题,希望以上说明能对您有所帮助。如果您是在服务器上做配置,建议您还是要花大力气去研究这些软件才是!
另,如果有空了,专门做个安装包,把一些优秀的软件都打包进来,省得大家做这么多乱几八糟的配置…
PHP6快发布了吧,真是激动人心啊。这么优秀的东西,如果大的厂商早点支持,还会有JSP吗?
好久不写东西了…
插曲:
1.几年没有搞PHP了,想来我老本是PHP的元老啊,如今沦落了点。最近想搞一个网站,在asp/php/jsp间辗转几天,最后决定咱还是以PHP为主吧。PHP的性能优势咱知道,ASP咱也能写些东西,Jsp目前还差点,不过咱的网站是要支持客户的应用系统的,支持JSP也是有必要地。哦,这里我只是想说”我这几天发现了不少好东西”而已,话到一边去了。
2.我用的是xp,在ultraedit中编辑的中文复制到word时出现乱码,在网上查了一下,原因是”英文键盘”引起的,在控制面版,输入法中删除了默认的英文键盘,添加了中文键盘为默认,就不会出现复制粘贴时的乱码了。