在论坛里看了许多相关帖子,自己也实验了多次,终于在前几天测试成功,感谢cu里的前辈们为我们新人铺路,因为我实际工作中要用到这些,以前是兄弟公司的哥们帮我们配置。现在我也配置成功,和大家分享一下成果吧。一直从cu里吸取精华,希望我的文档能给一些新人有帮助。
说明:实现WEB服务器能运行html、php、jsp等格式文件
一、 所用软件及版本
1、 操作系统:RHEL as4u3
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下。
先解压:tar xvfz httpd-2.2.2.tar.gz
cd httpd-2.2.2
首先可以看看里面的安装说明INSTALL和README。
在安装apache之前先安装apr-util-1.2.7.tar.gz和apr-1.2.7.tar.gz
首先安装apr。
tar xvfz apr-1.2.7.tar.gz
cd apr-1.2.7
./configure --prefix=/usr/local/apr-httpd
make
make install
cd ..
再安装apr-util-1.2.7.tar.gz
tar xvfz apr-util-1.2.7.tar.gz
cd apr-util-1.2.7
./configure --prefix=/usr/local/apr-util-httpd --with-apr=/usr/local/apr-httpd
make
make install
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
make install
如果没有报错,apache基本安装完毕。
4、 安装JDK
回到local目录下:
cd ..
./jdk-1_5_0_07-linux-i586.bin
ln –s jdk1.5.0_07 jdk
设置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
export JAVA_HOME JRE LC_ALL CLASSPATH PATH
5、 安装MYSQL
tar xvfz mysql-5.0.22.tar.gz
cd mysql-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
make install
groupadd mysql
useradd -g mysql mysql
cp support-files/my-medium.cnf /etc/my.cnf
cd /usr/local/mysql
bin/mysql_install_db --user=mysql
chown -R root .
chown -R mysql var
chgrp -R mysql .
bin/mysqld_safe --user=mysql &
bin/mysqladmin -uroot password new-password
6、 安装php
tar xvfz php-5.1.4.tar.gz
cd php-5.1.4
./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache/bin/apxs
make && make install
cp php.ini-dist /usr/local/lib/php.ini
7、 安装tomcat
tar xvfz apache-tomcat-5.5.15.tar.gz
mv apache-tomcat-5.5.15 tomcat
8、 安装Apache和Tomcat连接
tar zxvf tomcat-connectors-1.2.18-src.tar.gz
cd tomcat-connectors-1.2.18-src/ native/
./configure --with-apxs=/usr/local/apache/bin/apxs
make && make install
三、 配置httpd.conf
cd /usr/local/conf/
vi httpd.conf
1、 注释掉一下几行
#ServerAdmin you@example.com
#ServerName www.example.com:80
#DocumentRoot "/usr/local/apache/htdocs"
2、 修改里面相关内容
A、<Directory />
Options FollowSymLinks
# AllowOverride None
AllowOverride all
Order deny,allow
# Deny from all
Allow from all
</Directory>
B、#<Directory "/usr/local/apache/htdocs">
<Directory "/usr/local/tomcat/webapps">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs/2.2/mod/core.html#options
# for more information.
#
# Options Indexes FollowSymLinks
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride None
#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all
</Directory>
因为我这里将网站放在/usr/local/tomcat/webapps下
C、将#Include conf/extra/httpd-vhosts.conf 这行#除掉
3、 增加以下内容:
A、在AddType application/x-gzip .gz .tgz下增加以下两行
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
B、结尾增加
#add mod_jk module
LoadModule jk_module modules/mod_jk.so
# Update this path to match your modules location
# Where to find workers.properties
# Update this path to match your conf directory location (put workers.properties next to #httpd.conf)
JkWorkersFile /usr/local/apache/conf/workers.properties
# Where to put jk logs
# Update this path to match your logs directory location (put mod_jk.log next to access_log)
JkLogFile /usr/local/apache/logs/mod_jk.log
# Set the jk log level [debug/error/info]
JkLogLevel info
# Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
# JkOptions indicate to send SSL KEY SIZE,
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
# JkRequestLogFormat set the request format
JkRequestLogFormat "%w %V %T"
# Send everything for context /examples to worker named worker1 (ajp13)
JkMount /*.jsp worker1
C、在/usr/local/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
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文件
vi httpd-vhosts.conf
将里面例子修改一下
<VirtualHost 192.168.0.170:80>
<Directory "/usr/local/tomcat/webapps/ROOT" >
DirectoryIndex index.htm index.html index.jsp index.php
</Directory>
ServerAdmin xxx@126.com
DocumentRoot /usr/local/tomcat/webapps/ROOT
ServerName 192.168.0.170
ErrorLog logs/170-error_log
CustomLog logs/170-access_log common
</VirtualHost>
因为没有做域名解析,我这里在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里输入以下内容即可测试:
<? echo phpinfo() ?> 重启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/
[ 本帖最后由 vepeta 于 2006-10-19 16:17 编辑 ]
柳拂风 回复于:2006-08-24 13:56:41
apache2.2以上的版本,
可以直接连tomcat,
没必要装tomcat-connectors。
柳拂风 回复于:2006-08-24 14:01:14
jdk环境变量写到profile文件就变成全局变量了,
如果要用到多个不同的jdk就不好办了,
可以直接写到 tomcat 的 startup.sh 文件里面的。
vepeta 回复于:2006-08-25 13:49:52
谢谢柳拂风兄的指教。
oragri 回复于:2006-09-24 18:41:27
好东东,先收藏!谢!!
beyondfly 回复于:2006-09-25 21:42:18
好东西
vacant 回复于:2006-10-05 18:46:51
如果不装tomcat-connectors如何设置才能整合???在windows下能实现吗?
[ 本帖最后由 vacant 于 2006-10-5 18:49 编辑 ]
lxdme 回复于:2006-10-19 16:22:29
引用:原帖由 柳拂风 于 2006-8-24 13:56 发表
apache2.2以上的版本,
可以直接连tomcat,
没必要装tomcat-connectors。
楼上的兄弟,如果不装tomcat-connectors如何整合apache和tomcat,新版apache文档有说明吗?谢谢了:)
------------------------------------------------------
system:Linux CentOS4U4 2.6.9-42.EL
apache:httpd-2.2.3
tomcat:tomcat-5.5.20
zxxz79 回复于:2006-10-20 11:55:16
是啊,不用tomcat-connectors如何整合?另外如何整合配置虚拟主机呢?
网络闲人 回复于:2006-10-23 09:56:38
收下
zhubowen_636 回复于:2006-10-24 11:14:43
真是 好用的东西阿. 对于我真的帮助很大阿 我也是通过别人介绍知道这个网站的. 希望以后能共同进步.把LINUX学好阿
e-ghost 回复于:2007-01-22 10:15:08
引用:原帖由 柳拂风 于 2006-8-24 13:56 发表
apache2.2以上的版本,
可以直接连tomcat,
没必要装tomcat-connectors。
你好 柳拂风 兄, 能指教一下怎样不用 tomcat-connectors 而直接 apache 2.2 连 tomcat 吗? 谢! :em02:
mcumsigscr 回复于:2007-01-22 16:26:55
真是好东西啊.顶。
m2eric 回复于:2007-01-24 19:43:54
在安装apache之前先安装apr-util-1.2.7.tar.gz和apr-1.2.7.tar.gz
首先安装apr。
tar xvfz apr-1.2.7.tar.gz
cd apr-1.2.7
./configure --prefix=/usr/local/apr-httpd
make
make install
cd ..
再安装apr-util-1.2.7.tar.gz
tar xvfz apr-util-1.2.7.tar.gz
cd apr-util-1.2.7
./configure --prefix=/usr/local/apr-util-httpd --with-apr=/usr/local/apr-httpd
make
make install
如果之前没有安装过arp和apr-util这两个组件的话可以跳过这一步,请楼主看清楚安装文档,确认下.
当然,按楼主的方法安装也不会出错,只是麻烦.
回到local目录下:
cd ..
./jdk-1_5_0_07-linux-i586.bin
ln –s jdk1.5.0_07 jdk
这一步也说的不清楚.不如写成#mv jdk1.5.0_07 /usr/local/jdk
其它的不看了...好长.
wangbin 回复于:2007-02-04 22:30:17
学习!!!!!
fanxiangshuai 回复于:2007-03-13 19:53:42
我是一个初学者,谢谢楼主
flash520 回复于:2007-03-15 16:19:17
引用:原帖由 e-ghost 于 2007-1-22 10:15 发表
你好 柳拂风 兄, 能指教一下怎样不用 tomcat-connectors 而直接 apache 2.2 连 tomcat 吗? 谢! :em02:
正确,而且性能比tomcat还要好些
我是郭欣 回复于:2007-03-23 16:42:28
配置完成之后测试httpd,出现如下信息:
[root@localhost local]# /usr/local/apache/bin/httpd -S
VirtualHost configuration:
192.168.205.242:80 is a NameVirtualHost
default server 192.168.205.242 (/usr/local/apache/conf/extra/httpd-vhosts.conf:27)
port 80 namevhost 192.168.205.242 (/usr/local/apache/conf/extra/httpd-vhosts.conf:27)
Syntax OK
请求帮忙
aklus 回复于:2007-03-24 14:34:30
问题同楼上的
[ 本帖最后由 aklus 于 2007-3-24 14:37 编辑 ]
aklus 回复于:2007-03-24 14:36:06
这是 httpd-vhosts.conf
引用:
#
NameVirtualHost 192.168.10.240:80
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
<VirtualHost 192.168.10.240:80>
<Directory "/usr/local/tomcat/webapps/Root">
DirectoryIndex index.htm index.html index.jsp
</Directory>
ServerAdmin [email]tzk@itfm.com[/email]
DocumentRoot /usr/local/tomcat/webapps/ROOT
ServerName localhost:80
ErrorLog logs/ITFM-error_log
CustomLog logs/ITFM-access_log common
</VirtualHost>
kayjess 回复于:2007-03-26 08:53:59
感觉大家把个人的经验分享!本人正在努力学习LINUX,真是难啊~~~有大家的经验,相信我们会成功的.
DirectoryIndex index.htm index.html index.jsp index.php
请问这句应该写在全局环境下,虚拟主机就不用每次配置了.
[ 本帖最后由 kayjess 于 2007-3-26 09:19 编辑 ]
coolccds 回复于:2007-04-16 11:15:31
引用:原帖由 vepeta 于 2006-8-24 10:15 发表
在论坛里看了许多相关帖子,自己也实验了多次,终于在前几天测试成功,感谢cu里的前辈们为我们新人铺路,因为我实际工作中要用到这些,以前是兄弟公司的哥们帮我们配置。现在我也配置成功,和大家分享一下成果吧。 ...
哈哈,mark一个
jaryer 回复于:2007-04-18 09:48:21
引用:
apr-util-1.2.7.tar.gz
apr-1.2.7.tar.gz
这两个不一定非得安装吧?
|