Chinaunix

标题: [配置]RedHatAS4下Apache2+MySQL+Php+Tomcat整合及虚拟主机配置 [打印本页]

作者: Bruce_yang    时间: 2006-06-09 16:06
标题: [配置]RedHatAS4下Apache2+MySQL+Php+Tomcat整合及虚拟主机配置
作者:杨文军
一、本文所用到的软件:
Sun的JDK:j2sdk-1_4_2_09-linux-i586.bin
Apache2.0.54:httpd-2.0.54.tar.gz
MySQL:mysql-standard-4.1.14-pc-linux-gnu-i686.tar.gz
Php:php-4.4.2.tar.gz
Tomcat:jakarta-tomcat-5.0.28.tar.gz
jakarta-tomcat-connectors-jk2:jakarta-tomcat-connectors-jk2-2.0.4-src.tar.gz
本文中所有软件安装在/home/www目录中。
注:文中红色字体为输入的命令行。

二、软件安装
1、首先安装Sun的JDK

[root@yangwenjun www]# ./j2sdk-1_4_2_09-linux-i586.bin

安装后会生成文件夹j2sdk1.4.2_09,将文件夹j2sdk1.4.2_09移动(或复制)到你想要存放的JDK的位置,本文中是放在/home/www/j2sdk1.4.2_09
接下来编辑/etc/profile文件加入JDK环境变量,在文件末尾处加入以下内容:

[root@yangwenjun www]# vi /etc/profile

export JAVA_HOME=/home/www/j2sdk1.4.2_09
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
:$JAVA_HOME/lib/mysql-connector-java-3.2.0.jar:$JAVA_HOME/lib/classes12.jar
export PATH=$PATH:$JAVA_HOME/bin
export JRE_HOME=$JAVA_HOME/jre

[root@yangwenjun etc]# source profile
[root@yangwenjun etc]# set

在这里你可以看见所有的环境变量。
[root@yangwenjun etc]# java –version
如果JDK配置正确的话,运行上面的命令将会出现JDK的相应版本。

2、安装MySQL

[root@yangwenjun www]# tar xzfv mysql-standard-4.1.14-pc-linux-gnu-i686.tar.gz
[root@yangwenjun www]# cd mysql-standard-4.1.14-pc-linux-gnu-i686
[root@yangwenjun mysql-standard-4.1.14-pc-linux-gnu-i686]# more INSTALL-BINARY

认真的阅读一下这个文档,就会发现MySQL很容易安装

[root@yangwenjun mysql-standard-4.1.14-pc-linux-gnu-i686]# groupadd mysql
[root@yangwenjun mysql-standard-4.1.14-pc-linux-gnu-i686]# useradd -g mysql mysql
[root@yangwenjun www]# mv mysql-standard-4.1.14-pc-linux-gnu-i686 /home/www/mysql     
[root@yangwenjun www]# cd /home/www/mysql
[root@yangwenjun mysql]# scripts/mysql_install_db --user=mysql
[root@yangwenjun mysql]# chown -R root .
[root@yangwenjun mysql]# chown -R mysql data
[root@yangwenjun mysql]# chgrp -R mysql .
[root@yangwenjun mysql]# bin/mysqld_safe --user=mysql &

这样MySQL就已经启动了,下面为root用户设置密码:

[root@yangwenjun mysql]# ./bin/mysqladmin -u root password ‘password’
[root@yangwenjun mysql]# ./bin/mysqladmin -u root -h localhost.localdomain password 'pass'
[root@yangwenjun mysql]# ./bin/mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5 to server version: 4.1.14-standard

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

[root@yangwenjun mysql]# cp support-files/mysql.server /etc/init.d/mysql
[root@yangwenjun mysql]# vi /etc/init.d/mysql
修改如下定义使其内容为:
basedir=/home/www/mysql
datadir=/home/www/mysql/data
[root@yangwenjun mysql]# chkconfig --level 345 mysql on
[root@yangwenjun mysql]# service mysql restart
Shutting down MySQL...                                     [  OK  ]
Starting MySQL                                                  [  OK  ]
[root@yangwenjun mysql]#

到这里MySQL就装好了。


3、安装Apache
[root@yangwenjun httpd-2.0.54]# cd /home/bruce/software/www/httpd-2.0.54
[root@yangwenjun httpd-2.0.54]# ./configure --prefix=/home/www/apache --enable-module=most --enable-shared=max --enable-so
[root@yangwenjun httpd-2.0.54]# make
[root@yangwenjun httpd-2.0.54]# make install

创建一个httpd启动脚本,内容如下:
[root@yangwenjun init.d]# vi httpd
#!/bin/bash
# Startup script for the Apache Web Server
# 包含函数库
. /etc/rc.d/init.d/functions
# 获取网络配置
. /etc/sysconfig/network
# 检测 NETWORKING 是否为 "yes"
[ "${NETWORKING}" = "no" ] && exit 0
# apache安装目录
APACHE=/home/www/apache
# 启动服务函数
start() {
echo $"Starting httpd service: "
$APACHE/bin/apachectl start
RETVAL=$?
echo
}
# 关闭服务函数
stop() {
echo $"Stopping httpd service: "
$APACHE/bin/apachectl stop
RETVAL=$?
echo
}
# 根据参数选择调用
case "$1" in
  start)
start
;;
  stop)
stop
;;
  restart)
stop
start
;;
  *)
echo $"Usage: $0 start|stop|restart"
exit 1
esac
exit 0
保存退出vi
[root@yangwenjun init.d]# chmod 755 httpd
[root@yangwenjun init.d]# chkconfig --level 345 httpd on
[root@yangwenjun conf]# vi httpd.conf
修改默认启动页
DirectoryIndex index.html index.htm default.htm default.html index.php index.php3 index.jsp
[root@yangwenjun init.d]# service httpd restart
Apache安装完毕!
4、安装Php
[root@yangwenjun www]# tar zxvf php-4.4.2.tar.gz
[root@yangwenjun www]# cd php-4.4.2
[root@yangwenjun php-4.4.2]# ./configure --prefix=/home/www/php --with-mysql=/home/www/mysql --with-apxs2=/home/www/apache/bin/apxs
[root@yangwenjun php-4.4.2]# make
[root@yangwenjun php-4.4.2]# make install
[root@yangwenjun php-4.4.2]# cp php.ini-dist /usr/local/lib/php.ini
[root@yangwenjun php-4.4.2]# cd /home/www/apache/conf
[root@yangwenjun conf]# vi httpd.conf
#系统自动添加了这一行,如果没有则自己加入这一行。
LoadModule php4_module modules/libphp4.so
在AddType application/x-tar .tgz
下加一行
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
编写文件index.php 写入下一行
<? echo phpinfo() ?>
通过浏览器我们看到了我们的测试结果。至此,PHP装好了。

5、安装Tomcat及jakarta-tomcat-connectors-jk2
本文安装的版本是:jakarta-tomcat-5.0.28
[root@yangwenjun www]# tar xzfv jakarta-tomcat-5.0.28.tar.gz
[root@yangwenjun www]# cp -rf jakarta-tomcat-5.0.28 /home/www/tomcat
[root@yangwenjun www]# cd /home/www/tomcat
现在来测试一下tomcat是否安装成功
启动tomcat服务:
[root@yangwenjun tomcat]# ./bin/startup.sh
访问http://ip:8080/看能否看到tomcat的默认页面,如能看到说明tomcat已经在服务了.
停止tomcat服务:
[root@yangwenjun tomcat]# ./bin/shutdown.sh

开始安装jakarta-tomcat-connectors-jk2
[root@yangwenjun www]# tar xzfv jakarta-tomcat-connectors-jk2-2.0.4-src.tar.gz
[root@yangwenjun www]# cd jakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2/
[root@yangwenjun native2]# ./configure --with-apxs2=/home/www/apache/bin/apxs
[root@yangwenjun native2]# make
[root@yangwenjun native2]# cd ../build/jk2/apache2/
[root@yangwenjun apache2]# /home/www/apache/bin/apxs -n jk2 -i mod_jk2.so
上条命令是将mod_jk2.so添加到apache2的modules中.
上面就完成了Tomcat和Connectors的安装.接下来进行与Apache的整合.
6、Tomcat与Apache的整合
[root@yangwenjun apache2]# cd /home/www/apache/conf/
[root@yangwenjun conf]# vi httpd.conf
编辑配置文件在其中加入这个模块,保存退出
LoadModule jk2_module modules/mod_jk2.so
然后在这个目录新建一文件workers2.properties
[root@yangwenjun conf]# vi workers2.properties
文件内容如下:
[root@yangwenjun conf]# more workers2.properties
  [channel.socket:202.114.33.249:8009]
  port=8009
  host=202.114.33.249
  [ajp13:202.114.33.249:8009]
  channel=channel.socket:202.114.33.249:8009
  [uri:/*]
  worker=ajp13:202.114.33.249:8009
  [uri:/examples/*]
  worker=ajp13:202.114.33.249:8009

当然以上内容中的202.114.33.249也可改成localhost
接下来进入tomcat下的conf目录:
[root@yangwenjun conf]# cd /home/www/tomcat/conf/
修改server.xml文件
[root@yangwenjun conf]# vi server.xml
找到其中的<Host>中的<Contest>项,我修改后的相关参数如下:
<Context path="" docBase="/home/www/apache/htdocs" debug="0"
        reloadable="true" crossContext="true"/>
编辑后保存退出.
重启Apache和Tomcat后可以查看整合后的效果.如下图所示:
[root@yangwenjun conf]# /home/www/tomcat/bin/startup.sh
[root@yangwenjun conf]# service httpd restart


三、架设整合后的虚拟主机
    [root@yangwenjun conf]# vi /home/www/apache/conf/httpd.conf
在httpd.conf文档末尾虚拟主机设置处加入以下内容:
NameVirtualHost *:80
<VirtualHost *:80>
    Documentroot /home/www/apache/htdocs
</VirtualHost>
<VirtualHost *:80>
    DocumentRoot /home/bruce/test1
    ServerName test1.yangwenjun.com
</VirtualHost>
<VirtualHost *:80>
        DocumentRoot /home/bruce/test2
    ServerName test2.yangwenjun.com
</VirtualHost>

    [root@yangwenjun conf]# vi /home/www/tomcat/conf/server.xml
在server.xml文档的<Engine>......</Engine>中间添加两段<Host>......</Host>
内容如下:
      <Host name="test1.yangwenjun.com" debug="0" appBase="webapps"
       unpackWARs="true" autoDeploy="true"
       xmlValidation="false" xmlNamespaceAware="false">
        <Context path="" docBase="/home/bruce/test1" debug="0"
        reloadable="true" crossContext="true"/>
        <Logger className="org.apache.catalina.logger.FileLogger"
                 directory="logs"  prefix="localhost_log." suffix=".txt"
            timestamp="true"/>
      </Host>

      <Host name="test2.yangwenjun.com" debug="0" appBase="webapps"
       unpackWARs="true" autoDeploy="true"
       xmlValidation="false" xmlNamespaceAware="false">
        <Context path="" docBase="/home/bruce/test2" debug="0"
        reloadable="true" crossContext="true"/>
        <Logger className="org.apache.catalina.logger.FileLogger"
                 directory="logs"  prefix="localhost_log." suffix=".txt"
            timestamp="true"/>
      </Host>

重启Apache和Tomcat后可以查看架设的虚拟主机的效果.如下图:
[root@yangwenjun conf]# /home/www/tomcat/bin/startup.sh
[root@yangwenjun conf]# service httpd restart




本文PDF文档下载

----------全  文  完----------

[ 本帖最后由 Bruce_yang 于 2006-6-9 16:28 编辑 ]
作者: Bruce_yang    时间: 2006-06-09 16:09
写的够详细吧.应该可以上精华吧.
作者: HonestQiao    时间: 2006-06-09 18:07
希望楼主继续努力
作者: xxjoyjn    时间: 2006-06-09 20:26
支持,LZ辛苦了。
作者: shaying110    时间: 2006-06-11 11:39
多谢楼主,互联网时代,开源共享
作者: cefiro999    时间: 2006-06-12 15:18
精华!!!
作者: jordan123123    时间: 2006-06-12 17:01
hao hao
作者: 半粒沙    时间: 2006-07-15 23:18
辛苦了
作者: zqlogin    时间: 2006-07-19 17:57
好好看看.
作者: Baroms    时间: 2006-07-20 10:25
不知楼主有没有试过PHP能不能用
我装好后PHP不能用
谁知道是怎么回事
回帖说明以下
谢谢!!!
作者: Baroms    时间: 2006-07-20 15:05
楼主的workers2.properties文件有错误
[root@localhost conf]# vi workers2.properties
文件内容如下:
[root@localhost conf]# more workers2.properties
  [channel.socket:localhost:8009]
  port=8009
  host=localhost
  [ajp13:localhost:8009]
  channel=channel.socket:localhost:8009
  [uri:/*.jsp]
  worker=ajp13:localhost:8009
  [uri:/examples/*.jsp]
  worker=ajp13:localhost:8009
是上面的内容才对
[uri:/*.jsp]  [uri:/examples/*.jsp]后面加.jsp
作者: Linux@初学者    时间: 2006-07-20 17:00
我按上面的配置后访问主页时提示:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, you@example.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.


--------------------------------------------------------------------------------

Apache/2.0.58 (Unix) PHP/5.1.4 mod_jk2/2.0.4 Server at 192.169.0.67 Port 80

APACHE的error.log:
[Thu Jul 20 17:27:39 2006] [error] ajp13.init(): No channel 192.169.0.67:8009
[Thu Jul 20 17:28:05 2006] [error] mod_jk2.handler() Error connecting to tomcat 120000, status 0
[Thu Jul 20 17:28:10 2006] [error] mod_jk2.handler() Error connecting to tomcat 120000, status 0
[Thu Jul 20 17:28:35 2006] [error] mod_jk2.handler() Error connecting to tomcat 120000, status 0

这是为啥?
作者: Baroms    时间: 2006-07-20 17:01
我按照上面的改好后servlet/?*不能用了

有没有在行的给看下啊!!
谢谢!!!
作者: kozziwoo    时间: 2006-09-16 16:35
标题: 在安装jakarta-tomcat-connectors-jk2时有错!
...
开始安装jakarta-tomcat-connectors-jk2
[root@yangwenjun www]# tar xzfv jakarta-tomcat-connectors-jk2-2.0.4-src.tar.gz
[root@yangwenjun www]# cd jakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2/
[root@yangwenjun native2]# ./configure --with-apxs2=/home/www/apache/bin/apxs
[root@yangwenjun native2]# make
...

make: *** No targets specified and no makefile found.  Stop.

why?
作者: wanfei    时间: 2006-09-22 16:30
LoadModule php4_module modules/libphp4.so
当我在FedoraCore4(简体中文)安装完Apache,在安装完php4后,重启apache,发现apache系统不能装载上面的module,试了很多次都不行。郁闷
作者: fuminglei8    时间: 2006-09-23 10:47
有没有连ORACLE的文档.我这里使用的是Oracle 10g,用上述方法配置了(把Mysql换成了oracle),但不能连上.请帮助一下
作者: chenlie39    时间: 2006-10-08 13:45
我准备也写个solaris10下面apache +tomcat的, 没想到高人已在高处。

赶快把虚拟整合也抄下来哦。
作者: gb8007    时间: 2006-11-24 17:09
把它顶起,我配置过程中出现新的问题,还请指教一二。。。。。。
os: rh4
tomcat:jakarta-tomcat-5.0.28.tar.gz
appache:httpd-2.0.54  
Jdk:j2sdk-1_4_2_09-linux-i586.bin
jakarta-tomcat-connectors-jk2-2.0.4-src.tar.gz
apr-1.2.7.tar.gz
apr-util-1.2.7.tar.gz
libtool-1.5.22.tar.gz

这些软件的安装并没什么问题,但我安装至 jakarta-tomcat-connectors-jk2-2.0.4-src.tar.gz的时候,
却出现了如下问题,请问怎么解决
[root@webserver webserver]# cd jakarta-tomcat-connectors-jk2-2.0.4-src
[root@webserver jakarta-tomcat-connectors-jk2-2.0.4-src]# ls
build.properties.default  build.xml  common  doc  jk  KEYS  lib  LICENSE  NOTICE  README.txt  RELEASE-NOTES.txt  scandoc  xxx
[root@webserver jakarta-tomcat-connectors-jk2-2.0.4-src]# cd jk/native2/
[root@webserver native2]# ./configure --with-apxs2=/home/www/apache/bin/apxs
.......
config.status: creating scripts/build/unix/dummy
config.status: executing depfiles commands
[root@webserver native2]# make
.......
make[1]: *** [../../../build/jk2/apache2/mod_jk2.so] Error 1
make[1]: Leaving directory `/home/webserver/jakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2/server/apache2'
make: *** [jk2-build] Error 1
[root@webserver native2]#
作者: gb8007    时间: 2006-11-24 17:15
make[1]: *** [../../../build/jk2/apache2/mod_jk2.so] Error 1
查了一些,我的问题可能是要将..../jakarta-tomcat-connectors-jk2-2.0.4-src/jk/build/jk2/apache2/下的mod_jk2.so cp 到...../apache/modules 下(apache目录为我自己建的安装apache的目录),然而.../jakarta-tomcat-connectors-jk2-2.0.4-src/jk/build/jk2/apache2/下 并没有mod_jk2.so文件,请指教。
作者: gb8007    时间: 2006-11-24 18:46
顶一下自己
作者: wing-qiang    时间: 2006-11-27 12:21
很有帮助,支持!
作者: chenjie34    时间: 2007-01-18 11:07
多谢楼主,互联网时代,开源共享
作者: mcumsigscr    时间: 2007-01-18 15:34
感谢楼主.顶.
作者: xxd1019    时间: 2007-01-27 14:11
楼主我基本就是看你的做的。为什么到了最后看JSP显示不出来。要显示出来必须的带8080端口啊 Sample TextSample TextSample Text
作者: ykstar1981    时间: 2007-01-27 21:04
我弄了3边了 !!总是不行!!好象在最后设置方面还有点问题!
作者: cssweb234    时间: 2007-12-14 17:03
好东西,支持,收藏了。
作者: hyp198156    时间: 2007-12-17 12:37
好文章谢了
作者: pollyworks    时间: 2008-11-29 18:05
php确实不能跑,不知道哪个环节出问题了
作者: jacky_hui    时间: 2008-12-07 13:00
PHP不要交给Tomcat,用apache来处理就行了.
作者: lgxwqq    时间: 2010-10-11 10:37
我的也有问题,可能不同系统还不太一样吧
作者: 勇为天下先    时间: 2010-11-20 14:57
很好!不知有没有RedHatAS5下Apache2+ORACLE+Php+Tomcat整合及虚拟主机配置
作者: weizy82    时间: 2010-11-24 13:55
中国人自已的免费web服务器软件kangle
Kangle是由我们自主研发的一款专业的免费web服务器。ASP ASP.NET PHP同时支持,实现独立进程、独立身份运行。用户之间安全隔离,一个用户出问题不会影响其它用户。支持asp、asp.net、jsp、php、perl、ruby、python等多种开发语言的新一代功能强大的虚拟web服务器。
官方网址:http://www.kanglesoft.com  QQ群:104434948
作者: metalid    时间: 2010-11-25 14:12
楼主 请问安装jakarta-tomcat-connectors-jk2
有什么作用呢?

我没装这个 直接装了JDK 和 TOMCAT6都可以用




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2