所需軟件列表
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地址,將沒有太大的區別。
原文轉自:http://www.anti-gravitydesign.com