信息来源: CU
在论坛里看了许多相关帖子,自己也实验了多次,终于在前几天测试成功,感谢cu里的前辈们为我们新人铺路,因为我实际工作中要用到这些,以前是兄弟公司的哥们帮我们配置。现在我也配置成功,和大家分享一下成果吧。一直从cu里吸取精华,希望我的文档能给一些新人有帮助。
说明:实现WEB服务器能运行html、php、jsp等格式文件
一、 所用软件及版本
1、 操作系统:RHELas4u3
2、 Apache:httpd-2.2.2.tar.gz
apr-util-1.2.7.tar.gz
apr-1.2.7.tar.gz
3、 Tomcat:apache-tomcat-5.5.15.tar.gz
4、 Mysql:mysql-5.0.22.tar.gz
5、 Jdk:jdk-1_5_0_07-linux-i586.bin
6、 Apache和Tomcat连接:tomcat-connectors-1.2.18-src.tar.gz
7、 Php:php-5.1.4.tar.gz
二、 安装步骤:
1、 安装操作系统:这里就不介绍了,主要将相关的开发包装上。我将所有开发包都安装了。
2、 Apache安装:将以上所需要的所有软件上传到/usr/local下。
先解压:
tarxvfzhttpd-2.2.2.tar.gz
cdhttpd-2.2.2
首先可以看看里面的安装说明INSTALL和README。
在安装apache之前先安装apr-util-1.2.7.tar.gz和apr-1.2.7.tar.gz
首先安装apr。
tarxvfzapr-1.2.7.tar.gz
cdapr-1.2.7
./configure--prefix=/usr/local/apr-httpd
make
makeinstall
cd..
再安装apr-util-1.2.7.tar.gz
tarxvfzapr-util-1.2.7.tar.gz
cdapr-util-1.2.7
./configure--prefix=/usr/local/apr-util-httpd--with-apr=/usr/local/apr-httpd
make
makeinstall
3、 接下来继续安装apache
cd../httpd-2.2.2
./configure--prefix=/usr/local/apache--enable-mods-shared=all--enable-module=most--with-apr=/usr/local/apr-httpd--with-apr-util=/usr/local/apr-util-httpd--enable-so
make
makeinstall
如果没有报错,apache基本安装完毕。
4、 安装JDK
回到local目录下:
cd..
./jdk-1_5_0_07-linux-i586.bin
ln–sjdk1.5.0_07jdk
设置JDK环境变量
vi/etc/profile
再文件尾部增加以下几句:
JAVA_HOME=/usr/local/jdk
JRE=$JAVA_HOME/jre
LC_ALL=zh_CN.GBK
PATH=$JAVA_HOME/bin:$JRE/bin:$PATH
CLASSPATH=.:$JAVA_HOME/bin/tools.jar:$JAVA_HOME/lib/dt.jar
exportJAVA_HOMEJRELC_ALLCLASSPATHPATH
5、 安装MYSQL
tarxvfzmysql-5.0.22.tar.gz
cdmysql-5.0.22
./configure--prefix=/usr/local/mysql/--with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock--with-client-ldflags=-all-static--with-mysqld-ldflags=-all-static--enable-assembler
make
makeinstall
groupaddmysql
useradd-gmysqlmysql
cpsupport-files/my-medium.cnf/etc/my.cnf
cd/usr/local/mysql
bin/mysql_install_db--user=mysql
chown-Rroot.
chown-Rmysqlvar
chgrp-Rmysql.
bin/mysqld_safe--user=mysql&
mysqladmin–urootpasswordnew-password
6、 安装php
tarxvfzphp-5.1.4.tar.gz
cdphp-5.1.4
./configure--prefix=/usr/local/php--with-mysql=/usr/local/mysql--with-apxs2=/usr/local/apache/bin/apxs
make&&makeinstall
cpphp.ini-dist/usr/local/lib/php.ini
7、 安装tomcat
tarxvfzapache-tomcat-5.5.15.tar.gz
mvapache-tomcat-5.5.15tomcat
8、 安装Apache和Tomcat连接
tarzxvftomcat-connectors-1.2.18-src.tar.gz
cdtomcat-connectors-1.2.18-src/native/
./configure--with-apxs=/usr/local/apache/bin/apxs
make&&makeinstall
三、 配置httpd.conf
cd/usr/local/conf/
vihttpd.conf
1、 注释掉一下几行
#ServerAdminyou@example.com
#ServerNamewww.example.com:80
#DocumentRoot"/usr/local/apache/htdocs"
2、 修改里面相关内容
A、
OptionsFollowSymLinks
#AllowOverrideNone
AllowOverrideall
Orderdeny,allow
#Denyfromall
Allowfromall
B、
#
#
#PossiblevaluesfortheOptionsdirectiveare"None","All",
#oranycombinationof:
#IndexesIncludesFollowSymLinksSymLinksifOwnerMatchExecCGIMultiViews
#
#Notethat"MultiViews"mustbenamed*explicitly*---"OptionsAll"
#doesn'tgiveittoyou.
#
#TheOptionsdirectiveisbothcomplicatedandimportant.Pleasesee
#http://httpd.apache.org/docs/2.2/mod/core.html#options
#formoreinformation.
#
#OptionsIndexesFollowSymLinks
#
#AllowOverridecontrolswhatdirectivesmaybeplacedin.htaccessfiles.
#Itcanbe"All","None",oranycombinationofthekeywords:
#OptionsFileInfoAuthConfigLimit
#
AllowOverrideNone
#
#Controlswhocangetstufffromthisserver.
#
Orderallow,deny
Allowfromall
因为我这里将网站放在/usr/local/tomcat/webapps下
C、将
#Includeconf/extra/httpd-vhosts.conf
这行#除掉
3、 增加以下内容:
A、在AddTypeapplication/x-gzip.gz.tgz下增加以下两行
AddTypeapplication/x-httpd-php.php.phtml
AddTypeapplication/x-httpd-php-source.phps
B、结尾增加
#addmod_jkmodule
LoadModulejk_modulemodules/mod_jk.so
#Updatethispathtomatchyourmoduleslocation
#Wheretofindworkers.properties
#Updatethispathtomatchyourconfdirectorylocation(putworkers.propertiesnextto#httpd.conf)
JkWorkersFile/usr/local/apache/conf/workers.properties
#Wheretoputjklogs
#Updatethispathtomatchyourlogsdirectorylocation(putmod_jk.lognexttoaccess_log)
JkLogFile/usr/local/apache/logs/mod_jk.log
#Setthejkloglevel[debug/error/info]
JkLogLevelinfo
#Selectthelogformat
JkLogStampFormat"[%a%b%d%H:%M:%S%Y]"
#JkOptionsindicatetosendSSLKEYSIZE,
JkOptions+ForwardKeySize+ForwardURICompat-ForwardDirectories
#JkRequestLogFormatsettherequestformat
JkRequestLogFormat"%w%V%T"
#Sendeverythingforcontext/examplestoworkernamedworker1(ajp13)
JkMount/*.jspworker1
C、在/usr/local/apache/conf下增加一个workers.properties文件,内容如下:
#Define1realworkerusingajp13
worker.list=worker1
#Setpropertiesforworker1(ajp13)
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
worker.worker1.lbfactor=50
worker.worker1.cachesize=10
worker.worker1.cache_timeout=600
worker.worker1.socket_keepalive=1
worker.worker1.reclycle_timeout=300
D、再编辑/usr/local/apache/conf/extra/下httpd-vhosts.conf文件
vihttpd-vhosts.conf
将里面例子修改一下
DirectoryIndexindex.htmindex.htmlindex.jspindex.php
ServerAdminxxx@126.com
DocumentRoot/usr/local/tomcat/webapps/ROOT
ServerName192.168.0.170
ErrorLoglogs/170-error_log
CustomLoglogs/170-access_logcommon
因为没有做域名解析,我这里在ServerName下直接用的是IP地址。
四、 测试
先启动tomcat,再启动apache。启动apache之前可以到apache/bin下测试一下虚拟域是否配置正确。./httpd–S如果配置有错误会提示你。
没有问题后,在IE地址栏输入http://192.168.0.170此时将显示的是tomcat的默认界面,证明可以正常访问jsp文件了。再将/usr/local/tomcat/webapps/ROOT下index.jsp换一个index.php文件,只要在index.php里输入以下内容即可测试:
重启apache,再在IE地址栏输入http://192.168.0.170将能看到php的相关信息。
主要参考文章有:
http://www.chinaunix.net/jh/13/669895.html
http://www.chinaunix.net/jh/13/770898.html
http://httpd.apache.org/docs/2.2/