所需软件列表
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/aclearcase/" target="_blank" >ccess_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地址,将没有太大的区别。