• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

在RHAS4下配置apache2+tomcat4+php5+oracle10g+gd+png+zlib

发布: 2007-6-08 09:09 | 作者: seanhe | 来源: Blog.ChinaUnix.net

软件测试论坛讨论

领测软件测试网 所需软件列表
gd-2.0.15.tar.gz
httpd-2.1.3-beta.tar.gz
jakarta-tomcat-4.1.29-LE-jdk14
jakarta-tomcat-connectors-jk2-2.0.4-src.tar.gz
libpng-1.2.6.tar.gz
mm-1.3.1.tar.gz
php-5.0.4.tar.gz
zlib-1.2.1.tar.gz
jpegsrc.v6b.tar.gz

所需软件列表
gd-2.0.15.tar.gz
httpd-2.1.3-beta.tar.gz
jakarta-tomcat-4.1.29-LE-jdk14
jakarta-tomcat-connectors-jk2-2.0.4-src.tar.gz
libpng-1.2.6.tar.gz
mm-1.3.1.tar.gz
php-5.0.4.tar.gz
zlib-1.2.1.tar.gz
jpegsrc.v6b.tar.gz

由于oracle10G已经带有jdk1.4.2所以用oracle10G的jdk
在/usr/local 下建立 软连接 jdk
#ln -s /database/oracle/product/10.1.0/db_1/jdk /usr/local/jdk
# cat /etc/profile.d/java.sh
# set java environment
export JAVA_HOME=/usr/local/jdk
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$JAVA_HOME/lib

更改shell文件属性:
#chmod 755 /etc/profile.d/java.sh

安装apache :
注:apache在linux下的默认最大进程数为256,无论如何修改httpd.conf都不能超过这个限制。如果想加大这个限制,在编译apache前编辑/apache_src_home/server/mpm/prefork/prefork.c ,将其中#define HARD_SERVER_LIMIT 256 一行改为#define HARD_SERVER_LIMIT 2048后再编译apache

#tar zvxf httpd-2.1.3-beta.tar.gz
#cd httpd-2.1.3-beta
#./configure --prefix=/usr/local/apache -enable-module=so --enable-ssl --enable-rewrite --enable-module=setenvif --with-mpm=prefork
#make;make install
修改/usr/local/apache/conf/httpd.conf文件
增加 AddDefaultCharset OFF
改 ServerName YouIP

安装mm
#zvxf mm-1.3.1.tar.gz
#cd mm-1.3.1
#./configure --disable-shared
#make;make install

安装zlib
#tar zvxf zlib-1.2.1.tar.gz
#cd zlib-1.2.1
#./configure
#make;make install

安装libpng
#tar zvxf libpng-1.2.6.tar.gz
#cd libpng-1.2.6
#cp scripts/makefile.linux makefile
#make;make install

安装freetype2
#tar zvxf freetype-2.1.5.tar.tar
#cd freetype-2.1.5
#./configure --prefix=/usr/local/freetype2
#make;make install

安装gd
#tar zvxf gd-2.0.15.tar.gz
#cd cd gd-2.0.15
#./configure --with-freetye=/usr/local/freetye2
#make;make install

安装Php :
(注意整合oracle最后加的--with-oracle --with-oci8选项)
#tar zvxf php-5.0.4.tar.gz
#cd php-5.0.4
#./configure --with-apxs2=/usr/local/apache/bin/apxs --enable-track-vars --enable-debug --enable-url-includes --enable-sockets --with-gd --with-freetype-dir=/usr/local/freetype2 --with-zlib --with-png-enable-gd-native-ttf -with-jpeg -with-xml --with-mm --with-openssl --with-iconv --enable-memory-limit=yes --enable-ftp --enable-bcmath --enable-fastcgi --with-oracle=/database/oracle/product/10.1.0/db_1 --with-oci8=/database/oracle/product/10.1.0/db_1
#make;make install

修改httpd.conf加入
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
AddType application/x-httpd-php .php3

安装tomcat:
#tar zvxf jakarta-tomcat-4.1.29-LE-jdk14.tar.gz
#mv jakarta-tomcat-4.1.29-LE-jdk14 /usr/local/tomcat
由于oracle占用8080,所以个改/usr/local/tomcat/conf/server.xml
Connector port="8081" 改为8081,增加URIEncoding="GBK"
为Tomcat新建一个管理用户,为此需要编辑/usr/local/tomcat/conf/tomcat-users.xml,在里面添加类似的一行:

测试Tomcat正常安装:
#/usr/local/tomcat/bin/startup.sh
通过IE http://yourIP:8081/ Tomcat的页面正常显示

安装jk2
#tar zvxf tar zvxf jakarta-tomcat-connectors-jk2-2.0.4-src.tar.gz
#cd jakarta-tomcat-connectors-jk2-2.0.4-src
#cd jk/native2
#chmod 755 buildconf.sh
#./configure --with-apxs2=/usr/local/apache/bin/apxs --enable-EAPI
如果make install 不成功需要手工发布mod_jk2.so
#cd /jakarta-tomcat-connectors-jk2-2.0.2-src/jk/build/jk2/apache2
#cp *.so /usr/local/apache/modules/

整合apache+tomcat
修改/usr/local/tomcat/conf/server.xml
appBase="webapps"改为appBase="/usr/local/apache/htdocs"
修改httpd.conf增加
DirectoryIndex index.html index.html.var index.jsp
LoadModule jk2_module modules/mod_jk2.so
修改/usr/local/tomcat/conf/jk2.properties,加入
[shm]
shm.file=/usr/local/tomcat/logs/jk2.shm
size=1048576
handler.list=apr,request,channelSocket
channelSocket.port=8009
在/usr/local/apache/conf中创建workers2.properties文件,内容如下
[shm]
shm.file=/usr/local/tomcat/logs/jk2.shm
size=1048576

[channel.socket:localhost:8009]
tomcatId=localhost:8009

[ajp13:localhost:8009]
channel=channel.socket:localhost:8009

worker=ajp13:localhost:8009
[uri:/examples/*]
[uri:/jswy/*]

测试
编辑/usr/local/apache/htdocs/testphp.php内容如下

启动apache
/usr/local/apache/bin/apachectl start
启动tomcat
/usr/local/tomcat/bin/startup.sh
打开浏览器
测试php: http://youip/testphp.php
测试jsp: http://youip/jswy

虚拟主机部分配置
tomcat配置部分
修改/usr/local/tomcat/server.xml,在
后加入


unpackWARs="true" autoDeploy="true">



unpackWARs="true" autoDeploy="true">



jk2部分配置
编辑修改/usr/local/apache/conf/workers2.properties如下
[shm]
shm.file=/usr/local/tomcat/logs/jk2.shm
size=1048576

[channel.socket:localhost:8009]
tomcatId=localhost:8009

[ajp13:localhost:8009]
channel=channel.socket:localhost:8009

[uri:127.0.0.1/*.jsp]
worker=ajp13:localhost:8009

[uri:192.168.0.100/*.jsp]
worker=ajp13:localhost:8009

[uri:192.168.0.200/*.jsp]
worker=ajp13:localhost:8009
也可以在httpd.conf虚拟主机加入下面代码

JkUriSet worker ajp13:localhost:8009


apache配置部分
使用基于ip的虚拟主机策略,具体原理参照后面的文章
修改/usr/local/apache/conf/httpd.conf
加入

serverAdmin root@b88k.com
DocumentRoot /usr/local/apache/htdocs/jswy
ServerName www.b88k.com
ErrorLog /usr/local/apache/logs/b88k.com/errot_log
TransferLog /usr/local/apache/logs/b88k.com/access_log




serverAdmin root@b88k.com
DocumentRoot /usr/local/apache/htdocs/local
ServerName www.b88k.com
ErrorLog /usr/local/apache/logs/local/errot_log
TransferLog /usr/local/apache/logs/local/access_log


#mkdir /usr/local/apache/logs/local
#mkdir /usr/local/apache/logs/b88k.com
虚拟主机配置完成



附:
apache虚拟主机部分配置有两种方案,先参考下面文章,看自己属于那一种
简介:这里说的虚拟主机是指在一台机器上仅运行一个httpd后台程序
支持多个Apache服务器,如在公司财务部门有一台web服务器,名为
account.yourdomain.com,同时又想为sales部门建立网站,网站内容也
放在该机器上,通过sales.yourdomain.com访问,这就要用到虚拟主机
设置。

设置Apache虚拟主机通常有两种方案

一、基于IP的虚拟主机

这种方式需要在机器上设置IP别名,象上面的例子,在一台机器的
网卡上绑定多个IP地址去服务多个虚拟主机。
若该机器的IP地址为192.168.11.2(account.yourdomain.com),首先
你要设置IP别名(假设用192.168.11.4作为其别名IP)。加下面的行到
/etc/rc.d/rc.local,确保每次启动后自动运行。

#/sbin/ifconfig eth0:0 192.168.11.4.netmask 255.255.255.0 broadcast \
192.168.11.255 up
#/sbin/route add -host 192.168.11.4 eth0:0

然后你需要设置/etd/httpd/conf/httpd.conf文件:


ServerAdmin webmaster@yourdomain.com
DocumentRoot /home/httpd/sales.yourdomain.com
ServerName sales.yourdomain.com
ErrorLog /var/log/httpd/sales.yourdomain.com/error_log
TransferLog /var/log/httpd/sales.yourdomain.com/access_log


然后分别创建目录
/home/httpd/sales.yourdomain.com,
/var/log/httpd/sales.yourdomain.com
,放相应的网站内容到目录/home/httpd/sales.yourdomain.com下即可,并确保
你内部的DNS指定sales.yourdomain.com的A记录到IP地址192.168.11.4 。

注:这种基于IP的虚拟主机有一个缺点,就是你需要更多的IP地址去服务各自的
虚拟主机,如果你仅仅有一个IP地址,那么你将可以考虑用基于名字的虚拟主机
方案。


二、基于名字的虚拟主机:
它的优势就是不需要更多的IP地址,容易配置,不需要其它软硬件,现代的
浏览器大多都支持这种方式。与基于IP的虚拟主机一样,你需要编辑文件
/etc/httpd/conf/httpd.conf

NameVirtualHost 192.168.11.2


ServerAdmin webmaster@yourdomain.com
DocumentRoot /home/httpd/sales.yourdomain.com
ServerName sales.yourdomain.com
ErrorLog /var/log/httpd/sales.yourdomain.com/error_log
TransferLog /var/log/httpd/sales.yourdomain.com/access_log



ServerAdmin webmaster@yourdomain.com
DocumentRoot /home/httpd/hr.yourdomain.com
ServerName hr.yourdomain.com
ErrorLog /var/log/httpd/hr.yourdomain.com/error_log
TransferLog /var/log/hr.yourdomain.com/access_log


注: 你需要加NameVirtualHost 指示在最前面,下面依次为各个虚拟主机,
为了让它工作,你需要把sales.yourdomain.com, hr.yourdomain.com的DNS
都指向IP地址192.168.11.2

上面的两种都将工作,如果是在外部网段,在互联网上提供WWW服务,你可能
没有足够的真实IP地址来支持多个虚拟主机,便可用基于名字的虚拟主机方案,
若是在内部网段上,你有较多的内部保留IP地址,将没有太大的区别。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网