apache+php+tomcat配置攻略

       手头的项目快完了,前一段为了将网站和系统配置到一起,花了不少功夫,也查了N多资料。最后终于成功了,现在最好记下来,否则将来又不会了。

       需要安装和配置的软件有:apache2.2,php5.2,tomcat5.5,mysql5,jdk5等,系统环境为red hat fedora4。

       安装jdk和mysql和tomcat都比较简单,按照软件自带的说明安装即可,这里就不啰唆了,但是要注意的一点是,为了使php能够连上mysql,最好使用mysql的max版。我就是开始使用的是standard版,所以始终有问题,但是重新下了个max版就正常了。不知道是mysql的问题还是php的问题。希望有知道的可以解答一下。

1.安装apache2.2

(1)解压缩tar包,到任意目录

(2)执行下面的命令

#./configure --prefix=/usr/local/apache2 --enable-modules=so

# make

# make install

首先进行配置,注意后面的--enable-modules=so 选项,必须要有,否则将不能加载php和connector的库,然后是编译和安装。

执行完之后会在/user/local/下生成一个目录apache2,即安装成功。可以到apache2/bin目录下执行./apachectl start来启动apache。并在浏览器中输入http://localhost,就会出现静态页面的信息,说明apache已经配置成功了。

2.安装php5.2

(1)首先要安装zlib。否则配置php的时候会出错,和安装apache的方法一样,只是不需要附加的参数。

(2)解压缩php5.2的tar包,并进入,执行下面的命令(由于较长,建议新建一个脚本文件来执行)

./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/apache2/bin/apxs --with-zlib-dir=/usr/local/lib --with-mysql=/usr/local/mysql

如果成功了会有提示信息,否则会有错误信息,应该很好区分,然后又是make和make install。会在usr/local/下建立php5的目录。

(3)现在将php5/libs目录下的libphp5.so拷贝到apache2/modules/目录下。注意如果系统是红帽的fedora则需要执行下面的命令,否则启动apache的时候会出错。

 chcon -t /usr/local/apache2/modules/libphp5.so

(4)配置 httpd.conf 让apache支持PHP
# vi /usr/local/apache/conf/httpd.conf
找到 AddType application/x-gzip .gz .tgz 在其下添加如下内容
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

另外找到LoadModule部分,增加下面一行让apache可以找到php的库

LoadModule php5_module  modules/libphp5.so

(4)重新启动apache,应该就可以解释php文件了,可以在htdocs目录下新建一个test.php文件检验一下,内容如下:

<!---->

如果在浏览器中输入http://localhost/test.php,应该可以看到php的系统信息了。

3.安装tomcat connector连接apache和tomcat.

(1)安装tomcat connector

解压缩tomcat-connector的压缩文件,生成文件夹,进入该文件夹,执行下面的命令,安装tomcat-connector

# configure

# make

# make install

将生成的mod_jk.so复制到/usr/local/apache2/modules路径下。

(2)配置apache2

在apache/conf路径下建立一个文件workers.properties,填写下面的内容:
# Define 1 real worker using ajp13
worker.list=worker1
# set properties for worker1(ajp13)
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009

保存退出。

打开httpd.conf文件,在最后添加下面的内容:
# Load mod_jk module
# Update this path to match your modules location
LoadModule    jk_module  modules/mod_jk.so
# Declare the module for <ifmodule directive=""></ifmodule>(remove this line on Apache 2.x)
# AddModule     mod_jk.c
# Where to find workers.properties
# Update this path to match your conf directory location (put workers.properties next to httpd.conf)
JkWorkersFile conf/workers.properties
# Where to put jk shared memory
# Update this path to match your local state directory or logs directory
JkShmFile     logs/mod_jk.shm
# Where to put jk logs
# Update this path to match your logs directory location (put mod_jk.log next to access_log)
JkLogFile     logs/mod_jk.log
# Set the jk log level [debug/error/info]
JkLogLevel    info
# Select the timestamp log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
# Send everything for context /examples to worker named worker1 (ajp13)
JkMount  /BulletinWeb/* worker1
JkMount  /tmpfiles/* worker1
JkMount  /uploadfiles/* worker1

最后的三行是告诉apache哪些目录由tomcat来处理,你需要根据自己的情况做相应的修改。

这样再次重新启动apache2和tomcat5,二者已经可以在一起合作工作了。

 

 

你可能感兴趣的:(apache,tomcat,mysql,PHP,浏览器)